Прогнозирование сердечных заболеваний с использованием ИНС

Опубликовано: 21 Июля, 2021

Глубокое обучение - это технология, имитирующая человеческий мозг в том смысле, что он состоит из нескольких нейронов с несколькими слоями, как человеческий мозг. Сформированная таким образом сеть состоит из входного слоя, выходного слоя и одного или нескольких скрытых слоев. Сеть пытается учиться на вводимых в нее данных, а затем выполняет соответствующие прогнозы. Самый простой тип нейронной сети - это искусственная нейронная сеть (ANN). ИНС не имеет какой-либо специальной структуры, она просто состоит из нескольких нейронных слоев, которые используются для прогнозирования.
Давайте построим модель, которая с помощью ИНС предсказывает, есть ли у человека сердечное заболевание.

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

Вы можете найти набор данных здесь набор данных о сердечных заболеваниях

Код: импорт библиотек




import tensorflow as tf
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import keras
from keras.models import Sequential
from keras.layers import Dense
from sklearn.metrics import confusion_matrix

Код: Импорт набора данных




data = pd.read_csv( 'heart.csv' )
data.head()

Описание данных:




data.describe()

Код: проверка нулевых значений




data.isnull(). any ()


Назначить зависимую и независимую переменную




X = data.iloc[:,: 13 ].values
y = data[ "target" ].values

Код: разделение данных на набор данных для обучения и тестирования




X_train,X_test,y_train, y_test = train_test_split(X,y,test_size = 0.3 , random_state = 0 )

Код: масштабируйте данные.






from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)


Код: построение модели




classifier = Sequential()
classifier.add(Dense(activation = "relu" , input_dim = 13 ,
units = 8 , kernel_initializer = "uniform" ))
classifier.add(Dense(activation = "relu" , units = 14 ,
kernel_initializer = "uniform" ))
classifier.add(Dense(activation = "sigmoid" , units = 1 ,
kernel_initializer = "uniform" ))
classifier. compile (optimizer = 'adam' , loss = 'binary_crossentropy' ,
metrics = [ 'accuracy' ] )

Код: установка модели




classifier.fit(X_train , y_train , batch_size = 8 ,epochs = 100 )


Код: выполнение прогнозирования и масштабирования




y_pred = classifier.predict(X_test)
y_pred = (y_pred > 0.5 )

Код: Матрица путаницы




cm = confusion_matrix(y_test,y_pred)
cm

Код: точность




accuracy = (cm[ 0 ][ 0 ] + cm[ 1 ][ 1 ]) / (cm[ 0 ][ 1 ] + cm[ 1 ][ 0 ] + cm[ 0 ][ 0 ] + cm[ 1 ][ 1 ])
print (accuracy * 100 )


Мы получим точность примерно 85%.

Следующий
ML | Прогнозирование сердечных заболеваний с использованием логистической регрессии.
Рекомендуемые статьи
Страница :
Статья предоставлена:
КаранГупта5
@ KaranGupta5
Голосуйте за трудности
Текущая сложность: средняя
Теги статьи:
  • Глубокое обучение
  • Нейронная сеть
  • Машинное обучение
  • Python
Теги практики:
  • Машинное обучение
Сообщить о проблеме
Python Машинное обучение Глубокое обучение

РЕКОМЕНДУЕМЫЕ СТАТЬИ