二値化
条件を設定し、継続的なデータ分類カテゴリ。年齢たとえば、30より大きいと、30未満。
from sklearn.preprocessing import Binerize as Ber
x = data_2.iloc[:,0].values.reshpe(-1,1) #提取数据
trans = Ber(threshold = 30).fit_transform(x)
trans
これは、他は0に設定され、設定されたX> 1〜30です。
タグ
時には、データはデータビニング処理を必要とする、または別のデータに異なるラベルを設定することがあります。
from sklearn.preprocessing import LabelEncoder as le
l = le()
l=l.fit(y)
label =l.transform(y)
Lは、クラスの合計数を確認するためにclasses_プロパティをターゲットにすることができます。
l.classes_
array(['No', 'Unknown', 'Yes'], dtype=object)
ラベルは、処理されたデータです。直接は書かれて:
from sklearn.preprocessing import LabelEncoder
data.iloc[:,-1]=LabelEncoder().fit_transform(data.iloc[:,-1])
ワンホットエンコーディング
データは秩序であるが、計算できない場合。たとえば、プライマリ、セカンダリ、大学。それぞれ1,2,3代替する場合。そう計算は、2は、2つの小学校と中等学校に至るまで、1 + 1のように考えることができるので、彼らはそのようなデータの別の分類学的組成物であることが必要です。
stu_id | 小学校 | ハイスクール | 大学 |
---|---|---|---|
1234 | 1 | ||
1235 | 1 | ||
1236 | 1 |
この方法は、ワンホットエンコーディングと呼ばれています。
from sklearn.preprocessing import OneHotEncoder
enc=OneHotEncoder(categories='auto').fit(x)
名前を表示するget_feature_namesを()使用します。
enc.get_feature_names()
enc.get_feature_names()
結果は、スパース行列である、のtoArray()メソッドを必要とします。
result=OneHotEncoder(categories='auto').fit_transform(x).toarray()
最後に、オリジナルデータ、再抽出への接続の結果。
newdata=pd.concat([data, pd.DataFrame(result)],axis=1)