sklearn連續型資料離散化

2022-02-25 01:12:54 字數 1427 閱讀 6493

設定乙個condition,把連續型的資料分類兩類。比如age,大於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

這是x中》30的設定為1,其他的設定為0.

有時資料可能需要對資料進行分箱化處理,或者給不同的資料設定不同的標籤。

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)

label中就是處理過的資料。可直接寫成:

from sklearn.preprocessing import labelencoder

data.iloc[:,-1]=labelencoder().fit_transform(data.iloc[:,-1])

如果資料是有序,但不能進行計算。比如小學、中學、大學。如果用1,2,3分別進行替代。那麼計算時,可能會將2視作1+1,兩個小學加起來和中學不等,因此需要將它們單獨分類組成這樣的資料:

stu_id

小學中學

大學1234

11235

11236

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)

連續資料離散化

資料規範化 import pandas as pd datafile eeeee chapter4 demo data discretization data.xls 引數初始化 data pd.read excel datafile 讀取資料 data data u 肝氣鬱結證型係數 copy k...

連續資料的離散化

1.分段類散 同步pandas.cut對值進行分段劃分,進行離散化。類散化後是分段的index。import pandas as pd data 1,3,6,20,50,100 w 0,10,50,100 v 5data cut1 pd.cut data,w,labels false data cu...

連續特徵離散化

參考知乎使用者 在工業界,很少直接將連續值作為邏輯回歸模型的特徵輸入,而是將連續特徵離散化為一系列0 1特徵交給邏輯回歸模型,這樣做的優勢有以下幾點 離散特徵的增加和減少都很容易,易於模型的快速迭代 這個點理解 稀疏向量內積乘法運算速度快,計算結果方便儲存,容易擴充套件 離散化後的特徵對異常資料有很...