One-Hot encoding
label encoding の問題点は、カテゴリ間に順位関係があると暗黙に仮定してしまうことです。そこで、特徴量 "RoofStyle" と "CentralAir" のエンコード方法を one-hot encoding に変えてみましょう。House Prices の Kaggle コンペティションの train と test の各 DataFrame は、すでにワークスペースに用意されています。
バイナリ特徴量(カテゴリが2つだけのカテゴリカル特徴量)を扱う場合は、label encoder のみを適用することが推奨される点を思い出してください。
あなたの目標は、挙げた特徴量のうちどれがバイナリではないかを特定し、その特徴量に対してのみ one-hot encoding を適用することです。
この演習はコースの一部です
Pythonで挑むKaggleコンペティション
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Concatenate train and test together
houses = pd.concat([train, test])
# Look at feature distributions
print(houses['RoofStyle'].____, '\n')
print(houses['CentralAir'].____)