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を適用することはできません。
提案がありますか?ありがとうございました。
ショートバージョン:カテゴリを先に定義し、dtypeをカテゴリとしてキャストします。 get_dummiesを呼び出すと、特定のデータセットに存在しない場合でも、pandasはすべてのカテゴリの列を生成します。 – ayhan
ああ、うわー...うそつきがある...と解決策は素晴らしいです –
@ayhan、あなたが述べたポーズの答えは、いくつかの機能がある場合は非常に便利です、50以上のカテゴリの機能がある場合...代替案? – user6396