2019.11.18
首先非常感谢这位作者,写的很棒!你们就不要看我的啦,看他的⬇️⬇️
学习来自 https://blog.csdn.net/sinat_29957455/article/details/79255675
下面的内容为自己学习笔记: 学习Kaggle~ing
这次给出的特征有点儿多啊,我们把他分类:
数值特征(数值数据)、类别特征(有或无)、
sns.displot 灵活地绘制观测值的单变量分布
在Kaggle房价预测房屋价格数据集中。
查看价格趋势:
sns.displot(data_set['SalePrice'])
plt.show()
图:
print(data["SalePrice"].kurt())
kurt:峰度 >0 趋势更加陡峭 <0 更加平缓 =0与分布缓坡程度相同
我的 峰度概念:就是看看在这个连续的价格趋势下(正态分布),这个坡度陡不陡
print(data["SalePrice"].skew())
skewness: 偏度 查看正态分布对不对称 >0 像右边篇,<0 左边
我的 偏度 概念:就是看看这个正态分布对不对称
运行后发现峰度>0, 偏度>0,我们想要把它变成一个好看的正态分布要咋办呢呢
嗯,酱:
sns.distplot(np.log(data['SalePrice']))
图片就这样啦:
接着我们看下房子面积和价格的离散图
酱:
data.plot.scatter(x="LotArea", y="SalePrice", ylim=(0, 800000)) # ylim: 坐标轴范围设置
plt.show()
scatter: 分散、离散
图:
然鹅什么也看不出来,看不出来有线性关系
然后我们看一下:GrLivArea:地面(地面)以上居住级平方英尺 —应该是生活面积吧
data.plot.scatter(x='GrLivArea',y='SalePrice', ylim=(0, 800000)
接着是地下室面积
data.plot.scatter(x='TotalBsmtSF',y='SalePrice',ylim=(0, 80000))
下面是类别特征学习:
fig = sns.boxplot(x='', y='SalePrice', data=data)
fig.axis(ylim=(0, 80000))
plot.show()
图:
boxplot :
- 自动分开类别各自分析
- 可以显示上边缘,下边缘。箱子上边:四分位数,箱子中间黑条:中位数,下边:下四分位数
OverallQual:(房子的)综合素质
fig = sns.boxplot(x='OverallQual', y='SalePrice', data=data)
fig.axis(ylim=(0, 800000))
plt.show()
图:
建筑年份和价格的关系:
plt.subplots(figsize=(30, 15)
fig = sns.boxplot(x='YearBuilt', y='SalePrice', data=data)
fig.axis(ylim=(0, 80000))
plt.xticks(rotation=90)
plt.show()
(这个图颜色好漂亮)
subplots:
- 可以画子图可以设置每个图位置
- 当然也可以把两个图画在一个图里面
- eg:
fig, ax = plt.subplots(1,1)
ax2 = ax.twins()
然后设置
x1=参数,y1=参数
ax.plot(x1,y1)
同理
x2=参数, y2=参数
ax2.plot(x2,y2)
plt.show()
当让,用散点图会更直观点儿:
plt.scartter(x="YearBuilt", y="SalePrease", data=data)
plt.axis(ylim=(0, 800000))
plt.show()
图:
接着是邻居:
plt.subplots(figsize=(30,15))
fig = scatter(x="Neighborhood", y="SalePrice", data=data)
fig.axis(ylim=(0, 800000))
fig.xticks(rotation=90)
fig.show()