始める無料で始める

より深い特徴量

これまでの演習では、2つの特徴量を組み合わせることで、予測モデルに有用な追加の特徴量を作れることを見てきました。この演習では、3つの変数の効果を1つにまとめて「より深い」特徴量を作成します。さらに、より深く複雑な特徴量が常により良い予測子になるのかを確認します。

この演習はコースの一部です

PySparkで学ぶ特徴量エンジニアリング

コースを見る

演習の手順

  • SQFTBELOWGROUNDSQFTABOVEGROUND を足し合わせて、新しい列 Total_SQFT を作成します。
  • Total_SQFT を使って、BATHSTOTAL と組み合わせた新たな特徴量 BATHS_PER_1000SQFT を作成します。Total_SQFT は1000単位にスケーリングしてください。
  • describe() を使って、新しい特徴量 BATHS_PER_1000SQFT の最小値、最大値、平均を確認します。何かおかしな点はありませんか?
  • \(x\) に Total_SQFTBATHS_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()
コードを編集して実行