Идея

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

набор данных

Мы будем использовать набор данных под названием Симптомы боли в нижней части спины от Kaggle.



О наборе данных

310 наблюдений, 13 атрибутов (12 числовых предикторов, 1 атрибут бинарного класса — без демографических данных)

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

* Могут быть раздражены крупные нервные корешки в нижней части спины, которые идут к ногам.

* Меньшие нервы, которые иннервируют нижнюю часть спины, могут быть раздражены

* Большие парные мышцы поясницы (выпрямители позвоночника) могут быть напряжены

* Кости, связки или суставы могут быть повреждены

* Межпозвонковый диск может дегенерировать

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

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

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

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

Набор данных состоит из:

1. Двенадцать числовых признаков, ведущих к проблеме с позвоночником.

2. Атрибут класса указывает, есть ли у человека проблемы с позвоночником или нет.

3. Всего 311 наблюдений.

Подход

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

  • nump: Это популярная библиотека для числовых вычислений в Python.
  • pandas: Предоставляет структуры данных и функции для обработки и анализа данных.
  • matplotlib.pyplot: это библиотека для создания визуализаций в Python.
  • seaborn: это библиотека визуализации данных, основанная на matplotlib, предоставляющая высокоуровневый интерфейс для создания привлекательной и информативной статистической графики.
  • sklearn.preprocessing: Он предоставляет различные классы для предварительной обработки данных, включая масштабирование, кодирование и вменение.
  • sklearn.svm: Он включает в себя реализацию машин опорных векторов (SVM), популярного алгоритма машинного обучения, используемого для задач классификации и регрессии.
  • sklearn.naive_bayes: Он обеспечивает реализацию наивного алгоритма Байеса, вероятностного классификатора, основанного на теореме Байеса.
  • sklearn.linear_model: Он включает в себя реализацию различных линейных моделей, таких как логистическая регрессия.
  • xgboost: это оптимизированная библиотека повышения градиента, которая обеспечивает эффективную реализацию алгоритмов повышения градиента.
  • sklearn.model_selection: Он включает функции для разделения наборов данных на обучающие и тестовые наборы для оценки и выбора модели.

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



Объяснение

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

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

Это доказывает, что существует высокая коллинеарность.

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

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

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

MSE и RMSE обоих близки к 0, что хорошо, но мы можем улучшить его, выполнив регуляризацию и немного настроив модель, чтобы сделать ее более точной для неизвестных данных. Мы попробуем другой алгоритм, такой как KNN, чтобы проверить, предсказывает ли он более точные

Мы видим, что он работает лучше, чем GridSearch и DecisionTreeClassifier.

Моделирование

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



Автомл

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

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

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

Некоторые популярные платформы и библиотеки AutoML включают Google Cloud AutoML, H2O.ai, AutoKeras и TPOT. Эти инструменты часто поддерживают различные задачи машинного обучения, такие как классификация, регрессия, прогнозирование временных рядов и обработка естественного языка. Они также предоставляют функции для интерпретации модели и объяснимости, позволяя пользователям получить представление о процессе принятия решений в модели.

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

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

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

Мы видим, что лучшей моделью является Stacked Ensemble, дающая наилучшие результаты.

Значение MSE и RMSE близко к 0, из чего мы можем видеть, что он может делать точные прогнозы для неизвестного набора данных.

Матрица путаницы

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

Матрица путаницы состоит из четырех основных компонентов: истинно положительные (TP), истинно отрицательные (TN), ложноположительные (FP) и ложноотрицательные (FN). Эти компоненты представляют количество или частоту правильно и неправильно классифицированных экземпляров. Матрица состоит из строк и столбцов, где каждая строка соответствует экземплярам в прогнозируемом классе, а каждый столбец соответствует экземплярам в реальном классе.

SHAP-анализ

Анализ SHAP (Shapley Additive ExPlanations) — это метод, используемый в области машинного обучения и объяснимого искусственного интеллекта (XAI) для понимания вклада отдельных функций или переменных в прогноз модели. Он позволяет присвоить каждой функции числовое значение, указывающее на ее важность или влияние на выходные данные модели.

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

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

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

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

Интерпретируемость

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

Мы будем использовать этот блокнот для понимания



Чтобы подогнать линейную модель к этому набору данных, нам нужно сначала закодировать категориальные переменные, используя однократное кодирование или фиктивные переменные. Как только мы это сделали, мы можем использовать логистическую регрессию, чтобы предсказать вероятность того, что человек будет иметь доход более 50 тысяч, на основе независимых переменных. После подгонки данных мы получаем значение ROC

В целом, более высокие значения ROC AUC указывают на лучшую эффективность классификации, при этом значения выше 0,8 или 0,9 считаются отличными. Однако интерпретация «хороших» или «приемлемых» значений ROC AUC может варьироваться в зависимости от конкретной проблемной области и контекста. Важно учитывать базовую производительность, распределение данных и конкретные требования поставленной задачи.

После этого мы вызвали MinMaxScaler для DecisionTrees, чтобы делать прогнозы.

Дерево решений по настройке

