ホットエンコードされたテキストは、治療を属性

学習出典:こちらをクリックして壁紙

テキスト属性データがある場合には、機械学習アルゴリズムは、今回のデジタルテキスト属性に変換する必要があり、ハンドルテキスト属性に容易ではありません。変換、属性間の配列の関係は、例えば:(冷たい、暖かい、熱)をコードする整数に直接使用することができる場合;しかし、属性間のシーケンス関係、例えば:()、赤、緑、青が存在しない場合には、熱のみを使用することができますコーディング。

ホットは、符号化:符号化された属性は、属性の残りの値は、1であり、0

まず、人工的なワンホットエンコーディング

numpyのimprot ARGMAX 

データ = ' Hello Worldの' 
アルファベット = ' abcdefghigklmnopqrstuvwxyz ' 
char_to_int = dictの((C、I)のための I、C 列挙(アルファベット))
int_to_char = dictの((I、C)のための I、C 列挙(アルファベット))
整数编码 
integer_encoded = [char_to_int [CHAR] のためのチャーデータ】
 プリント(integer_encoded)
独热编码 
OneHot_Encoder = リスト()
 のための I integer_encoded:
     レター = [0 ため _ 範囲(LEN(アルファベット))] 
     レター[I] = 1。
     OneHot_Encoder.append(文字)
印刷(OneHot_Encoder)
ホット符号化からデータを回復 
倒立= int_to_char [ARGMAX(OneHot_Encoder [0] )]
 印刷(反転)
 
#output:

二、Scikit-学びホットエンコード

numpyのインポートARGMAX
 から numpyのインポート配列
 から sklearn.preprocessing インポートLabelEncoder
 から sklearn.preprocessing インポートOneHotEncoder 

编码整数 
データ=配列([ ' 冷たい'' 冷たい'' 暖かい'' 暑い'' 暖かい'コールドホット熱いです' ' 暖かい' ' ' ])
label_encoder = LabelEncoder()
label_encoded = label_encoder.fit_transform(データ)
 の印刷(label_encoded)
独热编码 
onehot_encoder = OneHotEncoder(カテゴリ= ' 自動' 
onehot_encoded = onehot_encoder.fit_transform(label_encoded。変形(-1、1 ))
onehot = onehot_encoded.toarray()
 プリント(onehot)
恢复编码 
状態= label_encoder.inverse_transform([ARGMAX(onehot [0:])])
印刷(状態)

#output:
 

 

おすすめ

転載: www.cnblogs.com/pineapple-chicken/p/12402273.html