Привет, народ ! Я Ананья Саркар, и это мой первый блог о машинном обучении. Этот блог будет посвящен изучению того, как использовать машинное обучение, чтобы помочь нам предсказать диабет с помощью классификатора дерева решений со скриншотами как входного кода, так и выходных данных. Давайте начнем!
Обзор
Мы построим дерево решений для прогнозирования диабета для субъектов в наборе данных индейцев пима на основе переменных-предикторов, таких как возраст, артериальное давление и bmi. Подмножество данных индейцев пима из репозитория машинного обучения UCI представляет собой встроенный набор данных в библиотеке MASS. Данные Pima в MASS содержат 768 полных записей из исходного набора данных. Эти 768 записей были разбиты на два фрейма данных: фрейм данных обучения имеет 80%, а фрейм данных теста - 20% от общего числа субъектов. Все записи с нулями, которые не имеют смысла, были удалены из этих наборов данных.
Дерево решений - это древовидная структура, подобная блок-схеме, где внутренний узел представляет функцию (или атрибут), ветвь представляет правило принятия решения, а каждый конечный узел представляет результат. Самый верхний узел в дереве решений известен как корневой узел. Он обучается разделению на основе значения атрибута. Он рекурсивно разбивает дерево на части, вызывая рекурсивное разбиение. Эта структура, похожая на блок-схему, помогает вам в принятии решений. Это визуализация в виде блок-схемы, которая легко имитирует мышление человеческого уровня. Вот почему деревья решений легко понять и интерпретировать.
Данные
Набор данных о диабете взят из репозитория машинного обучения UCI. Вы можете взять набор данных из моего репозитория Github:
Anny8910 / Decision-Tree-Classification-on-Diabetes-Dataset
Он показывает, как построить и оптимизировать классификатор дерева решений для« набора данных о диабете с помощью пакета Python Scikit-learn. … github.com »
Содержание
Наборы данных состоят из нескольких медицинских предикторов и одной целевой переменной Outcome
. Переменные-предикторы включают количество беременностей у пациентки, их ИМТ, уровень инсулина, возраст и т. Д.
Чтобы составить отчет о классификации дерева решений, выполните следующие действия:
Импорт обязательных библиотек. Сначала загрузим необходимые библиотеки.
Загрузка данных. Сначала загрузим требуемый набор данных о диабете с помощью функции pandas read_csv.
Выбор функции: здесь вам нужно разделить данные столбцы на два типа переменных: зависимые (или целевая переменная) и независимые переменные (или функциональные переменные). Наша целевая переменная - Результат, а другие переменные - это функциональные переменные.
Чтобы получить переменные цели и функции из набора данных, мы напишем так:
Разделение данных. Чтобы понять производительность модели, хорошей стратегией является разделение набора данных на обучающий набор и тестовый набор. Я разделил размер поезда и теста в соотношении 1: 4 (test_size 0.2).
Построение модели дерева решений. Давайте создадим модель дерева решений с помощью Scikit-learn.
Оценка модели. Давайте оценим, насколько точно классификатор или модель могут предсказать тип сорта. Точность можно вычислить, сравнив фактические значения тестового набора и прогнозируемые значения.
Я использовал три метода расчета точности:
- Расчет нормальной точности путем импорта метрик модуля из scikit-learn для расчета точности.
- Отчет о классификации путем импорта модуля scikit-learn classification_report.
- Матрица путаницы путем импорта модуля scikit-learn confusion_matrix.
При проверке y_test и y_pred я получил точность 70,77%.
Прогноз. Посмотрим, верны ли данные исходные данные.
Мне удалось повысить точность, передав max_depth = 3 в DecisionTreeClassifier ().
Коэффициент классификации увеличился до 79,87%, что лучше, чем у предыдущей модели.
Визуализация дерева решений. Давайте импортируем следующие модули для визуализации дерева решений.
from sklearn.externals.six import StringIO from IPython.display import Image from sklearn.tree import export_graphviz import pydotplus
Резюме
Мы обсудили различные модели DecisionTreeClassifier () для классификации набора данных о диабете для прогнозирования диабета. мы узнали об их преимуществах и недостатках и о том, как для этого управлять сложностью модели. На основе точности было создано два типа модели дерева решений. Окончательная точность составляет 79,87%.
Вы можете найти полный проект в этом репозитории на github: https://github.com/Anny8910/Decision-Tree-Classification-on-Diabetes-Dataset