【发布时间】:2017-09-05 16:29:15
【问题描述】:
所以,目前我有一堆字符串分类特征,我正在将它们转换为一个热编码,如下所示
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
X_str = np.array([['a', 'dog', 'red'], ['b', 'cat', 'green']])
# transform to integer
X_int = LabelEncoder().fit_transform(X_str.ravel()).reshape(*X_str.shape)
# transform to binary
X_bin = OneHotEncoder().fit_transform(X_int).toarray()
print(X_bin)
# [[ 1. 0. 0. 1. 0. 1.]
# [ 0. 1. 1. 0. 1. 0.]]
这行得通。
但是,我正在尝试找出从特征到激活维度的映射
因此,例如,'a' 映射为 0(因为特征向量中的第 0 个索引设置为 1)
'b' 映射为 1(因为特征向量的第一个索引设置为 1)
'cat' 映射到 2(因为特征向量的第二个索引设置为 1)
所以,我想在字典中获取所有这些映射。 实现这些目标的好方法是什么。
【问题讨论】:
标签: python numpy scikit-learn