前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。
点击跳转到网站:人工智能从入门到精通教程
本文电子版获取方式:
我用夸克网盘分享了「黑马程序员—三天快速入门Python机器学习(第三天).pdf」,点击链接即可保存。打开「夸克APP」在线查看,支持多种文档格式转换。
链接:https://pan.quark.cn/s/fd301be9edae
学习目标:
- 记忆线性回归的原理过程
- 应用LinearRegression或SGDRegressor实现回归预测
- 记忆回归算法的评估标准及其公式
4.1.1 线性回归的原理
1 线性回归应用场景

2 什么是线性回归
不同权重加权

2)线性回归的特征与目标的关系分析
广义线性模型

4.1.2 线性回归的损失和优化原理
1 损失函数:最小二乘法

2 优化算法
- 正规方程:直接求解W
- 梯度下降:试错,改进
正规方程:直接求解W

梯度下降(Gradient Descent)

4.1.3 线性回归API
1)线性回归:
- fit_intercept:是否计算偏置
- LinearRegression.coef_:回归系数
- LinearRegression.intercept_:偏置
2)梯度下降:
- SGDRegressor类实现了随机梯度下降学习,它支持不同的loss函数和正则化惩罚项来拟合线性回归模型
- loss:损失类型
-
- loss=“squared_loss”:普通最小二乘法
- fit_intercept:是否计算偏置
- learning_rate:string,optional
-
- 学习率填充
-
- ‘constant’:eta=eta0
-
- ‘optimal’:eta=1.0 / (alpha*(t+t0)) [default]
-
- ‘invscaling’:eta=eta0 / pow(t, power_t)
- SGDRegression.coef_:回归系数
- SGDRegression.intercept_:偏置

4.1.4 波士顿房价预测


流程:
1)获取数据集
2)划分数据集
3)特征工程:无量纲化 - 标准化
4)预估器流程:fit() -> 模型,coef_ intercept_
5)模型评估
2 回归性能评估
均方误差(Mean Squared Error)(MSE)评价机制

- 均方误差回归损失
- y_true:真实值
- y_pred:预测值
- return:浮点数结果
3 代码

4.1.5 梯度下降的扩展:GD、SGD、SAG

4.1.6 总结
线性回归的损失函数:均方误差
线性回归的优化方法:正规方程、梯度下降
线性回归的性能衡量方法:均方误差
学习目标:
- 说明线性回归(不带正则化)的缺点
- 说明过拟合与欠拟合的原因以及解决方法
问题:训练数据训练的很好啊,误差也不大,为什么在测试集上有问题呢?
过拟合
4.2.1 什么是过拟合与欠拟合
欠拟合:

过拟合:



4.2.2 原因以及解决方法
欠拟合原因以及解决方法
- 原因:学习到数据的特征过少
- 解决方法:增加数据的特征数量
过拟合原因以及解决方法 - 原因:学到的特征过多,存在一些嘈杂特征,模型过于复杂
- 解决办法:正则化

1 正则化类别 - L1正则化
- L2正则化,更常用
L2正则化:
- 作用:可以使得其中一些W都很小,都接近于0,削弱某个特征的影响
- 优点:越小的参数说明模型越简单,越简单的模型也不容易产生过拟合现象
- Ridge回归
- 加入L2正则化后的损失函数:
损失函数+惩罚项

L1正则化:
- 作用:可以使得其中一些W的值直接为0,删除这个特征的影响
- LASSO回归
学习目标:
- 说明岭回归的原理即与线性回归的不同之处
- 说明正则化对于权重参数的影响
- 说明L1和L2正则化的区别
4.3.1 带有L2正则化的线性回归–岭回归
岭回归,其实也是一种线性回归。只不过在算法建立回归方程时候,加上正则化的限制,从而达到解决过拟合的效果
1 API
- alpha:正则化力度,取值范围:0-1,1-10
- solver:会根据数据自动选择优化方法
-
- sag:如果数据集、特征都较大,选择该随机梯度下降优化
- normalize:数据是否进行标准化
-
- normalize=False:可以在fit之前调用preprocessing.StandardScaler标准化数据
- Ridge.coef_:回归权重
- Ridge.intercept_:回归偏置


