2

Я делаю линейную регрессию с несколькими переменными. В моих данных у меня есть n = 143 особенности и m = 13000 примеры обучения. Некоторые из моих функций - непрерывные (порядковые) переменные (площадь, год, количество комнат). Но у меня также есть категориальные переменные (район, цвет, тип). На данный момент я представил некоторые из моих возможностей против прогнозируемой цены. Например вот сюжет area против предсказанного price: enter image description hereКак визуализировать (сделать график) выход регрессии против категориальной входной переменной?

Поскольку area непрерывно порядковой переменный у меня не было никаких проблем визуализации данных. Но теперь я хотел как-то визуализировать зависимость моих категориальных переменных (таких как округ) от прогнозируемой цены. Для категориальных переменных я использовал однострунную (фиктивную) кодировку.
Например, что такие данные:
enter image description here

обратился к этому формату: enter image description here

Если бы я использовал порядковое кодирование для районов таким образом:

DistrictA - 1 
DistrictB - 2 
DistrictC - 3 
DistrictD - 4 
DistrictE - 5 

Я бы сюжета этих значений против прогнозируемой цены довольно легко, поставив 1-5 на ось X и цену на ось Y.

Но я использовал фиктивное кодирование, и теперь я не знаю, как я могу показать (визуализировать) зависимость между ценой и категориальной переменной «Район», представленную как ряд нулей и единиц.

Как я могу составить график, показывающий регрессионную линию округов по сравнению с прогнозируемой ценой в случае использования фиктивного кодирования?

+0

Перекрестная ссылка на Stats.SE, SO и DataScience.SE: http://stats.stackexchange.com/q/186027/2921, http://stackoverflow.com/q/34193685/781723, http: //datascience.stackexchange.com/q/9301/8560. Пожалуйста, не публикуйте тот же вопрос на нескольких сайтах (http://meta.stackexchange.com/q/64068). У каждого сообщества должен быть честный ответ на вопрос, если никто не будет потрачен впустую. –

+0

Я голосую, чтобы закрыть этот вопрос как не по теме, потому что он был размещен на нескольких сайтах Stack Exchange. – Matt

ответ

1

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


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

plot.scatter(0, predict(data["DistrictA"==1])) 
plot.scatter(1, predict(data["DistrictB"==1])) 

И так далее. (Возможно, вам нужно предоставить вектор x того же размера, что и отфильтрованный вектор данных.) Это выглядит еще лучше, если вы можете добавить небольшое случайное возмущение в координату x.

Смежные вопросы