Выбор моделей и фич на практике
От: rosencrantz США  
Дата: 26.04.19 04:13
Оценка:
Каким образом на практике подходят к выбору моделей и фич?

Например, стоит задача предсказывать цену квартиры на основании её свойств. Свойств пусть у нас будет штук 20 — количество комнат, площадь, этаж, возраст дома, этажность дома, и т.д.

С умным видом я могу выдвинуть гипотезу, что цена линейно зависит от всех этих параметров. Беру модель "линейная регрессия", запускаю кросс-валидацию, и вижу, что 60% угадывает правильно. Как это довести до 90%? Я могу выдвинуть много гипотез, но совершенно точно не хочу каждую проверять руками:

1. Может быть зависимость там не линейная.
2. Может быть какие-то фичи нужно учитывать не линейно, а квадратично, или брать от них логарифм или ещё что-то.
3. Может быть какие-то фичи нужно отбрасывать, но синтезировать на их основе новые — например отбросить "этаж" и "этажность дома", но добавить бинарное "последний этаж" и "первый этаж".
4. Может быть какие-то фичи нужно вообще отбрасывать.
5. Может быть модели для 1-3-комнатных квартир и для 4+-комнатных будут очень разными.
...

После некоторого знакомства с https://scikit-learn.org обнаружились:

1. Инструменты для выбора фич. Конкретно RFE хочет, чтобы ему сказали сколько фич нужно выбрать. Ну откуда я знаю сколько их нужно выбрать? Нужно выбрать достаточное их количество.
2. Инструменты для подбора параметров модели. GridSearchCV хочет, чтобы ему сказали какие значения для каких параметров рассматривать. Ну и для линейной регрессии это вообще бесполезно, т.к. у неё нечего тюнить.

Ничего похожего на "перебрать все виды регрессий какие бывают" и "сгенерировать из исходных фич разные синтетические" не нашлось. Я действительно настолько не в ту сторону думаю и это всё как-то по-другому делается?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.