VowpalWabbit неверные прогнозы. Как правильно подготовить учебные данные? - PullRequest
1 голос
/ 27 мая 2019

Я пытаюсь научиться VW прогнозировать цены на дома на основе количества спален, ванных комнат, площади и других особенностей. Моя строка с примерами тренировочных данных:

68000 '51-OMAHA-CT| city=SACRAMENTO zip=95823 state=CA beds:3 baths:1 sq__ft:1167 type=Residential sale_date=Wed-May-21-00-00-00-EDT-2008 latitude=38.478902 longitude=-121.431028
56333 '3526-HIGH-ST| city=SACRAMENTO zip=95838 state=CA beds:2 baths:1 sq__ft:836 type=Residential sale_date=Wed-May-21-00-00-00-EDT-2008 latitude=38.631913 longitude=-121.434879
68790 '2796-BRANCH-ST| city=SACRAMENTO zip=95815 state=CA beds:2 baths:1 sq__ft:796 type=Residential sale_date=Wed-May-21-00-00-00-EDT-2008 latitude=38.618305 longitude=-121.443839

ЦЕНА УЛИЦА | ... Всего около 500 записей. Мои тестовые данные (около 500 записей):

'51-OMAHA-CT| city=SACRAMENTO zip=95823 state=CA beds:3 baths:1 sq__ft:1167 type=Residential sale_date=Wed-May-21-00-00-00-EDT-2008 latitude=38.478902 longitude=-121.431028
'3526-HIGH-ST| city=SACRAMENTO zip=95838 state=CA beds:2 baths:1 sq__ft:836 type=Residential sale_date=Wed-May-21-00-00-00-EDT-2008 latitude=38.631913 longitude=-121.434879
'2796-BRANCH-ST| city=SACRAMENTO zip=95815 state=CA beds:2 baths:1 sq__ft:796 type=Residential sale_date=Wed-May-21-00-00-00-EDT-2008 latitude=38.618305 longitude=-121.443839

Прогнозирование дает следующие значения:

4819.900391 51-OMAHA-CT
4609.826172 3526-HIGH-ST
4537.140137 2796-BRANCH-ST

Это неверные прогнозы. Я не уверен, что есть проблема с моими тренировочными данными? Я все еще запутался в | символ и размещение функций.

1 Ответ

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

Когда вы создаете объект как city=SACRAMENTO, VW интерпретирует его как строковый объект с именем city=SACRAMENTO и присваивает ему неявное значение 1.0.city=SACRAMENTO хэшируется, и это формирует индекс для объекта.

Когда вы создаете элемент как beds:2, VW интерпретирует его как элемент с именем beds и значением элемента 2.0,beds хешируется и образует индекс.

Поэтому представьте элементы в форме __=__ как перечисления или значения из дискретного набора.Если у вас есть непрерывные объекты, то следует использовать значение с плавающей запятой.

Использование формата __=__ подходит для названий городов, но если вы используете этот же формат для широты и долготы, то очень маловероятно, что другой примерсобирается использовать одну и ту же строку lat / lng, чтобы использовать эту функцию в прогнозе.Мне кажется, что lat / lng должен быть feautre на основе числа с плавающей точкой.

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

...