OneHotEncoder中的active_features_属性

时间:2015-11-08 08:22:36

标签: machine-learning scikit-learn

我是机器学习的新手,我正在努力了解OneHotEncoder的功能。我可以将它与LabelEncoder等其他东西区分开来。特别是,我发现active_features_上的文档特别令人困惑。

http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html#sklearn.preprocessing.OneHotEncoder

feature_indices_

的文档中也提到了这一点
  

feature_indices_:
  形状数组(n_features,)
  特征范围的指数。原始数据中的特征i映射到feature_indices_ [i]到feature_indices_ [i + 1]的特征(之后可能被active_features_屏蔽)

这是什么意思,这里的面具是什么?

谢谢!

1 个答案:

答案 0 :(得分:6)

OneHotEncoder编码categorical特征,(特征值是分类的),例如特征“车辆”可以具有来自集合{“car”,“motorcycle”,“truck”,......}的值。当一个暗示您在这些值之间没有任何顺序时使用此要素类型,例如汽车不能与摩托车或卡车相媲美,虽然你用整数编码设置“汽车”,“摩托车”,“卡车”},你想要学习估算器,这并不意味着分类特征值之间的任何关系。要将此要素类型转换为二进制或有理数,并仍然保持无序值的属性,可以使用One Hot Encoding。这是一种非常常见的技术:它将创建n个新的二进制要素,而不是原始数据集中的每个分类要素,其中n - 原始分类要素中的唯一值数。如果您想知道这些新二进制特征在结果数据集中的确切位置 - 您必须使用feature_indices_属性,原始数据集中分类特征i的所有新二进制特征现在都在列{ {1}}新数据集。

OneHotEncoder根据数据集中此功能的值确定每个分类要素的范围,请看以下示例:

feature_indices_[i]:feature_indices_[i+1]