Использование закодированного целевого значения - PullRequest
0 голосов
/ 27 мая 2019

У меня есть фрейм данных pandas, и один столбец - это мое целевое значение, которое является категоричным.

Я использовал get_dummies для кодирования моего целевого значения.Теперь у меня есть закодированное целевое значение в 5 закодированных столбцах, потому что у моего целевого значения есть 5 категорий.

Мой вопрос заключается в том, как я могу рассмотреть все эти 5 столбцов в методе линейной регрессии?

У меня x_dummies в качестве моего зависимого значения dataframe и y_dummies в качестве фрейма данных целевого значения с 5 столбцамизакодированные значения.

У меня никогда не было целевого значения более чем в одном столбце!Это правильно?

Ссылка на задание: https://www.cs.waikato.ac.nz/~eibe/pubs/ordinal_tech_report.pdf

regr = linear_model.LinearRegression()
regr.fit( x_dummies_training, y_dummies_training)

1 Ответ

1 голос
/ 27 мая 2019

Если ваша цель категориальна, вы можете использовать классификатор, а не регрессор.
Вы можете прочитать эту статью , чтобы понять разницу, если хотите.
Так что в вашем случае выхотел бы использовать классификатор и сохранить вашу цель y как одну переменную вместо одного горячего кодирования.
Если вы хотите математическую модель, которую легко интерпретировать (я догадался, что вы используете линейную регрессию), вы можете захотеть многочленлогистическая регрессия:

from sklearn.linear_model import LogisticRegression
clf = LogisticRegression(random_state=0, solver='lbfgs',
    multi_class='multinomial').fit(X, y)

Возможно, вы захотите проверить sklearn документацию .
Вы также можете попробовать очень популярные методы повышения деревьев, которые должны дать вам лучшие результаты: check catboost в качестве примера.

...