299 kalp yetmezliği hastasına ait verilerin analizi sonucunda hastalara ait serum kreatinin ve ejeksiyon fraksiyonu değerlerinden, hastanın sağkalımını öngören bir makine öğrenmesi modeli geliştirdik. İlgili makale, kullanılan veri seti ve açıklamalı videoya aşağıdaki linklerden erişebilirsiniz.

Veri Seti için:
https://www.kaggle.com/andrewmvd/heart-failure-clinical-data
Makale için:
https://bmcmedinformdecismak.biomedcentral.com/articles/10.1186/s12911-020-1023-5

Kullanılan kod:

#kütüphaneler
import pandas as pd
import numpy as np


#veri yükleme
dataset= pd.read_csv("kalpyetmezligi.csv")

#ejection fraction ve serume creatinine data framelerini oluşturma
ej_frac= pd.DataFrame(data=dataset, index=range (299),columns=["ejection_fraction"])
ser_crea=pd.DataFrame(data=dataset, index=range (299),columns=["serum_creatinine"])

#data frameleri birleştirme
ej_ser=pd.concat([ej_frac,ser_crea],axis=1)
ej_ser=ej_ser.values 

mortality=dataset.iloc[:,-1:].values
mortality=mortality.ravel()

#veri setini eğitim ve test olarak bölelim
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(ej_ser,mortality,test_size=0.33, random_state=0)


#verileri ölçekleyelim
from sklearn.preprocessing import StandardScaler

sc=StandardScaler()
X_train=sc.fit_transform(x_train)
X_test=sc.fit_transform(x_test)


#Random Forest ile sınıflandırma
from sklearn.ensemble import RandomForestClassifier

rfc= RandomForestClassifier() #default n_estimators value is: 10
rfc.fit(X_train, y_train)

y_pred= rfc.predict(X_test)


#karmaşıklık matrisi
from sklearn.metrics import confusion_matrix

cm=confusion_matrix(y_test, y_pred)
print("Confusion matrix of Random Forest:")
print(cm)


#https://towardsdatascience.com/how-to-evaluate-your-machine-learning-models-with-python-code-5f8d2d8d945b
#https://scikit-learn.org/stable/modules/generated/sklearn.metrics.classification_report.html
from sklearn.metrics import classification_report
print(classification_report(y_test, y_pred,target_names=["sağkalım","mortalite"]))

Yanıt yok

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir