より深い特徴量
これまでの演習では、2つの特徴量を組み合わせることで、予測モデルに有用な追加の特徴量を作れることを見てきました。この演習では、3つの変数の効果を1つにまとめて「より深い」特徴量を作成します。さらに、より深く複雑な特徴量が常により良い予測子になるのかを確認します。
この演習はコースの一部です
PySparkで学ぶ特徴量エンジニアリング
演習の手順
SQFTBELOWGROUNDとSQFTABOVEGROUNDを足し合わせて、新しい列Total_SQFTを作成します。Total_SQFTを使って、BATHSTOTALと組み合わせた新たな特徴量BATHS_PER_1000SQFTを作成します。Total_SQFTは1000単位にスケーリングしてください。describe()を使って、新しい特徴量BATHS_PER_1000SQFTの最小値、最大値、平均を確認します。何かおかしな点はありませんか?- \(x\) に
Total_SQFTとBATHS_PER_1000SQFT、\(y\) にSALESCLOSEPRICEをそれぞれ用いたjointplots()を2つ作成し、どちらがより良い R**2 フィットになるかを確認します。このより複雑な特徴量は、SALESCLOSEPRICEとの関係がより強くなっていますか?
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create new feature by adding two features together
df = df.____(____, df[____] + df[____])
# Create additional new feature using previously created feature
df = df.____(____, df[____] / (df[____] / ____))
df[[____]].____().show()
# Sample and create pandas dataframe
pandas_df = df.sample(False, 0.5, 0).toPandas()
# Linear model plots
sns.jointplot(x=____, y=____, data=pandas_df, kind="reg", stat_func=r2)
plt.show()
sns.jointplot(x=____, y=____, data=pandas_df, kind="reg", stat_func=r2)
plt.show()