Скажем, у меня есть такой набор данных:
breakfast lunch dinner mood
----------- ---------- --------- ------
waffles sandwich chili good
sausages sandwich pasta good
yogurt salad stew bad
gruel salad pizza bad
gruel pizza pizza good
sausages pizza pasta good
waffles salad chili good
gruel soup pizza bad
waffles soup chili good
sausages salad pasta good
waffles pizza chili good
yogurt sandwich stew good
yogurt pizza stew good
sausages soup pasta good
gruel sandwich pizza good
yogurt soup waffles good
Я хочу предсказать настроение человека на основе того, что он съел в тот день. Так что я сделаю разделение поезда / теста 70/30 и использую случайный лес, SVM или что-то подобное для построения классификатора.
По крайней мере, как я использовал их в прошлом, классификаторы, которые я Использовали жалобу, если у предиктора есть уровень в наборе тестов, который не появился в обучающем наборе. Это может произойти для последней строки, где dinner
== "waffles".
Чтобы избежать этого, я обычно удаляю строки с уровнем, частота которого меньше 10%, в любом столбце до Я делаю раскол.
Я подозреваю, что может быть лучший способ. В основном я пишу код на R, но если вы хотите опубликовать ответ в Python, я, вероятно, смогу его понять.
спасибо!