如何在 .fit() 方法中对多个标签(trainy)使用一种热编码?
How to use one hot encoding for multiple label(trainy) in .fit() method?
我有一个移动价格分类数据集,其中有 20 个特征和一个名为 price_range 的目标变量。我需要将手机价格分为低、中、高、非常高。我已经对我的目标变量应用了单热编码。之后,我将数据拆分为 trainX、testX、trainy、testy。所以我的 trainX 和 trainy 形状分别是 (1600,20) 和 (1600,4)。
现在,当我尝试将 trainX 和 trainy 拟合到 logisticRegression 时,
即 -> lr.fit(trainX,trainy)
我收到一个错误,它说:输入错误 (1600,4)
所以,我明白我必须在形状 (1600,1) 上给出训练值
但是通过一种热编码,根据一种热编码的概念,我为每个人 price_range 得到了 4 列的数组。
所以现在我完全困惑人们如何在实践中对目标变量使用一种热编码?
请帮帮我。
要训练模型,您应该只对特征应用 OneHotEncoder 以获得 X。
并应用 LabelEncoder() 转换 y.
from sklearn import preprocessing
le=preprocessing.LabelEncoder()
le.fit_transform(['a','b','a'])
并获得:
output: array([0, 1, 0])
我有一个移动价格分类数据集,其中有 20 个特征和一个名为 price_range 的目标变量。我需要将手机价格分为低、中、高、非常高。我已经对我的目标变量应用了单热编码。之后,我将数据拆分为 trainX、testX、trainy、testy。所以我的 trainX 和 trainy 形状分别是 (1600,20) 和 (1600,4)。 现在,当我尝试将 trainX 和 trainy 拟合到 logisticRegression 时, 即 -> lr.fit(trainX,trainy) 我收到一个错误,它说:输入错误 (1600,4) 所以,我明白我必须在形状 (1600,1) 上给出训练值 但是通过一种热编码,根据一种热编码的概念,我为每个人 price_range 得到了 4 列的数组。
所以现在我完全困惑人们如何在实践中对目标变量使用一种热编码? 请帮帮我。
要训练模型,您应该只对特征应用 OneHotEncoder 以获得 X。 并应用 LabelEncoder() 转换 y.
from sklearn import preprocessing
le=preprocessing.LabelEncoder()
le.fit_transform(['a','b','a'])
并获得:
output: array([0, 1, 0])