Выяснение того, является ли человек диабетиком или нет, путем изучения «диабетических данных индейцев пима» о пациентах и их медицинских проблемах и заболеваниях, что приводит к прогнозам.
Диабет — это состояние, при котором нарушается способность организма перерабатывать глюкозу в крови, также известную как сахар в крови, а также основная причина слепоты, почечной недостаточности, сердечных приступов, инсульта и ампутаций нижних конечностей. Здесь я использовал реальную запись и набор данных людей с разными и похожими проблемами со здоровьем и попытался классифицировать их как пациентов с диабетом или без диабета, что создает проблему классификации в машинном обучении.
Набор данных
Я использовал очень популярную «данные о диабете индейцев пима», которая показывает различные медицинские состояния пациентов в медицинских терминах и цифрах для целей оценки.
Беременность, глюкоза, артериальное давление, толщина кожи, инсулин,
индекс массы тела, функция родословной диабета, возраст и исход (диабетик/недиабетик) — это столбцы в наборе данных.
Изучение и обработка данных
Теперь мы будем изучать набор данных на предмет количества значений, отсутствующих значений и данных, отношения между атрибутами или между ними. также есть репозиторий GitHub исследований.
здесь значения визуального подсчета также показывают нам, что в наборе данных нет нулевых/отсутствующих значений, поскольку все они одинаковы (786 000).
теперь для одноразового описания отношений между независимыми атрибутами и зависимым атрибутом (Результатом) мы можем использовать парный график, но нам нужно изменить Результат с числового на строковый;
import seaborn as sns
import numpy as np
df['Outcome']=np.where(df['Outcome']==1,"Diabetic","No Diabetic")
здесь я изменил значения для «Результата», так как я собираюсь запустить парный график для этих данных, а парный график понимает только строки, поэтому требуется модификация.
теперь ПАРА;
Одномерный и двумерный анализ
Использование гистограмм и гистограмм для одномерного анализа (беременность, толщина кожи, индекс массы тела, функция родословной диабета) и диаграммы рассеяния для двумерного анализа.
анализ отдельных и комбинированных атрибутов помогает нам лучше понять взаимосвязь между переменными/атрибутами и делает зависимые и независимые переменные ясными.
ПОСТРОЕНИЕ МОДЕЛЕЙ
Это последний процесс этого проекта машинного обучения, в котором я построил модели и оценил/выбрал их на основе их оценок. Это можно лучше понять с помощью кода и работы моделей, обратившись к этому репозиторию Diabetes-prediction на GitHub.
1. масштабирование набора данных
импорт стандартного масштабатора для масштабирования данных от 0 до, что упрощает построение модели.
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_fit = sc.fit(df)
dff = X_fit.transform(df)
2. Тренируйте и тестируйте данные
X=df.drop('Outcome',axis=1).values
y=df['Outcome'].values
здесь определение x = «независимые переменные» и y = «зависимая переменная», а затем дальнейшее разделение данных поезда и теста с разделением 80–20 с использованием функции «train_test_split» для x, y.
3. Построение разных моделей
импорт оценки перекрестной проверки, которая представляет собой метод, используемый для оценки навыков моделей машинного обучения;
from sklearn.model_selection import cross_val_score
Модели с их оценками:
- Наивный Байес (73,9%)
- Логистическая регрессия (76,5%)
- Дерево решений (69,2%)
- K Ближайший сосед (70,5%)
- Случайный лес (73,9%)
- Классификатор опорных векторов (64,0%)
- Экстремальное ускорение градиента (71,9%)
- Классификатор мягкого голосования — все модели (74,1%)
Здесь моделью, дающей наилучшие оценки, является логистическая регрессия с точностью 76,52%, поэтому мы будем использовать результаты этой модели для дальнейшей оценки и получения результатов того, является ли пациент/человек диабетиком или нет.
Выход и окончательный прогноз
voting_clf.fit(X_train,y_train) base = voting_clf.predict(X_train).astype(int) basic_submission = {'Outcome': base} base_submission = pd.DataFrame(data=basic_submission) base_submission.to_csv('Diabetic_pred.csv', index=False)
классификатор голосования (voting_clf) здесь просматривает каждую модель и их оценки выше и голосует за лучшую из них посредством мягкого голосования, а затем сохраняет эту информацию во фрейме данных и создает ее в виде файла CSV с именем Diabetic_pred. .csv».