Диабет — это заболевание, которое вызывает высокий уровень сахара в крови из-за дефицита гормона инсулина в нашем организме. Это тематическое исследование Data Science Classification, чтобы предсказать, есть ли у пациента заболевание диабетом или нет.

В этом проекте будет использоваться база данных по диабету индейцев пима от Kaggle. Давайте посмотрим на первые пять строк данных, используя синтаксис head().

Есть 768 строк и 9 столбцов. У нас нет нулевых значений, и тип данных уже подходит.

Это наш целевой столбец или «Результат». 1 означает, что у него есть диабет, а 0 означает, что у него нет диабета.

Используя функцию описания, мы можем получить статистическую сводку наших данных. В столбцах «Глюкоза», «Кровавое давление», «Толщина кожи», «Инсулин» и «ИМТ» нулевые значения, которые не имеют никакого смысла. Мы можем приписать нулевые значения медиане или среднему значению (зависит от распределения данных каждого столбца или функции).

Нормально распределенные функции: глюкоза, артериальное давление, ИМТ

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

Мы можем присвоить нулевые значения средним значениям нормально распределенных функций и медианным значениям асимметричных функций.

Обработка нулевых значений

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

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

Разделите наши данные на X и y. X содержит независимые переменные, а y содержит зависимую переменную или цель. StandardScaler используется для преобразования независимых функций, присутствующих в данных, в фиксированный диапазон.

train_test_split используется для разделения данных на данные поезда и тестовые данные. Это важная часть оценки моделей. Test_size = 0,2 означает, что наши данные разделены на 80% данных поезда и 20% тестовых данных.

Я использовал несколько моделей машинного обучения, таких как SVM, K-ближайшие соседи, классификатор дерева решений и классификатор случайного леса. Классификатор Random Forest имеет наибольшее число отзывов. Напомним, это метрика для оценки моделей. Отзыв используется, когда вы не можете позволить себе ложноотрицательные результаты. Очень опасно, если у кого-то есть диабет/другое заболевание, которое мы не смогли обнаружить (так называемый ложноотрицательный результат).

Мы получили 0,81 и 0,69 балла отзыва.

Настройка гиперпараметров

Настройка гиперпараметров — это метод оптимизации алгоритма обучения и минимизации потерянной функции для получения более высокой точности или оценки.

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

Оценка модели

Мы получили оценку отзыва 0,83 и 0,69 после настройки гиперпараметра. Это небольшое улучшение по сравнению с оценкой отзыва. Есть 80 истинно отрицательных результатов, 17 ложноотрицательных результатов, 19 ложноположительных результатов и 38 истинно положительных результатов.

Код этого проекта доступен на моем GitHub

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

Об авторе

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