数值分析
# 查看特征的统计信息
kc_train.describe()
这个是输出的结果。
接下来,我们输出用**hist()**方法输出一下各个特征与房价的柱状图。
# 绘制各个特征的分布柱状图
kc_train.hist(figsize=(20, 15), bins=50, grid=False)
plt.show()
hist()的第一个参数控制的是每个柱状图的大小,figsize(X,Y)。
hist()的第二个参数控制的是每个柱状图中显示的柱的粗细,值越小越粗。
hist()的第三个参数控制的是柱状图是否显示网格,值为True代表显示。
其中,根据柱状图我们可以分析出来以下几种特征都是连续变量:
lat、long、sqft_above、sqft_basement、sqft_living、sqft_lot、yr_built、yr_renovated
再来,我们分析下几种连续变量与房价之间的相关关系,由于它们都是连续的,我们就采用Pearson相关系数 来衡量它们的相关程度。
(相关系数越接近于1或-1,相关性越强,相关系数越接近于0,相关性越弱)
continuous_cols = ['sqft_living', 'sqft_lot', 'sqft_above',
'sqft_basement', 'yr_built', 'yr_renovated', 'lat', 'long']
for col in continuous_cols:
sns.jointplot(x=col, y="price", data=kc_train, alpha=0.3, size=4)
plt.show() #显示分布图
alpha参数设置的是点的颜色深度,值越接近于1,颜色越深。
因为点越密集,反应出数据越集中,所以这里的alpha的值不宜设过高。
size参数设置的是画布的大小。
然后我们将这些变量和房价按Pearson系数进行排序。
plt.figure(figsize=(12, 6)) #设置画布大小,对应的分别是X、Y
kc_train.corr()['price'][continuous_cols].sort_values(ascending=False)
.plot( 'barh', title='Variable Correlation with Price')
kc_train.corr()是用于计算Pesrson的相关系数。
sort_values()是用于给数值排序。
ascending的参数控制数值排序的方式,True表示从大到小排序,默认为True。
plot()是根据数值绘制出相应的图。
'barh’参数代表绘制的是水平条形图。
title的参数控制的是该绘图的标题。