在训练一个模型之前需要做数据的预处理,因为模型的最终效果决定于数据的质量和数据中蕴含的有用信息的数量。
在实际的模型的训练样本数据中,样本可能会由于某些原因,造成一个或多个值的缺失。可能由于样本采集过程中的失误,或者度量方法对于某些特征不适用,或者数据未被填写等。在表格中缺失值通常是以空值的形式或者是NaN(Not A Number)存在的。如果我们直接忽视这些缺失值可能有些算法无法处理这些缺失值,将会触发异常。
对于数据较多的情况,可以做一些删除处理。
数据示例
数据源为csv文件,如下所示
A,B,C,D
1,2,,4
,6,7,
9,10,11,12
13,14,15,16
17,18,,20
,22,23,24
,,,
,30,,
在使用python进行数据分析处理的时候,我们可以通过第三方库pandas来进行,可以极大的简化处理步骤。
一、查看数据缺失值的分布情况
1.统计每列数据缺失值的分布情况
>>> import pandas as pd
>>> data = pd.read_csv("test.csv")
>>> data
A B C D
0 1.0 2.0 NaN 4.0
1 NaN 6.0 7.0 NaN
2 9.0 10.0 11.0 12.0
3 13.0 14.0 15.0 16.0
4 17.0 18.0 NaN 20.0
5 NaN 22.0 23.0 24.0
6 NaN NaN NaN NaN
7 NaN 30.0 NaN NaN
>>> data.isnull().sum()
A 4
B 1
C 4
D 3
dtype: int64