机器学习特征处理常用方法

1 使用均值填充

#空值的处理
X = X.replace("?", np.NAN)
# 使用Imputer给定缺省值,默认的是以mean
# 对于缺省值,进行数据填充;默认是以列/特征的均值填充
imputer = Imputer(missing_values="NaN")
X = imputer.fit_transform(X,Y)

2 字符数据进行编码

from sklearn.preprocessing import OrdinalEncoder

oe = OrdinalEncoder()
#线上线下数据融合,防止编码过程中出现线下数据有编码,线上数据无编码的情况
oe.fit(x_all)
x = oe.transform(x)
x_on = oe.transform(x_on)

3 实现亚编码

from sklearn.preprocessing import label_binarize
label_binarize(y_test[names[-4]],classes=(0,1,2)).T[0:-1].T.ravel()

LabelEncoder

from sklearn.preprocessing import LabelEncoder
import pandas as pd
a = pd.DataFrame([["b",2,3],
                  ["a",5,6],
                  ["a",8,9]],columns = ["feature_1", "feature_2", "label"])
laCoder = LabelEncoder()
b = pd.DataFrame(laCoder.fit_transform(a["feature_1"]))
pd.concat([a,b],axis=1)

 

你可能感兴趣的:(机器学习)