目录
一、一般业务步骤
数据处理
1、数据收集(数据检索、数据挖掘、爬虫)
2、数据清洗
3、特征工程
机器学习
1、选择模型(算法)
2、训练模型(算法)
3、评估模型(工具、框架、算法知识)
4、测试模型
业务运维
1、应用模型
2、维护模型
二、数据预处理
数据预处理常用库
import sklearn.preprocessing as sp
1、均值移除(标准化)
由于一个样本的不同特征差异较大,不利于使用现有机器学习算法进行样本处理。均值移除可以让样本中每一列的均值为0,标准差为1。
计算公式:
# 实例化标准化转换器
transfer = sp.StandardScaler()
# 标准化后的数据
stand_data = transfer.fit_transform(原始样本矩阵)
2、范围缩放(归一化)
将样本矩阵中的每一列的最小值和最大值设定为相同的区间,统一各列特征值的范围。一般情况下会把特征值缩放至[0,1]区间。
# 创建MinMax缩放器
min_max_scale=sp.MinMaxScaler(feature_range=(0,1))
# 调用min_max_scale对象的方法执行缩放操作,返回缩放过后的结果
result=min_max_scale.fit_transform(原始样本矩阵)
3、二值化
有些业务并不需要分析矩阵的详细完整数据(比如图像边缘识别只需要分析出图像边缘即可),可以根据一个事先给定的阈值,用0和1表示特征值不高于或高于阈值。二值化后的数据中每个元素非0即1,达到简化数学模型的目的。(常用场景:抠图等图片处理)
#给出阈值,获取二值化器
bin=sp.Binarizer(threshold=阈值)
# 调用transform方法对原始样本矩阵进行二值化预处理操作
result=bin.transform(原始样本矩阵)
4、独热编码(One-Hot Encoding)
为样本特征的每个值建立一个由一个1和若干个0组成的序列,用该序列对所有的特征值进行编码。
# 创建一个独热编码器
# sparse: 是否使用紧缩格式(稀疏矩阵)
# dtype: 数据类型
ohe = sp.OneHotEncoder(sparse=是否采用紧缩格式,dtype=数据类型)
# 对原始样本矩阵进行处理,返回独热编码后的样本矩阵。
result=ohe.fit_transform(原始样本矩阵)
5、标签编码
根据字符串形式的特征值在特征序列中的位置,为其指定一个数字标签,用于提供给基于数值算法的学习模型。
# 获取标签编码器
lbe=sp.LabelEncoder()
# 调用标签编码器的fit_transform方法训练并且为原始样本矩阵进行标签编码
result=lbe.fit_transform(原始样本特征数组)
# 根据标签编码的结果矩阵反查字典,得到原始数据矩阵
samples=lbe.inverse_transform(result)