用分类数据的功能我想了解如何使用分类数据作为sklearn.linear_model
的LogisticRegression
功能。在sklean逻辑回归
我明白了,我当然要对其进行编码。
我不明白的是如何编码的功能传递给Logistic回归,所以它作为一个明确的功能处理,而不是解释为标准量化的特征编码时,它得到了int值。
(不太重要)有人能解释一下使用
preprocessing.LabelEncoder()
,DictVectorizer.vocabulary
或只是一个简单的字典编码自己分类数据之间的差异? Alex A.'s comment here涉及这个问题,但不是很深入。
尤其是第一个!
感谢您的回复。转换本身不是问题(我认为),我主要关心的是后勤注册会将数值视为标准数值,因此如果Cat编码为1和狗作为2,它会假设'狗'的观察结果具有'更多'该属性,而我们知道分配的值是没有意义的。 – Optimesh
@Optimesh,你是什么意思的“编码”?如果你正在谈论目标变量 - 目标没有问题[1,2,3],LogisticRegression将简单地构建3(在这种特殊情况下)分类器并将它们组合到OneVsRest方案中。 如果您在谈论功能 - OneHotEncoder将以二进制格式对每个分类功能进行编码,即它将创建新的二进制功能,而不是分类功能的每个可能的值,即结果数据集将具有用于值的单独二进制功能(列)Dog = 1,Dog = 2,Dog = 3,Cat = 1等。查看官方文档中的示例。 –