20210521-skearn onehotencoder 函数
2021-05-21 本文已影响0人
野山羊骑士
两种使用方法,
我自己开始用的比较麻烦的:
enc = preprocessing.OneHotEncoder()
enc.fit([[0],[1],[2]])
train_y = enc.transform(train_y).toarray()
def feature_onthot(col):
enc = OneHotEncoder()
enc.fit(np.array(category_dic[col]).reshape(-1,1))
onehot_col = enc.transform(np.array(data[col]).reshape(-1,1)).toarray()
return onehot_col
category_feature_sum = np.hstack((feature_onthot(i) for i in category_feature))
还有一种简单的:
官网的例子:https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html
>>> enc = OneHotEncoder(handle_unknown='ignore')
>>> X = [['Male', 1], ['Female', 3], ['Female', 2]]
>>> enc.fit(X)
OneHotEncoder(handle_unknown='ignore')
>>> enc.categories_
[array(['Female', 'Male'], dtype=object), array([1, 2, 3], dtype=object)]
>>> enc.transform([['Female', 1], ['Male', 4]]).toarray()
array([[1., 0., 1., 0., 0.],
[0., 1., 0., 0., 0.]])