3.1 异常值检测
异常值(Outliers)检验是数据预处理中非常重要的一环,这里我们先做出房屋面积(GrLivArea)和其对
应价格(SalePrice)的散点图,以便观察。
fig , ax = plt.subplots()
ax.scatter(x = train ['GrLivArea'], y = train ['SalePrice '])
plt.ylabel('SalePrice ', fontsize=13)
plt.xlabel('GrLivArea ', fontsize=13)
plt.show ()
我们可以发现,右下角存在两个明显的异常点。即房屋面积很大的情况下,对应的房屋价格却非常低
廉,这不符我们的常理,也会对模型的学习有很大的影响,因此我们将他们移除。
#Deleting outliers
train = train . drop(train [(train ['GrLivArea ']> 4000) & (train ['SalePrice ']< 300000 )].index )
#Check the graphic again
fig , ax = plt.subplots()
ax.scatter(train[' GrLivArea'], train ['SalePrice '])
plt.ylabel('SalePrice ', fontsize=13)
plt.xlabel('GrLivArea ', fontsize=13)
plt.show ()
现在,我们已将这两个异常值清理掉了。
5