我试图通过 python 和 scikit-learn 了解 onehotencoding 过程的输出。我相信我得到了一种热编码的想法。即,将离散值转换为值为“on”的扩展特征向量,以识别分类的成员资格。也许我弄错了,这让我感到困惑,但这是我的理解。
所以,从这里的文档:http: //scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html
我看到以下示例:
>>> from sklearn.preprocessing import OneHotEncoder
>>> enc = OneHotEncoder()
>>> enc.fit([[0, 0, 3], [1, 1, 0], [0, 2, 1], [1, 0, 2]])
OneHotEncoder(categorical_features='all', dtype=<... 'numpy.float64'>,
handle_unknown='error', n_values='auto', sparse=True)
>>> enc.n_values_
array([2, 3, 4])
>>> enc.feature_indices_
array([0, 2, 5, 9])
>>> enc.transform([[0, 1, 1]]).toarray()
array([[ 1., 0., 0., 1., 0., 0., 1., 0., 0.]])
有人可以解释一下数据 [[0, 0, 3], [1, 1, 0], [0, 2, 1], [1, 0, 2]] 是如何最终转换为 [[ 1., 0., 0., 1., 0., 0., 1., 0., 0.]]?
如何使用转换参数 [0, 1, 1]?
非常感谢您对此的任何帮助
乔恩