1.上次的blog中说了说数据分割的方法,这次我想谢谢数据处理的过程,大多数的机器学习中原始数据集会出现数据缺失、数据异常等等问题,而我们在做机器学习中数据集的重要性不言而喻,所以在实验之前我们要对数据集进行一定的处理。
注:数据集还是使用的美国加利福利亚州各地的房价,这在我的上一篇blog中有点击打开链接
针对数据缺失我们可以有三种方法进行处理:
1)去掉对应的街区
2)去掉整个属性
3)进行填充(0、平均值、中位数等)
在pandas中则有dropna(),drop(),fillna()这三种方法进行处理:
median = housing["total_bedrooms"].median()
housing["total_bedrooms"].fillna(median)
其中,median就是中位数
这种方法需要计算数据集中每个属性的中位数,用中位数填充数据。在sklearn中Imputer可以较好的处理这个问题,代码如下:
from sklearn.preprocessing import Imputer
imputer = Imputer(strategy="median") # 这个strategy有三种median/mean/most_frequent
housing_num = housing.drop("ocean_proximity",