順序付けされていないカテゴリ変数にワンホットエンコーディングをいつ使用するか、いつ使用しないかはわかりません。アルゴリズムが距離メトリックを使用して類似性を計算するときはいつでもそれを使用します。順序付けされていないカテゴリカル機能をワンホットエンコードする必要があるアルゴリズムのタイプと、そうでないアルゴリズムについて、一般的な経験則を教えてください。
順序付けされていないカテゴリ変数にワンホットエンコーディングをいつ使用するか、いつ使用しないかはわかりません。アルゴリズムが距離メトリックを使用して類似性を計算するときはいつでもそれを使用します。順序付けされていないカテゴリカル機能をワンホットエンコードする必要があるアルゴリズムのタイプと、そうでないアルゴリズムについて、一般的な経験則を教えてください。
回答:
ほとんどのアルゴリズム(線形回帰、ロジスティック回帰、ニューラルネットワーク、サポートベクターマシンなど)では、カテゴリ変数に何らかのエンコードが必要です。これは、ほとんどのアルゴリズムが数値のみを入力として受け取るためです。
エンコードを必要としないアルゴリズムは、マルコフ連鎖/ナイーブベイズ/ベイジアンネットワーク、ツリーベースなどの離散離散分布を直接処理できるアルゴリズムです。
追加コメント:
1つのホットエンコーディングは、エンコーディング方法の1つです。これは、カテゴリ変数エンコーディング(Rに限定されない)に適したリソースです。カテゴリー変数のためのRライブラリコントラストコーディングシステム
エンコードしなくても、ハミング距離やレーベンシュタイン距離などの離散変数を持つデータポイント間の距離を定義できます。
誰でも、ワンホットエンコードするためにカテゴリカル機能を必要とするアルゴリズムのリストと、そうでないアルゴリズムのリストを提供できますか?
AFAIU、それは特定のデータでより多くのことをしなければなりません、特定のアルゴリズムではより少ないです。具体的には、カテゴリに意味のある順序があるかどうかによって異なります。
2つのケースを検討してください。最初のカテゴリにはbad、meh、goodがあり、2番目のカテゴリにはapple、orange、pearがあります。最初のケースには自然な順序があります。これは、おそらくmehがbadとgoodの中間にあるためですが、apple、orange、pearではおそらく同じようなことが起こりません。
最初のケースでワンホットエンコーディングを回避すると、注文に関する情報が「失われます」。2番目のケースでワンホットエンコーディングを使用する場合は、カテゴリに自然に当てはまらない順序を割り当てます。
アルゴリズムが距離測定基準を使用して類似性を計算するときはいつでもそれを行います。
どうして?機能の1つがカテゴリのbad、meh、goodであり、1、2、3の3つのインスタンスがあるとします。ただし、1は不良、2はmeh、3は良好です。おそらく、1は3よりも2に似ていることをアルゴリズムに表現する必要があります。
機械学習アルゴリズムは、 1つのホットエンコーディングを必要としません。これは、カテゴリー変数を処理するための1つの方法です。ダミー変数は別です。従来、ダミー変数が推奨されるソリューションでした。たとえば、R関数lm()は、カテゴリカルデータのダミー変数を自動的に作成します。Pythonとscikt-learnを使用している場合、そのアルゴリズムの多くはカテゴリ変数のワンホットエンコーディングを必要とすると思います。tensorFlowにもワンホットエンコーディングが必要だと思います。これらは、変数のエンコード方法の選択です。代わりにダミー変数をコードで使用できなかった理由はありません。これはすべて、アルゴリズムの実際のコード実装を処理する必要があります。
hxd1011が指摘するように、カテゴリー変数間の「距離」を記述する問題は微妙な問題です。上記の距離に加えて、Jaccard距離もあります。一部のMLメソッド、特にSVMはカテゴリカルデータに不適切であり、カテゴリ変数を追加すると、予測力が非常に低いモデルになる可能性があります(どちらか、両方とも決定します)。ほとんどのアンサンブルモデルは、カテゴリデータを「そのまま」処理し、前処理を必要としません。