2017-05-24 7 views
1

多くのカテゴリ変数を持ついくつかのデータで、Pythonを使用して多変量線形回帰またはロジスティック回帰を行うことを検討しています。私は、1つのカテゴリ変数を使ってこれをダミーに変換してから1つのタイプのダミーを削除する必要があることを理解していますが、複数変数のカテゴリ変数を扱う際に、複数のカテゴリ変数を持つ機械学習のためのダミー変数の使用

私はそれぞれ同じことをしますか?たとえば、レコードの各タイプをダミー変数に変換し、その後共直線性を避けるためにそれぞれ1つのダミー変数を削除しますか?

答えて

0

ダミーのために置き換える必要がある複数のカテゴリ変数がある場合。アプローチは、ダミーの各変数を1つのカテゴリ変数の場合と同様にエンコードし、同一性を避けるために各変数に存在する各ダミーの1つのインスタンスを削除することです。

基本的には、各カテゴリ変数は1つの個別変数と同じように扱う必要があります。

1

多くのカテゴリ変数があり、これらの変数にもレベルがある場合は、ダミー変数を使用すると適切なオプションではない可能性があります。

カテゴリ変数は、ビンの形のデータは、例えばのために、変数ageはあなたがいずれかの使用ラベルエンコーディング缶やビンの平均値/中央値を使用して新しい数値機能を作成したりするための2つの機能を作成し、フォーム10-18, 18-30, 31-50, ...でデータを持っている場合低年齢および高年齢

タスクの開始から終了までのタイムスタンプがある場合(たとえば、マシンの開始時刻から停止した時刻まで)、期間を計算することで新しい機能を作成できます時間または分。

多くのカテゴリ変数がありますが、レベル数が少ない場合は、そのような場合に明白な唯一の方法は、カテゴリ変数にOne-Hotエンコーディングを適用することです。

しかし、カテゴリ変数のレベルが多すぎると、あまりにも稀であるか、あまりにも頻繁に起こるケースがあるかもしれません。そのようなデータにOne-Hot Encodingを適用すると、モデルのパフォーマンスに悪影響を及ぼします。そのような場合は、特定のビジネスロジック/フィーチャエンジニアリングを適用し、それによって最初にレベル数を減らすことをお勧めします。その後、新しい機能がまだカテゴリに含まれている場合は、その機能をOne-Hotエンコーディングで使用できます。

+0

ありがとうございました。私はさまざまなデータセットを扱っていますが、大部分の変数はカテゴリになっています。例えば、私が見ている現在のデータセットは、約110万レコードであり、11変数です。日付とは別に、これらのうち1つだけが数値です。このようなデータセットを使って機械学習を行うことに関するアドバイスは何でしょうか?多くの変数はカテゴリに含まれていますが、必ずしも多くのレベルではありません。 – Taylrl

関連する問題