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

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

  1. Обобщение: модель должна быть в состоянии оптимально и точно работать с зашумленными данными в разных приложениях, то есть изменения во входных данных должны по-прежнему давать допустимые выходные данные.
  2. Регуляризация: модель должна давать точные результаты с учетом предвзятых данных, то есть хранилища данных в приложениях отраслевого уровня создают ошибочные модели при простом обучении из-за хаотического распределения данных, поскольку они либо не подходят, либо переоснащаются.
  3. Воспроизводимость: модель дает одинаковые выходные данные для одного и того же входа в двух разных временных фазах или приложениях.

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

Библиотека python, используемая в этой статье, называется XGBoost и является широко используемой библиотекой повышения градиента на таких платформах, как Kaggle, Topcoder и Tunedit. Преимущество использования XGBoost проистекает из того факта, что библиотека реализует регуляризованный подход к настройке модели путем создания деревьев слабых классификаторов (и она совместима с scikit-learn и Tensorflow, двумя наиболее широко используемыми библиотеками машинного обучения прямо сейчас. )

Набор данных, используемый в этой статье, представляет собой набор данных pima-indian-diab, который состоит из 10 параметров. Начнем с импорта необходимых библиотек

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

Следующий шаг - передать две переменные в нашу функцию поиска по сетке и подогнать модель под наши данные.

Эту простую реализацию можно распространить на более крупные приложения, просто изменив входные данные в методе .fit ().

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

Мы используем тот же набор данных, но на этот раз мы создаем переменную с именем dtrain, которая имеет тип «xgboost.core.DMatrix», который представляет собой многомерное матричное представление, используемое в обучении xgboost.

Теперь у XGBoost есть очень хорошее свойство, называемое .get_dump (), которое предоставляет подробную информацию о каждом созданном дереве, а также о том, как дерево было разделено по определенному параметру. Мы используем это свойство, чтобы определить важность всех параметров и сравнить их. Не забудьте создать пустой текстовый файл с именем featmap.txt в своем рабочем каталоге .

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

Полный код доступен в конце этой статьи. Щелкните баннер!

Чтобы лучше понять, как работает настройка гиперпараметров и как можно использовать библиотеки, отличные от sklearn, ознакомьтесь с этой статьей в блоге neptune.ai.

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