Deckel wrote:Вообще-то кроме ватсона есть еще много полуавтоматизированых хреней. В sklearn это примерно так делается: непрерывные данные скалировать на [-1,1] если нет intrinsic scale, а все остальные кодировать one hot encoder. Потом на это напустить случайный лес GBM или спуск по градиенту SGD либо classifier либо regressor, если зависимая переменная непрерывная. Гиперпараметры алгоритмов подбираются методом монте-карло или прогоном по списку и cross validation, для этого тоже есть готовый фреймворк. Какие из зависимых переменных приносят пользу можно посмотреть по score который им выдает алгоритм, а потом убрать ненужные. Но с современным объемом памяти это наверное уже и не обязательно.
Остается проблема мультиколлинеарности - ну можно еще методом главных компонент PCA понизить размерность после причесывания данных.
Может я какие-то особенные случаи не учел, пусть старшие товарищи меня поправят.
Оно как бы в теории все так, но на практике все будет иначе. Я уже говорил выше, что все начинается с постановки бизнес задачи. Отсюда надо и плясать. Алгоритмов много, но надо знать какой и где применять не только с точки зрения самой задачи, но и времени вычислений, устойчивости к оферфиттингу, точности и т.п. Выборка основных переменных производится автоматически, но вопрос в том, насколько все это точно. Вы уже упоминали мультиколинеарность. Об этом сейчас много дискутируют. Т.к. оценки важности переменных будут неточными, алгоритмы, основанные на выборке по данному критерию, могут полететь. В случае линейной регрессии все кулинарные переменные могут оказаться незначимыми (их же вычисляют как маргинальные переменные), так что степ вайз селекция может не сработать. Принципиальные компоненты, да, но как их интерпретировать? А как метрику выбирать, например, для кластеров или аутлаеров. А про байес в исходных данных я вообще молчу. Так что заменить все фреймверками не получится. А ещё проблема распараллелить алгоритмы.
Короче, наблюдаем некий бум, сходный (масштаб, конечно, не тот) с концом 90-х. Только в отличие от программирования здесь математику знать надо. А вот здесь будут явные проблемы.