好不容易写了一堆,然后被覆盖了,歪日,心态崩掉。。。。重写
引用于此篇文章,题目:House Prices: Advanced Regression Techniques
1.histogram直方图
纵轴默认为每个售价出现的频率,没有太大参考价值。但直方图非常有用
2.scatter plot散点图
上述两个变量的关系可近似认为是线性关系。
pd.concat是数据的提取和重组。
3.boxpolt箱形图
箱型图观察方法:
4.Correlation matrix (heatmap style)关系矩阵(热图)
多影响因素下必不可少的分析图,颜色越浅说明二者的线性性越强,对角线两因素相同因此都是 白色,还有的其他白色的像素块,说明这两个因素关系十分密切,可以合并考虑,还有再此题目中,最右端的一列,是关于销售价格的关系情况,可以单列出来考虑。于是有了如下的缩放热图:
5.‘SalePrice’ correlation matrix (zoomed heatmap style)缩放热图
选取k个和销售价格关系最为密切的因素进行考虑。
6.pairplot多变量散点图
散点图是变量两两之间的关系,对角线是该因素的分布情况。
该文章之后还说了关于缺失值处理:填充/舍弃
关于异常值的处理:通过标准化,来看每一个变量偏离情况
之后一个重要的点是正态化原始数据。
至于为什么要正态化,哪些情况中需要正态化,在上一篇文章中已经提到。
传送门
7.Normal probability plot偏态图转正态图
probplot图是根据变量的累积概率对应于所指定的理论分布累积概率绘制的散点图,用于直观地检测样本数据是否符合某一概率分布。如果被检验的数据符合所指定的分布,则代表样本数据的点应当基本在代表理论分布的对角线上
正态化代码:
#applying log transformation
df_train['SalePrice'] = np.log(df_train['SalePrice'])
#transformed histogram and normal probability plot
sns.distplot(df_train['SalePrice'], fit=norm);
fig = plt.figure()
res = stats.probplot(df_train['SalePrice'], plot=plt)
效果图:
8.barpolt条形图
f, ax = plt.subplots(figsize=(15, 12))
plt.xticks(rotation='90')
sns.barplot(x=all_data_na.index, y=all_data_na)
plt.xlabel('Features', fontsize=15)
plt.ylabel('Percent of missing values', fontsize=15)
plt.title('Percent missing data by feature', fontsize=15)
此图描述了各影响因素缺失率。