始める無料で始める

One-Hot encoding

label encoding の問題点は、カテゴリ間に順位関係があると暗黙に仮定してしまうことです。そこで、特徴量 "RoofStyle" と "CentralAir" のエンコード方法を one-hot encoding に変えてみましょう。House Prices の Kaggle コンペティションの traintest の各 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'].____)
コードを編集して実行