2017-10-13 5 views
0

現在、トレーニングとテストのセットは669個のフィーチャから始まります。その多くはカテゴリ化されており、ワンホットエンコードする必要があります。トレーニングデータとテストデータの機能の違いを処理する方法

両方のセットをワンホットエンコードした後、トレーニングセットに追加機能があることがわかりました。

私はこれをどのように扱うかはかなりよく分からないが、私は3つのオプション持っているように私は感じる:

  1. ので、両方の試合がアップ
  2. テスト・セットにこれらの機能を追加設定し、トレーニングから、これらの機能を削除し、合成データを生成する。
  3. モデルをトレーニングする前に、いくつかの次元削減技術(PCA)を使用し、同じ数のコンポーネントをトレーニングとテストに使用します。

フィードバックは高く評価されます。

答えて

0

私はあなたがトレイン&のテストデータを別途テストしたと思います。たぶんそれらを組み合わせてエンコーディングを適用するか、別々にpandas.get_dummiesを試してください。次のコードsymmetric differenceを使って差異を取得し、欠落している列に0を割り当ててください。

missing_cols = (set(train.columns)).symmetric_difference(set(test.columns)) 
    for c in missing_cols: 
     titanic_test[c] = 0 
関連する問題