数据的预处理总共可以大致分为6步。
-
导入需要的库
这两个是我们每次都需要导入的库
Numpy包含数学计算函数
Pandas用于导入和管理数据集 -
导入数据集
数据集通常是.csv格式。csv文件以文本形式保存表格数据。文件的每一行是一条数据记录。我们使用pandas的read_csv方法读取本地CSV文件为一个数据帧。然后从数据帧中制作自变量和因变量的矩阵和向量。 -
处理丢失数据
我们得到的数据很少是完整的。数据可能因为各种原因丢失,为了不降低机器学习模型的性能,需要处理数据。我们可以用整列的平均值或中间值替换丢失的数据。我们用sklearn.preprocessiong库中的Imputer类完成这项任务 -
解析分类数据
分类数据指的是函数标签值而不是数字值的变量。取值范围通常是固定的。例如“YES”和“NO”不能用于模型的数字计算,所以需要解析成数字。为实现这一功能,我们从sklearn.preprocessing库导入LabelEndoer类。 -
拆分数据集为测试集合和训练集合
把数据集拆分成两个:一个是用来训练模型的训练集合,另一个是用来验证模型的测试集合。两者比例一般是80:20。我们导入sklearn.crossvalidation库中的train_test_split()方法。 -
特征缩放
大部分模型算法使用两点间的欧式距离表示,但此特征在幅度、单位和范围姿态问题上变化很大。在距离计算中,高幅度的特征比低幅度特征权重更大。可用特征标准化或Z值归一化解决。导入sklearn.preprocessing库中的StandardScalar类。