机器学习—学习笔记#day03

机器学习

Posted by DiCaprio on July 24, 2019

目录

总结

1、回归算法-线性回归分析

线性模型

线性回归

损失函数(误差大小)

最小二乘法之正规方程(不做要求)

最小二乘法之梯度下降(理解过程)

sklearn线性回归正规方程、梯度下降API

LinearRegression、SGDRegressor

2、线性回归实例

波士顿房价数据案例分析流程

3、回归性能评估

sklearn回归评估API

mean_squared_error

过拟合与欠拟合

欠拟合原因以及解决办法

过拟合原因以及解决办法

L2正则化

带有正则化的线性回归-Ridge

Ridge

线性回归 LinearRegression与Ridge对比

sklearn模型的保持和加载

保存和加载API

4、分类算法-逻辑回归

逻辑回归

sigmoid函数

逻辑回归公式

逻辑回归的损失函数、优化(了解)

sklearn逻辑回归API

LogisticRegression

LogisticRegression总结

5、聚类算法-kmeans

非监督学习(unsupervised learning)

k-means步骤

k-means API

Kmeans

k-means对Instacart Market用户聚类

Kmeans性能评估指标


总结

1、回归算法-线性回归分析

线性模型

线性回归

自变量:特征值    因变量:目标值

损失函数(误差大小)

如何去求模型当中的W,使得损失最小?

目的是找到最小损失对应的W

最小二乘法之正规方程(不做要求)

缺点:当特征过于复杂,求解速度太慢

             对于复杂的算法,不能使用正规方程求解(逻辑回归等)

最小二乘法之梯度下降(理解过程)

向损失最小的方向,找损失最小的时候

sklearn线性回归正规方程、梯度下降API

sklearn.linear_model.LinearRegression

正规方程

sklearn.linear_model.SGDRegressor

梯度下降

LinearRegressionSGDRegressor

sklearn.linear_model.LinearRegression()

普通最小二乘线性回归

coef_:回归系数

sklearn.linear_model.SGDRegressor( )

通过使用SGD最小化线性模型

coef_:回归系数

2、线性回归实例

波士顿房价数据案例分析流程

1、波士顿地区房价数据获取

2波士顿地区房价数据分割

3训练与测试数据标准化处理

4使用最简单的线性回归模型LinearRegression和梯度下降估计SGDRegressor对房价进行预测

3、回归性能评估

sklearn回归评估API

sklearn.metrics.mean_squared_error

mean_squared_error

mean_squared_error(y_truey_pred)

均方误差回归损失

y_true:真实值

y_pred:预测值

return:浮点数结果

注:真实值,预测值为标准化之前的值

1LinearRegressionSGDRegressor评估

2、特点:线性回归器是最为简单、易用的回归模型。

从某种程度上限制了使用,尽管如此,在不知道特征之间关系的前提下,我们仍然使用线性回归器作为大多数系统的首要选择。

小规模数据:LinearRegression(不能解决拟合问题)以及其它

大规模数据:SGDRegressor

过拟合与欠拟合

过拟合:一个假设在训练数据上能够获得比其他假设更好的拟合, 但是在训练数据外的数据集上却不能很好地拟合数据,此时认为这个假设出现了过拟合的现象。(模型过于复杂)

欠拟合:一个假设在训练数据上不能获得更好的拟合, 训练数据外的数据集上也不能很好地拟合数据,此时认为这个假设出现了欠拟合的现象。(模型过于简单)

欠拟合原因以及解决办法

原因:

学习到数据的特征过少

解决办法:

增加数据的特征数量

过拟合原因以及解决办法

原因:

原始特征过多,存在一些嘈杂特征, 模型过于复杂是因为模型尝试去兼顾各个测试数据点

解决办法:

进行特征选择,消除关联性大的特征(很难做)

交叉验证(让所有数据都有过训练)

正则化(了解)

L2正则化

作用:可以使得W的每个元素都很小,都接近于0

优点:越小的参数说明模型越简单,越简单的模型则越不容易产生过拟合现象

带有正则化的线性回归-Ridge

sklearn.linear_model.Ridge

Ridge

sklearn.linear_model.Ridge(alpha=1.0)

具有l2正则化的线性最小二乘法

alpha:正则化力度

coef_:回归系数

线性回归 LinearRegressionRidge对比

岭回归:回归得到的回归系数更符合实际,更可靠。另外,能让估计参数的波动范围变小,变的更稳定。在存在病态数据偏多的研究中有较大的实用价值。

sklearn模型的保持和加载

 

保存和加载API

4、分类算法-逻辑回归

逻辑回归是解决二分类问题的利器

逻辑回归

sigmoid函数

逻辑回归公式

逻辑回归的损失函数、优化(了解)

  

sklearn逻辑回归API

sklearn.linear_model.LogisticRegression

LogisticRegression

sklearn.linear_model.LogisticRegression(penalty=‘l2’, C = 1.0)

Logistic回归分类器

coef_:回归系数

LogisticRegression总结

应用:广告点击率预测、电商购物搭配推荐

优点:适合需要得到一个分类概率的场景

缺点:当特征空间很大时,逻辑回归的性能不是很好

(看硬件能力)

5、聚类算法-kmeans

非监督学习(unsupervised learning)

主要方法:k-means

k-means步骤

k-means API

sklearn.cluster.KMeans

Kmeans

sklearn.cluster.KMeans(n_clusters=8,init=‘k-means++’)

k-means聚类

n_clusters:开始的聚类中心数量

init:初始化方法,默认为'k-means ++’

labels_:默认标记的类型,可以和真实值比较(不是值比较)

k-meansInstacart Market用户聚类

1、降维之后的数据

2k-means聚类

3、聚类结果显示

Kmeans性能评估指标