Несмотря на всю шумиху вокруг глубокого обучения, по моему опыту, более 95% времени мы должны иметь дело с простыми файлами csv, другими словами, с табличными данными. Итак, вопрос для меня: Можем ли мы использовать глубокое обучение для табличных данных?

Чтобы ответить на этот вопрос, я использовал Набор данных об удовлетворенности клиентов Sandander от Kaggle. Я выбрал этот набор, потому что он очень похож на наборы данных, с которыми обычно работают наши клиенты. И похоже, что Сандердер пытается сделать прогноз оттока, что всегда является горячей темой.

Зачем вообще рассматривать глубокое обучение?

Вот этот знаменитый график, представленный ниже, который показывает, что чем больше данных вы отправляете на глубокое обучение, тем больше оно улучшается, тогда как традиционные модели машинного обучения выходят на плато.

Данные

Тестовые данные содержат 370 функций и около 76 000 точек данных. Цель состоит в том, чтобы предсказать счастливых и недовольных клиентов. Если вы посмотрите на данные, то увидите, что около 4% клиентов недовольны.

Я не делал никакой предварительной обработки данных, кроме масштабирования признаков. (это означает, что все значения попадают в один и тот же диапазон). Пропуск этих дополнительных шагов значительно упрощает прогнозирование для большинства алгоритмов.

Настройка теста

Настройка теста довольно проста. Я использовал файл обучающих данных, масштабировал их функции и прогнал файл через несколько выбранных алгоритмов. В качестве целевой функции я использовал официальную метрику задачи Kaggle, которая представляет собой площадь под кривой ROC (рабочая характеристика приемника).

Чтобы правильно протестировать настройку, я использовал среднее значение результатов перекрестной проверки.

Результаты

Резюме

Приведенная выше таблица ясно показывает, что многие методы ансамбля по-прежнему работают лучше, чем глубокое обучение. Еще одна веская причина не выбирать глубокое обучение заключается в том, что оно требует больших вычислительных ресурсов. Несмотря на эти недостатки, есть веские причины предпочесть глубокое обучение традиционным методам:

  • Объединение различных типов данных. Вы можете комбинировать изображения, произвольный текст и табличные данные в одной модели глубокого обучения, что может быть довольно сложно для других алгоритмов машинного обучения.
  • Большие данные. Ваши табличные данные со временем могут превратиться в большие данные. Когда это произойдет, ваша модель глубокого обучения будет продолжать совершенствоваться, в то время как традиционные модели остановятся.
  • Требуется меньше функций. Традиционные алгоритмы машинного обучения обычно требуют больших знаний в предметной области. Благодаря глубокому обучению можно получить отличные результаты, не требуя особых усилий по разработке функций.

Если вы хотите провести тест самостоятельно, загляните в мой репозиторий Github.