データプリプロセッシングのユニサーマルコーディング(One-Hot Encoding)

4752 ワード

問題の由来
多くの機械学習タスクでは、フィーチャーは常に連続値ではなく、分類値である可能性があります.
たとえば、次の3つの特徴を考慮します.
["male","female"]
["from Europe","from US","from Asia"]
["uses Firefox","uses Chrome","uses Safari","uses Internet Explorer"]

上記の特徴を数字で表すと、効率が高くなります.例:
["male","from US","uses internet Explorer"] [0,1,3]
["female","from Asia","uses Chrom"] [1,2,1]

しかし、数値表示に変換しても、上記のデータは私たちの分類器に直接使用することはできません.分類器は、デフォルトのデータが連続しており、秩序化されているためです.しかし,我々の上述の表現によれば,配列は秩序化されているのではなく,ランダムに割り当てられている.
ユニヒートコーディング
上記の問題を解決するために、1つの可能な解決策は、ユニヒートコーディング(One-Hot Encoding)を用いることである.
独熱符号化はOne-Hot符号化であり、有効符号化とも呼ばれ、その方法はNビットレジスタを用いてN個の状態を符号化し、各状態は彼の独立したレジスタビットによって行われ、任意の場合、そのうち1ビットのみが有効である.
たとえば、上記の「性別」の特徴には、male,femaleの2つの可能な分類があります.10,01,毎回1ビットしかアクティブ化されていない2ビット符号化で表すことができる
「属する領域」には、Europe,US,ASiaの3つの可能な分類があります.では、100010001は3ビット符号化で表され、毎回1ビットしかアクティブになりません.
「ブラウザを使用する」には、4つの可能な分類があります.すなわち、Firefox、Chrome、Safari、IEは、4ビット符号化で表されます.1000000001000001、1000001、毎回1ビットしかアクティブになりません.
例:
["male","Asia","Safari"], :[1,0,0,0,1,0,0,1,0]

各特徴についてm個の可能な値がある場合、独熱符号化後、m個の園特徴がプログラミングされることが理解される.さらに,これらの特徴は反発し,毎回1つだけアクティブ化される.そのため、データはまばらになります.
このようなメリットは主に:1.分類器が属性データを処理しにくいという問題を解決した.
2.ある程度特徴を拡張する役割も果たしている
例を挙げる
from sklearn import preprocessing
enc=preprocessing.OneHotEncoder()
enc.fit([[0,0,3],[1,1,0],[0,2,1],[1,0,2]])
enc.transfrom([[0,1,3]]).toarray()

出力結果:
array([1, 0,0,1,0,0,0,0,1])

離散型特徴と連続型特徴が併存する場合を処理し,どのように正規化するか
例えば、取得した元の特徴を取得するには、それぞれの特徴を正規化しなければならない.例えば、特徴Aの値範囲は[-10001000]、特徴Bの値範囲は[-1,1]である.
logistic回帰を使用すると、w 1*x 1+w 2*x 2は、x 1の値が大きすぎるため、x 2はほとんど機能しません.したがって,特徴の正規化が必要であり,各特徴は単独で正規化される.
連続特徴正規化の一般的な方法:1.[-1,1]
2.平均値0、分散値1に縮小
 
離散的特徴の処理方法:離散的特徴については基本的にOne-Hot符号化であり,この離散的特徴がどれだけ値をとるかは,その特徴を何次元で表す.
 
なぜOne-Hot符号化を用いて離散型特徴を処理するのか.
1、One-Hot符号化を用いて、離散特徴の取値をヨーロッパ空間に拡張し、離散特徴のある取値はヨーロッパ空間のある点に対応する
2、離散特徴をOne-Hot符号化によりヨーロッパ空間にマッピングするのは、回帰、分類、クラスタリングなどの機械学習アルゴリズムにおいて、特徴間距離の計算や類似度の計算が非常に重要であり、我々がよく使う距離と類似度の計算はすべてヨーロッパ空間での類似度計算であり、余弦類似性の計算であり、ヨーロッパ空間に基づいているからである.
3、離散特徴をOne-Hot符号化することで、確かに特徴間の距離計算をより合理的にすることができる.しかし、特徴が離散的で、One-Hot符号化を用いずに距離を合理的に計算できる場合、One-Hot符号化を行う必要はありません.例えば、この離散特徴は1000個の値を取り、私たちは2つのグループに分けて、それぞれ400と600で、2つのグループ間の距離には適切な定義があり、グループ内の距離にも適切な定義があり、One-Hot符号化する必要はありません.
離散的特徴がOne-Hot符号化された後,符号化された特徴は,実際には各次元の特徴が連続的特徴と見なすことができ,連続的特徴の正規化方法と同様に各次元を正規化することができる.例えば,[−1,1]に正規化するか,平均値が0,分散が1に正規化する.
 
特徴の正規化を必要としない場合があります.
ツリーベースの方法では,ランダム森林,baggin,boostingなどの特徴の正規化は必要なく,パラメータベースのモデルや距離ベースのモデルでは,特徴の正規化が必要である.
 
転載先:https://www.cnblogs.com/zhibei/p/9578203.html