Как использовать одну горячую кодировку для нескольких меток (trainy) в методе .fit ()? - PullRequest
1 голос
/ 04 ноября 2019

У меня есть набор данных для классификации мобильных цен, в котором у меня есть 20 объектов и одна целевая переменная с именем price_range. Мне нужно классифицировать мобильные цены как низкие, средние, высокие, очень высокие. Я применил однократное кодирование к моей целевой переменной. После этого я разбил данные на trainX, testX, trainy, testy. Таким образом, моя форма для trainX и trainy (1600,20) и (1600,4) соответственно. Теперь, когда я пытаюсь приспособить trainX и trainy к logisticRegresion, т.е. -> lr.fit (trainX, trainy), я получаю сообщение об ошибке: bad input (1600,4) Итак, я понял, что должен дать значение trainyв форме (1600,1), но с помощью одного горячего кодирования у меня есть массив из 4 столбцов для каждого отдельного ценового диапазона согласно концепции одного горячего кодирования.

Так что теперь я совершенно запутался, как люди используют одно горячее кодированиедля целевой переменной на практике? пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 04 ноября 2019

Чтобы обучить модель, вы должны применять OneHotEncoder только к функциям, чтобы получить X. И применять LabelEncoder () для конвертации y.

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

и усиления:

output: array([0, 1, 0])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...