【数据分析】学习笔记day1

发布于:2024-04-30 ⋅ 阅读:(21) ⋅ 点赞:(0)

目标:
1、掌握sklearn的基本用法
2、掌握线性回归的原理,并进行实践操作
3、理解监督学习经典算法、如K-近邻算法
4、理解非监督学习经典算法

机器学习的利器——sklearn

机器学习的7个流程:

1、数据处理
2、分割数据
3、训练模型
4、验证模型
5、测试模型
6、使用模型
7、调优模型

 数据处理:从磁盘中读取数据,并对数据进行预处理(如归一化、标准化、正则化、属性缩放、特征编码、插补缺失值、生成多项式特征等。
分割数据:将数据随机分割成三组:训练集、验证集(有时为可选项)、测试集
训练模型:针对选取好的特征,使用训练数据来构建模型,即拟合数据,寻找最优的模型参数。
(这里的拟合数据,主要是指使用各种机器学习算法来学习数据中的特征,拟合出损失函数最小化参数)
验证模型:使用验证集的数据接入模型。我们将模型在验证集上的表现作为模型参数优化和选择的依据。
(常用的方法有:Holdout验证、留一验证等)
测试模型:在优化模型的参数以后,使用测试数据验证模型的表现,可以评估模型泛化性能。

拓展:
在有些场景下,测试模型和验证模型是有区别的。
如果我们不设置验证集,而不断地使用相同的测试集来评估模型性能,久而久之,作为“裁判”的测试集,其角色慢慢就会“蜕变”成训练集,从而让模型陷入过拟合状态。
为了解决这个问题,有时就把数据集一分为三:
	一部分用于训练,即作为训练集;
	一部分用于模型优化,即作为验证集;
	一部分用于评估模型的泛化误差,即作为测试集,通常不参与模型的优化。
使用模型:模型训练完毕后,在全新数据集上进行预测。(所有机器学习算法的终极价值,都体现在对新数据的预测上)
调优模型:当我们不断使用更多的数据(包括预测的新数据)时,就会得到反馈,然后根据反馈重新调整数据使用策略(包括收集更为全面的数据、使用不同的特征、调整过往模型参数等,以此来迭代优化模型)

实际上以上1~7可以算作一个无限循环、迭代升级的过程。

sklearn的功能主要分为六大部分:

1、分类
2、回归
3、聚类
4、数据降维
5、模型选择
6、数据预处理

分类:如果定性输出预测(预测变量是离散值),可称之为分类。比如预测花的品类、顾客是否购买商品等。
(sklearn中已实现的经典分类算法包括:支持向量机(SVM)、最近邻算法、Logistic回归、随机森林、决策树、多层感知机(MLP)等)
回归:如果定量输出预测(预测变量是连续值),则称之为回归。比如预测花的长势、房价的涨势等。
(目前sklearn中已经实现的回归算法包括:线性回归、支持向量回归(SVR)、岭回归、Lasso回归、贝叶斯回归等)
(常见的应用场景:股价预测等。)
聚类:聚类的功能是将相似的对象自动分组。
(sklearn中常用的聚类算法包括:k均值聚类、谱聚类(spectral clustering)、均值漂移(Mean Shift)等)
(常用的应用场景:客户细分、实验结果分组、数据压缩等)
数据降维:数据降维的目的在于减少要考虑的随机变量的数量。
(sklearn中常见的数据降维算法有:主成分分析(PCA)、特征选择、非负矩阵分解等)
(常见的应用场景:数据压缩、模型优化等)
模型选择:模型选择是指评估与验证模型,对模型参数进行选择与平衡。
(sklearn中常见的功能模块:模型度量(metrics)、网格搜索(grid search)、交叉验证(cross validation)等)
(其目的在于:通过调整模型参数来提高模型性能(预测准确度、泛化误差等))
数据预处理:数据预处理的功能在于,把输入数据(如文本、图形图像等)转换为机器学习算法适用的数据,主要包括数据特征的提取和归一化。
(sklearn中常用模块有:数据预处理(preprocessing)、特征抽取(feature extraction)等)

sklearn中常见的数据集

导入数据的函数名称 对应的数据集
load_boston() 波士顿房价数据集
load_breast_cancer() 乳腺癌数据集
load_iris() 鸢尾花数据集
load_diabetes() 糖尿病数据集
load_digits() 手写数字数据集
load_linnerud() 体能训练数据集
load_wine() 红酒品类数据集

网站公告

今日签到

点亮在社区的每一天
去签到