机器学习的一般流程
一、数据采集与标注
二、数据探索
1、认识数据
标称属性:标称属性的值是一些符号或事物的名称。每个值代表某种类别、编码、或状态。
二元属性:是一种标称属性;0或1
序列属性:其可能的值之间具有有意义的序或秩评定,但相继值之间的差是未知的。
数值属性:可度量的定量。区间标度,比率标度。
数据的统计描述
2、基本统计数据描述
典型度量:数据可视化方法,各种数据相似性,相异性的方法。
中心趋势度量:均值、中位数、众数、中列数(最大最小值的均值)
数据的散布:极差、四分位数等
图形化显示:分位数图、直方图、散点图—–>数据可视化
三、数据预处理
1、数据清洗
(1)、缺失值处理
(2)、异常值处理
(3)、重复值的处理
数据清洗:缺失值处理、异常值处理。
参考文章:
数据清洗(缺失值、异常值和重复值的处理)
2、数据集成
数据集成是一个数据整合的过程。通过综合各数据源,将拥有不同结构、不同属性的数据整合归纳在一起,就是数据集成。
数据集成是将不同来源的数据整合在一个数据库中的过程。
3、数据变换
数据变换是将数据从一种格式或结构转换为另一种格式或结构的过程,对数据进行规范化处理。
一些算法,例如神经网络和SVM对数据缩放非常敏感,因此,通常的做法是对特征进行调节,使数据表示更适合于这些算法。
(1)、简单函数变换
原始数据进行数学函数变换,平方、开方、取对数、差分运算。用来将不具有正太分布的数据变换成具有正太性的数据。
时间序列分析中,对数变换或者差分运算可以将非平稳序列转换为平稳序列。
(2)、规范化(归一化、标准化)
消除指标间量纲影响 :
(1)最小-最大规范化 (归一化)(2)零-均值规范化 (3)小数定标规范化
参考文章:
(3)、连续属性离散化
将连续属性变为分类属性,即连续属性离散化。
数据离散化本质上通过断点集合将连续的属性空间划分为若干区,最后用不同的符号或者整数值代表落在每个子区间中的数据。离散化涉及两个子任务:确定分类以及如何将连续属性值映射到这些分类值。
(1)等宽法 (2)等频法 (3)基于聚类分析的方法
(4)、属性构造
利用已有的属性构造新的属性,并加到现有的属性中。
(5)、特征编码(标签编码,独热编码)
由于机器学习算法都是在矩阵上执行线性代数计算,所以参加计算的特征必须是数值型的,对于非数值型的特征需要进行编码处理。对于离散型数据的编码,我们通常会使用两种方式来实现,分别是标签编码和独热编码
参考文章:
特征编码(标签编码,独热编码)
4、数据规约
四、特征选择/构造
五、模型选择
六、模型训练与测试
七、模型的性能评估与优化
评估方法
(1)、留出法(hold-out)
留出法直接将数据集 D D D划分为两个互斥的部分,其中一部分作为训练集 S S S,另一部分用作测试集 T T T。
通常训练集和测试集的比例为70%:30%。同时,训练集测试集的划分注意事项
1、保持数据分布的一致性(分层采样)
2、多次重复划分(100次随机划分)
3、重复进行实验评估后,取平均值作为留出法的评估结果
(2)、交叉验证法(cross validation)
交叉验证法先将数据集D划分为k个大小相似的互斥子集,每次采用k−1个子集的并集作为训练集,剩下的那个子集作为测试集。进行k次训练和测试,最终返回 k个测试结果的均值。又称为“k折交叉验证”(k-fold cross validation)
为减少因样本划分带来的偏差,通常重复p次不同的划分,最终结果是p次k折交叉验证结果的均值。
(3)、留一法(leave-one-out,LOO)
留一法是k折交叉验证 k=m(m为样本数)时候的特殊情况。即每次只用一个样本作测试集。该方法计算开销较大。
参考文章:
机器学习中训练集、验证集和测试集的划分及交叉验证
(4)、自助法(bootstrapping)

4、调参(超参数)
调参:算法参数的设定
算法的参数:一般是由人工设定,亦称"超参数"。
模型的参数:一般是由学习确定。
调参过程:先产生若干模型,然后基于某种评估方法进行选择。
参数调得好不好往往对最终性能有关键影响。算法参数选定后,要用"训练集+验证集"重新训练最终模型
参考文章:
超参数调参方法
5、性能度量
(1)、回归任务
在回归任务中最常用的性能度量是“均方误差”:

(2)、分类任务
错误率与精度是分类任务中最常用的两种性能度量
错误率(Error Rate):是分类错误的样本数占样本总数的比例。
精度(Accuracy):是分类正确的样本数占样本总数的比例。
更多推荐
所有评论(0)