1

get_dummiesメソッドを使用して、一度に複数のカテゴリ変数をワンホットエンコーディングするのは簡単ですが、テストデータが自分のトレーニングデータと同じ機能を持つようにする方法を覚えておく方法はありますか?例えば:get_dummies後pandas get_dummiesどの値をどのように新しいカテゴリにするかを覚えていますか?

X 
    cat 
    dog 
    lion 
    lion 

、私はこのようなものだ:

私のトレーニングデータセットは、カテゴリ機能がある

X_1 X_2 X_3 
    1  0  0 
    0  1  0 
    0  0  1 
    0  0  1 

トレーニングモデルの後に、私は私の素晴らしい魔法をテストする準備ができていますここにテストデータがあります:

X 
    cat 
    cat 
    lion 

私がpd.get_dummiesメソッドを適用すると、

X_1  X_2 
    1  0 
    1  0 
    0  1 

私の列車のデータ機能と矛盾することになると私は単にテストデータに私のモデルを適用することはできません:私はこのような何かを取得します。

私は次のようなものを得ることができるように任意の提案?

フィットおよびトランスフォームの機能を取得するにはどうすればよいですか。再び、私は50以上のカテゴリの機能を持っており、LabelEncoderを1つずつ順番に適用してからOne_Hot_Encoderを適用することはできません。

提案がありますか?ありがとうございました。

+1

ショートバージョン:カテゴリを先に定義し、dtypeをカテゴリとしてキャストします。 get_dummiesを呼び出すと、特定のデータセットに存在しない場合でも、pandasはすべてのカテゴリの列を生成します。 – ayhan

+0

ああ、うわー...うそつきがある...と解決策は素晴らしいです –

+0

@ayhan、あなたが述べたポーズの答えは、いくつかの機能がある場合は非常に便利です、50以上のカテゴリの機能がある場合...代替案? – user6396

答えて

0

すべてのデータに対してget_dummiesを使用します。その後、トレーニングとテストに分割します。

+0

これは実現可能な選択肢ではない場合もあります。 –

+0

いいえ、現実世界では動作しません – user6396

関連する問題