Я пытаюсь научить 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
Это не правильные прогнозы. Я не уверен, есть ли проблема с моими тренировочными данными? Я все еще не понимаю | char и особенности размещения.
Когда вы создаете функцию как city=SACRAMENTO
, VW интерпретирует ее как строковую функцию с именем city=SACRAMENTO
и присваивает ей неявное значение 1.0
. city=SACRAMENTO
хэшируется, и это формирует индекс для функции.
Когда вы создаете функцию как beds:2
, VW интерпретирует ее как функцию с именем beds
и значением функции 2.0
. beds
хэшируется и формирует индекс.
Поэтому думайте о функциях в форме __=__
как о перечислениях или значениях из дискретного набора. Когда у вас есть непрерывные функции, следует использовать значение с плавающей запятой.
Использование формата __=__
кажется подходящим для названий городов, но когда вы используете тот же формат для широты и долготы, очень маловероятно, что другой пример будет использовать ту же самую точную строку широты/долготы, чтобы использовать эту функцию в прогнозе. Мне кажется, что широта/долгота должна быть функцией с плавающей запятой.
Для sale_date
у вас аналогичная проблема. Возможно, это больше связано с разработкой функций, но, возможно, вы захотите разделить эту функцию на год, день недели, месяц и т. д.
Можете ли вы использовать опцию
--audit
, чтобы получить представление о том, как vw видит функции?