。fit()方法中如何对多个标签(训练)使用一种热编码?

问题描述 投票:1回答:1

我有一个移动价格分类数据集,其中有20个要素和一个名为price_range的目标变量。我需要将移动价格分类为低,中,高,非常高。我已经将一键编码应用于目标变量。之后,我将数据分为trainX,testX,trainy,testy。因此,trainX和trainy的形状分别为(1600,20)和(1600,4)。现在,当我尝试将trainX调整为logisticRegresion时,即-> lr.fit(trainX,trainy)我收到一个错误,它说:输入错误(1600,4)因此,我知道我必须在形状上赋予训练价值(1600,1)但是通过一种热编码,按照一种热编码的概念,我为每个单独的price_range得到了4列的数组。

所以现在我完全感到困惑,人们在实践中如何使用一种热编码作为目标变量?请帮帮我。

python machine-learning classification one-hot-encoding
1个回答
0
投票

要训练模型,应仅对特征应用OneHotEncoder以获得X。并应用LabelEncoder(y)转换y。

from sklearn import preprocessing
le=preprocessing.LabelEncoder()
le.fit_transform(['a','b','a'])

并获得:

output: array([0, 1, 0])
© www.soinside.com 2019 - 2024. All rights reserved.