3 波士顿房价预测

学习目标:
- 说明逻辑回归的损失函数
- 说明逻辑回归的优化方法
- 说明sigmoid函数
- 知道逻辑回归的应用场景
- 知道精确率、召回率指标的区别
- 知道F-score指标说明召回率的实际意义
- 说明如何解决样本不均衡情况下的评估
- 了解ROC曲线的意义,说明AUC指标大小
- 应用classificiation_report实现精确率、召回率计算
- 应用roc_auc_score实现指标计算
4.4.1 逻辑回归的应用场景
- 广告点击率:是否会被点击
- 是否为垃圾邮件
- 是否患病
- 金融诈骗
- 虚假账号
以上都是二分类(正例,反例),逻辑回归就是解决二分类的利器
4.4.2 逻辑回归的原理

线性回归的输出就是逻辑回归的输入


3 损失以及优化



2 优化
同样使用梯度下降优化算法,去减少损失函数的值。这样去更新逻辑回归前面对应算法的权重参数,提升原本属于1类别的概率,降低原本是0类别的概率
4.4.3 逻辑回归API
- penalty:正则化种类
- C:正则化力度
- solver:优化求解方式(默认开源的liblinear库实现)

4.4.4 案例:癌症分类预测-良/恶性乳腺癌肿瘤预测

流程分析:
1)获取数据:读取的时候加上names
2)数据处理:处理缺失值
3)数据集划分
4)特征工程:无量纲化处理—标准化
5)逻辑回归预估器
6)模型评估
4.4.5 分类的评估方法
1 精确率与召回率
1 混淆矩阵
真的患癌症的,能够被检查出来的概率

2 精确率(Precision)与召回率(Recall)



3 分类评估报告API
- y_true:真实目标值
- y_pred:估计器预测目标值
- labels:指定类别对应的数字
- target_names:目标类别名称
- return:每个类别精确率与召回率


衡量样本不均衡下的评估:
2 ROC曲线与AUC指标
TPR就是召回率



4 AUC计算API
- y_true:每个样本的真实类别,必须为0(反例)和1(正例)
- y_score:预测得分,可以是正类的估计概率、置信值或者分类器方法的返回值

5 总结
- AUC只能用来评价二分类
- AUC非常适合评价样本在不平衡中的分类器性能
学习目标:
- 应用joblib实现模型的保存于加载
4.5.1 模型的保存和加载API
- 保存:joblib.dump(rf, ‘test.pkl’)
- 加载:estimator = joblib.load(‘test.pkl’)
4.5.2 线性回归的模型保存加载案例
1、保存模型

2、加载模型

学习目标:
- 说明K-means算法原理
- 说明K-means的性能评估标准轮廓系数
- 说明K-means的优缺点
什么是无监督学习
没有目标值(无标签)—无监督学习

4.6.2 无监督学习包含算法
4.6.3 K-means原理

4.6.4 K-means API
- n_clusters:开始聚类中心数量
- init:初始化方法,默认为‘k-means++’
- labels_:默认标记的类型,可以和真实值比较(不是值比较)

4.6.5 案例:k-means对instacart Market用户聚类
1 分析
- 1)降维之后的数据
- 2)预估器流程:k-means聚类
- 3)聚类结果显示
- 4)模型评估
4.6.6 K-means性能评估指标
1 轮廓系数

2 轮廓系数值分析

3 结论

4 轮廓系数API
- 计算所有样本的平均轮廓系数
- X:特征值
- labels:被聚类标记的目标值

4.6.7 K-means总结
注意:聚类一般坐在分类之前

版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/9709.html