从OneHotEncoder获得相应的功能

时间:2019-12-01 20:11:00

标签: python machine-learning feature-selection one-hot-encoding

在使用OneHotEncoder转换要素后,我试图对数据集中的某些要素进行一些数据分析,输出显示要素13和要素21是最重要的要素,但是我怎么知道这些要素对应哪些要素至?

1 个答案:

答案 0 :(得分:0)

您可以使用.categories_属性来执行此操作。这是一个一般示例:

import numpy as np
from sklearn.preprocessing import OneHotEncoder

ohe = OneHotEncoder(sparse=False)

arr = np.random.choice(['dog', 'cat', 'ferret'], 10)
print(arr)
Out[100]: 
array(['ferret', 'ferret', 'dog', 'dog', 'cat', 'ferret', 'ferret',
       'ferret', 'dog', 'dog'], dtype='<U6')
encoded = ohe.fit_transform(arr.reshape(-1, 1))
print(encoded)
[[0. 0. 1.]
 [0. 0. 1.]
 [0. 1. 0.]
 [0. 1. 0.]
 [1. 0. 0.]
 [0. 0. 1.]
 [0. 0. 1.]
 [0. 0. 1.]
 [0. 1. 0.]
 [0. 1. 0.]]
print(ohe.categories_) # this is the line you're looking for
Out[1]: [array(['cat', 'dog', 'ferret'], dtype='<U6')]

现在只需索引此数组即可找到您的第16个和第21个特征。