Я работаю с набором данных, который имеет комбинацию числовых функций и функций, которые являются категориями, но закодированы целыми числами. Например, если бы это была лошадь раса,Должен ли я оставлять функции с числовыми категориями или создавать фиктивные переменные?
horse_id race_date track_no race_number barrier_number won_race
1 2016-10-01 100 1 4 1
2 2016-10-01 100 1 3 0
1 2016-10-15 200 3 5 0
...
Так что, если я создаю модель вероятности лошади выиграть гонку, и используя такие функции, как race_number
(может быть несколько гонок на ту же дорожку в тот же день, чтобы это повлияло на условия дорожки) и barrier_number
(лошадь может предпочесть быть внутри внутренних барьеров или внешних и т. д.), следует ли оставить эти функции такими, какие есть, или создать фиктивные переменные, указывающие 1 (наличие) и 0 (отсутствие) переменной на каждой строке?
Это тривиальный пример, но эти столбцы могут иметь большое количество возможных значений, а создание фиктивных переменных значительно увеличит размерность функций. Это компромисс, который нужно сделать, или просто оставить один столбец?
Редактировать: Кроме того, если я оставлю столбцы такими, какие есть, и скрыл его в виде dtype в пандах, это хорошая практика? Будут ли существующие библиотеки ML, такие как Scikit-learn, обрабатывать правильно?
Число в порядке, но их класс должен быть фактором. –
Не плохой вопрос, но поскольку вы не спрашиваете, как технически это сделать в R или python, лучше спросить на http://stats.stackexchange.com. –
@ChirayuChamoli спасибо. будет ли фактор типа или категории в пандах работать хорошо, когда я применяю их к алгоритмам ML? – sfactor