はじめに
fig, axes = plt.subplots(2,2, figsize=(20,10))
axes[0][0].hist(df["最寄駅:距離(分)"],bins=20)
axes[0][1].hist(df["面積(㎡)"],bins=200)
axes[0][1].set_xlim(0, 250)
axes[1][0].hist(df["建築年"],bins=20)
axes[1][1].hist(df["取引価格(総額)_log"],bins=20)
plt.show()
散布図
fig, axes = plt.subplots(3,1, figsize=(20,10))
axes[0].scatter(df["最寄駅:距離(分)"],df["取引価格(総額)_log"], alpha=0.1, color="red")
axes[0].set_xlabel("Distance (in minutes)", fontsize=20) # (6)x軸ラベル
axes[0].set_ylabel("Transaction price (total)", fontsize=20) # (7)y軸ラベル
axes[1].scatter(df["面積(㎡)"],df["取引価格(総額)_log"], alpha=0.1, color="red")
axes[1].set_xlabel("Area (m2)", fontsize=20) # (6)x軸ラベル
axes[1].set_ylabel("Transaction price (total)", fontsize=20) # (7)y軸ラベル
axes[2].scatter(df["建築年"],df["取引価格(総額)_log"], alpha=0.1, color="red")
axes[2].set_xlabel("Year of construction", fontsize=20) # (6)x軸ラベル
axes[2].set_ylabel("Transaction price (total)", fontsize=20) # (7)y軸ラベル
plt.show()
相関関係の確認
- 説明変数どうしの、相関がありすぎるものが混ざっていると推定精度が悪化する可能性があるので、目視でチェックする
df[['最寄駅:距離(分)','面積(㎡)','建築年', '取引価格(総額)_log']].corr()
## 下記は上記の出力結果
最寄駅:距離(分) 面積(㎡) 建築年 取引価格(総額)_log
最寄駅:距離(分) 1.000000 0.151880 0.117809 -0.215520
面積(㎡) 0.151880 1.000000 -0.067415 0.382755
建築年 0.117809 -0.067415 1.000000 -0.538493
取引価格(総額)_log -0.215520 0.382755 -0.538493 1.000000
ヒートマップの出力
#日本語の文字化け対応※うまくいかない
#import matplotlib
#matplotlib.rcParams["font.family"] = "AppleGothic"
## 利用できるフォントの種類の一覧が表示することができる
#matplotlib.font_manager.fontManager.ttflist
sns.heatmap(df[['最寄駅:距離(分)','面積(㎡)','建築年', '取引価格(総額)_log']].corr())
棒グラフの表示
df["取引年"] = df["取引時点"].apply(lambda x:str(x)[:4])
fig, axes = plt.subplots(2,1, figsize=(20,10))
sns.countplot(x="取引年", data=df.sort_values("取引年"), ax=axes[0])
sns.countplot(x="取引時点", data=df.sort_values("取引時点"), ax=axes[1])