机器学习概述
一、机器学习的形式
1.建模问题 (构建模型,主要是数学模型)
2.评估问题 根据评估值判断函数的优劣
② Sm.classification_report()
3.优化问题 不断提升函数预测的准确性,直到获取能够满足实际需求的最优解
评估模型时主要用:① Sm.r2_score() 【导入模块性能评价模块】
二、机器学习的分类
1.有监督学习----->已知数据输出(正确答案的示例)对模型不断的训练 【已知数据和其一一对应的标签,训练一个预测模型,将输入数据映射到标签的过程】
回归、分类
2.无监督学习------>无输出数据 【具有数据集但无标签的情况,学习模型是为了推测出数据的一些内在结构】
聚类
3.半监督学习------->先无监督学习划分类别,再人工标记通过有监督学习方式来预测输出。
例如:先对水果进行聚类,再识别是哪个类别
4.强化学习
5.批量学习、增量学习
6.基于模型学习、基于实例学习
三、机器学习的一般过程
(一)数据预处理
1.数据收集
2.数据清洗
(二)机器学习过程
3.选择模型(算法)
4.训练模型
5.模型评估
6.测试模型
(三)
7.应用模型
8.模型维护
四、机器学习的基本问题
(一)回归问题
根据已知的输入输出,把预测值带入模型,得到连续的输出
(二)分类问题
--------得到离散的输出(输出有两个值 { 是/否,好/坏 },或者句子表达情绪:正面、负面、中性 )
(三)聚类问题
根据已知输入的相似程度,划分为不同群落
(四)降维问题
在性能损失尽可能小的情况下,降低数据的复杂度,数据规模缩小 (高次项模型转为低次项、二维矩阵变为一维、8*8变为4*4矩阵)
五、数据预处理
(一)目的
1.去除无效数据、不规范数据、错误数据
2.补齐缺失值
3.对数据范围、量纲、格式、类型进行统一化处理,更容易进行后续计算
(二)预处理方式
1.标准化 (均值移除/sp.scale)
平均值-预处理后均值为0-标准差(均方差)可以反应一个数据集的离散程度
2.范围缩放 (sp.MinMaxScaler)
将样本矩阵中的每一列最小值和最大值设定为相同的区间,统一各特征值的范围。计算完成后,最小值是0,最大值是1.
3.归一化 (sp.normalize)
反应样本所占比率。用每个样本的每个特征值,除以该样本各个特征值绝对值之和,变换后的样本矩阵,每个样本的特征值之和为1 .
4.二值化 (掩码/sp.Binarizer)
根据一个事先给定的阈值,用0和1来表示特征值是都超过阈值。(二值化编码会导致信息损失,是不可以的数值转换。如果进行可逆转换,需要独热编码 OneHot)
5.独热编码 (One_Hot_Encoder)
由若干个0和1 组成 [10 100 1000
01 010 0100]
稀疏矩阵,只用坐标表示非0的值,节省内存
6.标签编码 (LabelEncoder)
根据字符串形式的特征值在特征序列中的位置,来为其指定一个数字标签,用于提供给基于数值算法的学习模型。