擅长:python、mysql、java
<p>如果我理解正确,您可以使用<code>feature_indices_</code>来标识哪些列对应于哪个功能。</p>
<p>例如</p>
<pre><code>import pandas as pd
from sklearn.preprocessing import OneHotEncoder
data = pd.DataFrame({"a": [0, 1, 2,0], "b": [0,1,4, 5], "c":[0,1,4, 5]}).as_matrix()
ohe = OneHotEncoder(sparse=False)
ohe_fitted = ohe.fit_transform(data)
print(ohe_fitted)
print(ohe.feature_indices_) # [ 0 3 9 15]
</code></pre>
<p>从上面的<code>feature_indices_</code>我们知道如果我们拼接来自<code>0:3</code>的一个热编码数据,我们将得到与<code>data</code>中第一列对应的特征,如下所示:</p>
<pre><code>print(ohe_fitted[:,0:3])
</code></pre>
<p>拼接数据中的每一列表示第一个要素中的值。第一列是0,第二列是1,第三列是2。为了在拼接数据上演示这一点,列标签如下所示:</p>
<pre><code> a_0 a_1 a_2
[[ 1. 0. 0.]
[ 0. 1. 0.]
[ 0. 0. 1.]
[ 1. 0. 0.]]
</code></pre>
<p>请注意,在对特征进行编码之前,首先对其进行排序。</p>