20210521-skearn onehotencoder 函数

两种使用方法,

我自己开始用的比较麻烦的:

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.]])
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容