
MachineLearning
石中路
做一个独立自由的人
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
kNN python实现
kNN.py: # coding:utf-8 import numpy as np from math import sqrt from collections import Counter from metrics import accuracy_score class kNNClassifier: def __init__(self, k): '''初始化KNN分...原创 2019-04-03 21:41:44 · 476 阅读 · 0 评论 -
简单线性回归 Python实现
简单线性回归中,数据只有一个特征。 import numpy as np class SimpleLinearRegression: def __init__(self): '''初始化模型''' self.a_ = None self.b_ = None def fit(self,x_train,y_train): '''根据训练数据集训练模型''' ...原创 2019-04-05 00:27:54 · 708 阅读 · 0 评论 -
多元线性回归 及其Python实现
多元线性回归 Python实现 多元线性回归求解过程 多元线性回归的形式: 目标函数: 将一个样本的向量化: 将所有样本的向量化: 向量化后的目标函数及求解结果: ps.上述多元线性回归的正规方程解问题是:事件复杂度高;优点是:不需要对数据进行归一化处理。 多元线性回归的Python实现: import numpy as np #r2_score、train_test_split方法封装...原创 2019-04-05 21:14:11 · 40194 阅读 · 10 评论 -
梯度下降法 及其Python实现
什么是梯度下降法 梯度下降 Gradient Descent:本身不是一个机器学习的算法,而是一种基于搜索的最优化方法。 作用:最小化一个损失函数。 梯度上升法:最大化一个效用函数。 η称为学习率(learning rate) η的取值影响获得最优解的速度:如当η过小,需要经过非常多次的迭代 η取值不合适,甚至得不到最优解:如当η过大,可能不能到达使目标更小的点 η是梯度下降法的一个超参数 ...原创 2019-04-08 21:07:21 · 2950 阅读 · 1 评论 -
主成分分析PCA 与 梯度上升法
什么是PCA 主成分分析,就是找出数据里最主要的方面,用数据里最主要的方面来代替原始数据。在数据压缩消除冗余和数据噪音消除领域都有广泛应用。 具体的,假如我们的数据集是n维的,共有m个数据(x(1),x(2),…,x(m))。我们希望将这m个数据的维度从n维降到n’维,希望这m个n’维的数据集尽可能的代表原始数据集。我们知道数据从n维降到n’维肯定会有损失,但是我们希望损失尽可能的小。那么如何让这...原创 2019-04-12 16:06:46 · 619 阅读 · 1 评论 -
多项式回归 与 模型泛化
什么是多项式回归 多项式回归思路与多元线性回归相似,只是为原来的数据样本添加新的特征,而新的特征是原有特征的多项式组合。 scikit-learn中的多项式回归与pipeline ...原创 2019-04-15 22:29:43 · 613 阅读 · 0 评论 -
逻辑回归 及其Python实现
什么是逻辑回归 逻辑回归Logistic Regression:解决分类问题。原理:将样本的特征和样本的发生概率联系起来,而概率是一个数。 目标是得到事件发生概率,则为回归算法;目标是得到事件是否发生,则为分类算法。 逻辑回归的损失函数 上述的损失函数,没有数学解析解,只能使用梯度下降法求解。 ...原创 2019-05-08 00:19:55 · 634 阅读 · 0 评论 -
决策树 学习笔记
什么是决策树? 决策树如下: 问题: 每个节点是在哪个维度做划分? 某个维度是在哪个值上做划分? 信息熵 解决上述问题的其中一种方法:信息熵 熵表示随机变量的不确定度:熵越大,数据的不确定性越高;反而反之。 信息熵的计算公式: 其中,pi表示某一类信息所占的比例。 使用信息熵寻找最优划分 对于不同的维度、不同的值,哪种划分使得划分后的信息熵最低(确定性最高)? 一次划分,对不同维度、不同值进行...原创 2019-06-19 20:47:32 · 242 阅读 · 0 评论