Цель
Я хочу тренировать модель с Scikit-learn, которая предсказывает результаты скачек. У меня есть файл CSV, который включает в себя несколько функций, таких как положение, возраст, вес, имя лошади, раса и т. Д. c.
Проблема
В моем исходном файле CSV каждая лошадь представлен в один ряд. С позициями от 1 до 8 каждая раса состоит из 8 рядов. Однако, когда я тренирую свою модель, модель рассматривает каждый ряд как отдельное событие (гонку) и, следовательно, не работает хорошо.
Подход
Я попытался решить эту проблему и создал новый CSV-файл, в котором каждая строка представляет одну расу и функции go от позиции1, возраста1, веса1, лошадиного имени1, расы_ид1 до позиции8. , возраст8, вес8, имя лошади8, идентификатор гонки8 (см. ниже) . Однако, используя Multioutput, в этом случае моя модель вообще не тренируется, а замечает, что age1, weight1 являются столбцами победителя и получают 100-процентную точность.
Идеи
Интересно, есть ли способ решить эту проблему. Возможно, можно использовать исходный файл, но каким-то образом сообщает модели, что строки с одинаковым race_id должны рассматриваться как одно событие . Я мог подумать об использовании groupby (race_id), но я не смог вставить новые группы в модель. Также вы можете использовать сумку для каждой расы, например, когда делаете прогнозы для текстовых данных.
Я на самом деле застрял здесь, поэтому любые предложения очень ценятся :)
ORIGINAL DF
position horse age weight race_id
1 name1 3y 900 1
2 name2 4y 800 1
3 name3 5y 760 1
... ... ... ... ...
8 name8 7y 980 1
1 name9 4y 880 2
... ... ... ... ...
8 name16 5y 770 2
NEW DF
position1 horse1 weight1 race_id1 ... position8 horse8 weight8 race_id8
1 name1 900 1 8 name8 980 1
1 name9 880 2 8 name16 770 2