![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
安可的橙子
这个作者很懒,什么都没留下…
展开
-
K临近算法实现
K临近算法实现最近开始学习机器学习算法,这是我写的第一篇博客,主要为了记录自己每天学习了什么,课程内容来自于慕课网。首先导入我们需要用到的numpy 和 matplotlib函数库import numpy as npimport matplotlib.pyplot as plt训练数据集raw_data_X=[[3.393533211,2.331273381], ...原创 2019-01-03 18:59:13 · 364 阅读 · 0 评论 -
随机梯度下降法
在线性回归中使用梯度下降法每次都要更新都需要遍历所有数据,当数据量大的时候耗时非常大。于是提出了随机梯度下降法,通过一个随机选取的数据来获取“梯度”,进行更新。与传统梯度下降法的不同在于,随机梯度的步长变化方向不是固定的,如下图所示,不一定沿着最小方向前进。在这种情况中eta,即学习率,不能是一个固定值。因为当随机梯度接近最小值没到最小值时,固定的eta可能会使最小值没有更小反而更大了,所以...原创 2019-01-30 12:04:48 · 1113 阅读 · 0 评论 -
在线性回归模型中使用梯度下降法
上一篇文章记录了梯度下降法模拟实现,下面的代码展示的是在线性回归中使用梯度下降法import numpy as npimport maltplotlib.pyplot as pltnp.random.seed(666)x=2*np.random.random(size=100)y=x*3.+4.+np.random.normal(size=100)plt.scatter(x,y)pl...原创 2019-01-28 14:51:35 · 336 阅读 · 0 评论 -
梯度下降法原理和实现
在机器学习算法中,在最小化损失函数时,可以通过梯度下降法来一步一步的迭代求解,得到最小化的损失函数。梯度下降不一定能找到全局的最优解,有可能是一个局部的最优解。当损失函数是一个凸函数时,梯度下降就一定能得到最优解。梯度下降的相关概念有:步长。步长决定在梯度下降的过程中,每一步沿梯度负方向前进的长度。特征。指的是样本特征。假设函数:在监督学习中,为了拟合输入样本,而使用假设函数。损失函数:为...原创 2019-01-25 21:14:52 · 3374 阅读 · 0 评论 -
使用LinearRegression,KNN Regressor解决回归问题
import numpy as npimport matplotlib.pyplot as pltfrom sklearn import datasetsboston=datasets.load_boston()X=boston.datay=boston.targetX=X[y<50.0]y=y[y<50.0]from sklearn.model_selection i...原创 2019-01-24 22:19:53 · 1032 阅读 · 0 评论 -
回归算法评价标准MSE、RMSE、MAE、R-Squared
一、MSE 均方误差即(真实值-预测值)的平方/测试集个数其实(真实值-预测值)的平方 就是线性回归的损失函数,线性回归的目的就是为了让损失函数最小化。但这种判断方式是会放大误差的,即本身误差越大的平方后会更大。所以从这也可以看出,损失函数是为了减小最大的那个误差。二、RMSE 均方根误差即MSE开根号,使结果的单位和数据集一致,更好描述三、MAE 平均绝对误差四、R-Squar...原创 2019-01-24 21:27:06 · 12399 阅读 · 1 评论 -
简单线性回归
这篇记录的是简单线性回归算法的实现,所谓简单线性回归就是对只含有一个特征的数据集进行回归预测。回归问题和分类问题的区别在于预测的结果一个是连续型的,一个是离散型的。简单线性回归的损失函数:即:(真实值-预测值)平方的和,我们希望这个值越小越好。下面是实现简单线性回归的算法import numpy as npimport matplotlib.pyplot as plt#这里我...原创 2019-01-24 11:11:19 · 257 阅读 · 0 评论 -
数据归一化处理
由于数据集特征的量纲不同,所以需要归一化处理。常用的归一化方法:1.最值归一化这种方法适合用于分布有明显边界的情况。当存在个别特别大,或者特别小的数字出现的时候,这种归一化处理方式不好2.均值方差归一化适合用于没有明显分布边界,存在极端数据的情况import numpy as npimport matplotlib.pyplot as plt//均值方差归一化x=np.random...原创 2019-01-06 11:26:35 · 751 阅读 · 0 评论 -
网格搜索与K临近算法中的超参数
机器学习中调参通常调的就是超参数,如何找到一个最好的超参数,除了通过经验,也可以通过网格搜索的方式进行选择首先我们来看下如何寻找KNN中最好的k(这里的k即相近节点数)best_score=0.0best_k=-1for k in range(1,11): knn_clf=KNeighborsClassifier(n_neighbors=k) knn_clf.fit(x_train,...原创 2019-01-05 12:43:35 · 717 阅读 · 1 评论 -
测试数据集train_test_split
首先对上一篇的k临近算法进行补充如何使用sklearn中的knnfrom sklearn.neighbors import KNeighborsClassifier//和附件的6个点进行比较knn_classifier=KNeighborsClassifier(n_neighbors=6)//进行模型拟合knn_classifier.fit(x_train,y_train)//进行预...原创 2019-01-04 19:25:35 · 835 阅读 · 0 评论 -
PCA 主成分分析
主成分分析是非监督的机器学习算法,主要用于数据的降维处理。主要解决如何找到让样本间间距最大的轴。使得样本间方差最大。用梯度上升法来求最大解,实现过程如下。import numpy as npimport matplotlib.pyplot as pltX=np.empty((100,2))X[:,0]=np.random.uniform(0.,100.,size=100)X[:,1]=0...原创 2019-02-09 20:56:18 · 261 阅读 · 0 评论