連続離散データをsklearn

二値化

条件を設定し、継続的なデータ分類カテゴリ。年齢たとえば、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)

おすすめ

転載: www.cnblogs.com/heenhui2016/p/10988059.html