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

Однако оправдывает ли повышение точности добавленную сложность?

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

Описание набора данных и предварительная обработка

Во-первых, давайте поговорим о наборе данных, который я использую. Доход взрослых — это набор данных, доступный в Репозитории машинного обучения UCI. Здесь мы предсказываем, превысит ли доход человека 50 тысяч долларов в год, основываясь на различных факторах, таких как уровень образования, возраст, пол, род занятий, страна проживания и т. д.

Этот набор данных имеет 14 категориальных признаков, таких как рабочий класс, семейное положение, профессия, родная страна и т. д. Я выполнил однократное кодирование для всех категориальных столбцов этого набора данных, а также удалил пропущенные значения. Это увеличило общее количество функций до 85. Так как я хотел проверить производительность различных алгоритмов с увеличенными столбцами функций. Я решил не реализовывать какой-либо алгоритм выбора функций и оставить 85 столбцов функций.

Результаты

Это результат различных моделей, обученных для 43957 точек данных и прогнозирующих 4885 точек данных. Самый высокий AUC достигается с помощью случайного леса (метод ансамбля), а самый низкий — с помощью машины опорных векторов (это неудивительно, поскольку у SVM есть проблемы с огромными наборами данных).

Если вы обратите внимание на тройку наиболее эффективных моделей Random Forest, Extra Tree и Decision Tree. Все три имеют AUC выше 70, причем обе модели ансамбля (случайный лес и дополнительное дерево) работают лучше, чем более простое дерево решений. Однако это произошло за счет увеличения времени обучения и тестирования.

Время обучения классификатора случайного леса и дополнительного дерева в 12 и 16 раз большесоответственно по сравнению с деревом решений. Кроме того, время, необходимое для прогнозирования, в 37 и 52 раза большесоответственнопо сравнению с деревом решений. Наконец, классификатор случайного леса и дополнительного дерева потребляет в 114 и 260 раз больше памяти.

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

Вывод

Увидев приведенные выше результаты, пришло время ответить на вопрос, на который мы намеревались ответить: стоит ли точность дополнительных затрат?

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

Однако рекомендуется отдавать предпочтение более простой модели, когда разница в точности незначительна. Например, в этой задаче нет большой разницы в AUC дерева решений и дополнительного дерева. Поэтому нет особого смысла выбирать модель классификации Extra Tree, учитывая ее дополнительную стоимость.

Что вы думаете об этом? Пожалуйста, оставьте комментарий ниже, я хотел бы прочитать об этом. А если вы хотите ознакомиться с моделями, которых я тренировал, вы можете найти это в этом блокноте.