設定乙個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特徵交給邏輯回歸模型,這樣做的優勢有以下幾點 離散特徵的增加和減少都很容易,易於模型的快速迭代 這個點理解 稀疏向量內積乘法運算速度快,計算結果方便儲存,容易擴充套件 離散化後的特徵對異常資料有很...