Хотя это один из моих первых случаев использования DecisionTreeClassifier, и я не уверен, как исправить все параметры, я попытаюсь добиться максимальной точности, изменив параметры max_depth и min_samples_leaf. Я также проверю точность двух критериев: Джини и энтропии. Мы видим, что лучшим алгоритмом среди логистической регрессии и дерева решений является дерево решений, точность которого составляет 84,9%.

DecisionTree и LogisticRegression с фиксированными параметрами имеют наибольшую точность. Более того, для правильной работы DecisionTree не нужны стандартизированные числовые данные. Что касается DecisionTree, добавление параметров увеличило точность на 3,5%, в случае LogisticRegression это увеличение было намного меньше. Точность KNeighborsClassifier меньше, чем у остальных алгоритмов.

Мы запускаем AutoML, чтобы получить лучшую модель, чтобы мы могли прогнозировать значения на ее основе и проводить анализ SHAP.

Мы видим, что Stacked Ensemble — лучшая модель, которую мы видели ранее, перейдя к части прогнозов, мы пройдем через матрицу путаницы, чтобы проверить, верны ли данные или нет.

Увидев ошибку около 0, мы можем с уверенностью сказать, что модель дает точные результаты.

В модели используется 11 базовых моделей, включая 4 GBM, 5 XGBoost и 2 модели DeepLearning. Используемый алгоритм metalearner — GLM со стратегией суммирования перекрестной проверки. Модель была обучена решению задачи бинарной классификации и оценивалась с использованием следующих показателей обучающих данных:

* Среднеквадратическая ошибка (MSE): 0,07101078470975286

* Среднеквадратическая ошибка (RMSE): 0,2664784882682894

* Журнал потерь: 0,22813993220251944

* Площадь под кривой (AUC): 0,9572730928152918

* Площадь под кривой точности-отзыва (AUCPR): 0,8880622463070198

* Джини: 0,9145461856305837

Матрица путаницы показывает производительность модели при оптимальном пороге (0,3843523015206794) для оценки F1, которая является самой высокой оценкой F1, полученной моделью. На этом пороге модель имеет уровень ошибок 10,42%, с 624 ложными положительными результатами и 420 ложными отрицательными результатами. Также показаны максимальные показатели при соответствующих пороговых значениях, включая максимальную оценку F1, оценку F2, оценку F0,5, точность, прецизионность, полноту, специфичность, абсолютный MCC, минимальную точность для каждого класса и среднюю точность для каждого класса.

ШАП

Объяснение SHAP показывает вклад функций для данного экземпляра. Сумма вкладов признаков и члена смещения равна необработанному прогнозу модели, т. Е. Прогнозу до применения функции обратной связи. H2O реализует TreeSHAP, который, когда функции коррелируют, может увеличить вклад функции, которая не повлияла на прогноз.

SHAP-анализ линейной регрессии

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

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

SHAP-анализ регрессии случайного леса

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

В этом случае обучающая MAE, равная 0,069, указывает на то, что модель способна делать точные прогнозы на основе обучающих данных, но тестовая MAE, равная 0,189, предполагает, что модель плохо обобщает новые, невидимые данные.

Из приведенной выше модели водопада мы видим, что все значения, выделенные красным, будут приближать наш доход к 1. Таким образом, мы видим, что рабочие роли «Хендлеры-уборщики» и статус отношений «Другой родственник», а также семейное положение — «Никогда не был женат» — все это означает, что доход будет в значительной степени подталкиваться к ‹ = 50K. В то время как мужья или отношения — не в семье или одинокие и т. д., будут иметь максимальный доход.

Это Force Plot, где красные значения показывают значения, которые выведут данные в сторону дохода › 50K. Прогнозируемое базовое значение, которое мы видели, составляет 1,04, что означает, что большинство людей имеют доход более 50 тысяч. Большинство людей, которые имеют доход более 50 тысяч, являются либо мужьями, либо семейным положением состоят в браке с супругом, либо имеют отношения как Не в семье.

Анализ SHAP на регрессоре дерева решений

Выше приведен пример графиков Beeswarm в SHAP. Для каждой переменной каждый экземпляр набора данных отображается как отдельная точка. Точки распределяются по горизонтали в соответствии со значениями SHAP. В областях с высокой плотностью точки располагаются вертикально. Более многолюдные места означают, что это больше влияет на данные.

Заключение

В этом анализе видно, что алгоритмы машинного обучения работают хорошо, отображая низкие значения RMSE и MSE, близкие к 0. Использование библиотеки AutoML было полезным, поскольку оно упростило процесс за счет автоматизации настройки гиперпараметров и обработки данных. через несколько алгоритмов, что приводит к очень точным прогнозам. В частности, была подчеркнута важность очистки данных и выбора функций. Наличие нулевых значений или нестандартизированных данных может привести к ошибочным результатам, а без понимания относительной важности различных признаков для прогнозирования желаемого результата достижение высокой точности становится затруднительным. Для удобства все необходимые компоненты были объединены в одну записную книжку, предоставляя исчерпывающую справочную информацию для будущего анализа.



Спасибо за прочтение, ставьте аплодисменты, если вам понравилась статья 👏 😃

Советники

Ник Беар Браун

Авторы

Джайнам Мехт и Ник Беар Браун