- Введение в инструмент TPOT

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

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

Конвейер в науке о данных представляет собой основное направление проекта в области науки о данных, состоящее из различных этапов: очистка данных, разработка функций, выбор модели, оптимизация модели и проверка модели.

Недавно я прочитал статью об автоматическом инструменте оптимизации конвейера под названием TPOT (Tree-Based Pipeline Optimization Tool). Протестированный на некоторых наборах эталонных данных из репозитория машинного обучения UC Irvine, этот инструмент демонстрирует отличный результат анализа данных, аналогичный базовому анализу машинного обучения. Между тем, этот инструмент требует меньшего количества предварительных знаний от пользователя. TPOT может автоматически исследовать комбинации предварительной обработки и операции модели и в некоторых случаях превосходить базовый анализ машинного обучения.

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

До TPOT специалисты по обработке данных разработали несколько методов автоматизации машинного обучения. Одна из самых известных библиотек - это сеточные исследования, которые исследуют комбинацию параметров, предоставленных практиками, для поиска наиболее подходящей модели. Совсем недавно было обнаружено, что случайная оценка наборов параметров дает лучшие результаты, например, байесовская оптимизация.

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

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

Традиционно генетическое программирование строит дерево, используя лист и узлы, чтобы представить математическую операцию по оптимизации определенного критерия. Листья - это операнд, а узлы - оператор, и когда они объединяются, конечный результат может быть обновлен.

Основные операторы конвейера включают препроцессоры, декомпозицию, выбор функций и модель. Препроцессоры включают StandardScalar, RobustScalar (масштабирование функций) и PolynomialFeatures (создание новых функций). Декомпозиция представляет собой «RandomizedPCA», анализ основных компонентов с использованием рандомизированного SVD. Выбор функций включает «RFE» (стратегия исключения рекурсивных функций), «SelectKBest» (выбор k лучших функций), «SelectPecentile» (выбор первых n процентилей функций) и «VarianceThreshold» (отфильтровать функции, которые не соответствуют минимальному порогу дисперсии). Модель включает DecisionTreeClassifier, RandomForestClassifier, GradiantBoostClassifier, машину опорных векторов, LogisticRegression и KNeighborsClassifier.

Для сборки древовидных конвейеров TPOT использует структуру, аналогичную показанной выше. Из нескольких копий набора данных каждый набор данных передается через один из четырех классов операторов. После этого их можно объединить, чтобы сформировать новый набор данных, создав комбинированные объекты. Тогда вы можете спросить, а что, если оператор является моделью, не будет ли это противоречить окончательному «RandomForestClassifier»? Ответ заключается в том, что если оператор является моделью, выходные данные модели будут перезаписывать предыдущий прогноз. Более того, тогда предыдущий прогноз стал бы новой функцией. «RandomForestClassifier» в конце - это окончательный прогноз.

Затем TPOT использует метод генетического программирования (GP) эволюционных вычислений для оптимизации древовидного конвейера. Генетическое программирование помогает представить вычисления каждого оператора и его параметры для максимальной точности. Каждое вычисление будет последовательностью, которую можно изменить, удалить или вставить в древовидный конвейер. Существуют также варианты конвейера TPOT, такие как TPOT-Pareto, которые могут максимизировать точность прогноза при минимизации сложности конвейера.

Для оценки производительности TPOT тестируется 7 наборов данных из репозитория машинного обучения UC Irvine. Результаты показаны ниже.

TPOT (случайное исследование) представляет собой TPOT со случайной генерацией конвейера. Обратите внимание, что отсутствующие диаграммы TPOT (случайный поиск) указывают на то, что вычисление занимает более 120 часов. Отметки на каждой прямоугольной диаграмме представляют 95% доверительный интервал медианы.

Как показано на рисунке, TPOT достигает производительности, аналогичной случайному лесу в большинстве наборов данных. Однако для некоторых наборов данных, таких как Hill Valley и оценка автомобилей, TPOT и TPOT (Парето) превосходят два других алгоритма. Как правило, у TPOT (случайного поиска) есть один серьезный недостаток - чрезвычайно долгое время работы. С другой стороны, все реплики TPOT и TPOT (Парето) выполняются в течение 48 часов. Еще один недостаток TPOT (случайного поиска) - сложность. В целом, трубопровод TPOT (Парето) обеспечивает лучшую точность при сохранении своей компактности.

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

Большое спасибо за чтение! Ваше здоровье!