Research
Mortality Risk in Heart Failure
Heart failure presents considerable mortality risks, highlighting the need for reliable predictors to support effective patient prognosis. This study explores the predictive power of specific clinical indicators, including ejection fraction, kidney function, smoking status, and follow-up time, for mortality in heart failure patients. Using a balanced training dataset, we conducted feature selection based on validation set accuracy, identifying these four indicators as the most influential subset. Models were subsequently tested on an unseen test set, with Random Forest achieving the highest accuracy at 87%, followed by Support Vector Machine (SVM) at 83.3%, and Logistic Regression at 80%. When all 12 initial indicators were applied, accuracy across all models converged to 83.3%. These findings emphasize the role of targeted feature selection in improving model performance, suggesting that focusing on key predictors can streamline clinical assessments while enhancing prognostic accuracy. This study underscores the potential of refined indica- tor selection to optimize resource allocation and improve patient outcomes in heart failure management.
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, roc_auc_score, roc_curve, classification_report, confusion_matrix, ConfusionMatrixDisplay
from itertools import combinations
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.svm import SVC
from sklearn.preprocessing import StandardScaler
from imblearn.over_sampling import SMOTE
# Load CSV Data
data_file = 'drive/MyDrive/1AConferencesJournals/BIBM24/BiomarkerProject/heart+failure+clinical+records/heart_failure_clinical_records_dataset.csv'
data = pd.read_csv(data_file)
# Define feature matrix (X) and target vector (y)
X = data.iloc[:, :-1] # All columns except the last one
y = data.iloc[:, -1] # Last column as the target variable (mortality)
# Split data into training, validation, and test sets
X_train_full, X_test, y_train_full, y_test = train_test_split(X, y, test_size=0.1, random_state=0)
X_train, X_val, y_train, y_val = train_test_split(X_train_full, y_train_full, test_size=0.2, random_state=0) # 60% train, 20% val, 20% test
# Check the distribution of the target variable (assuming 'mortality' is binary: 1 = positive, 0 = negative)
target_counts = y_train_full.value_counts() # Assuming last column is the target (mortality)
# Plot distribution
plt.figure(figsize=(8, 6))
plt.bar(['Survived', 'Deceased'], target_counts, color=['skyblue', 'salmon'])
plt.xlabel('Mortality Status')
plt.ylabel('Number of Samples')
plt.title('Distribution of Mortality in the Dataset before SMOTE')
plt.show()
# Apply SMOTE to handle class imbalance
smote = SMOTE(random_state=0)
X_train, y_train = smote.fit_resample(X_train, y_train)
# Plot distribution
plt.figure(figsize=(8, 6))
plt.bar(['Survived', 'Deceased'], y_train.value_counts(), color=['skyblue', 'salmon'])
plt.xlabel('Mortality Status')
plt.ylabel('Number of Samples')
plt.title('Distribution of Mortality in the Dataset after SMOTE')
plt.show()
# Standardize features for consistency across models
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_val = scaler.transform(X_val)
X_test = scaler.transform(X_test)
# Initialize lists to store results
best_subset = None
best_auc = 0
all_results = []
# Iterate through all 3-feature combinations
for subset in combinations(X.columns, 4):
# Select the current subset of features
X_train_subset = X_train[:, [X.columns.get_loc(feature) for feature in subset]]
X_val_subset = X_val[:, [X.columns.get_loc(feature) for feature in subset]]
# Train a model on this subset
rf_model = RandomForestClassifier(random_state=0)
rf_model.fit(X_train_subset, y_train)
# Predict and calculate AUC on validation set
val_probs = rf_model.predict_proba(X_val_subset)[:, 1]
val_auc = roc_auc_score(y_val, val_probs)
# Store results
all_results.append((subset, val_auc))
if val_auc > best_auc:
best_auc = val_auc
best_subset = subset
# Print all subset performances on validation set
print("Performance of all 4-feature subsets on validation set:")
for subset, auc in all_results:
print(f"Features: {subset}, AUC: {auc:.3f}")
print(f"\nBest Subset: {best_subset}, Best AUC on Validation: {best_auc:.3f}")
# Apply the best subset on the test set
X_train_best = X_train[:, [X.columns.get_loc(feature) for feature in best_subset]]
X_test_best = X_test[:, [X.columns.get_loc(feature) for feature in best_subset]]
# Retrain on the best subset
best_rf_model = RandomForestClassifier(random_state=0)
best_rf_model.fit(X_train_best, y_train)
# Get feature importances
feature_importances = best_rf_model.feature_importances_
print("Features Importance:", feature_importances)
colors = ['skyblue', 'salmon', 'lightgreen', 'gold']
# Plotting the histogram
plt.figure(figsize=(8, 6))
plt.bar(best_subset, feature_importances, color=colors)
plt.xlabel('Features')
plt.ylabel('Importance')
plt.title('Features Importance Weights in Predicting Mortality')
plt.xticks(rotation=45)
plt.show()
# Retrain on the best subset
best_rf_model = RandomForestClassifier(random_state=0)
best_rf_model.fit(X_train_best, y_train)
test_probs = best_rf_model.predict_proba(X_test_best)[:, 1]
test_auc = roc_auc_score(y_test, test_probs)
# Print final performance on test set
print(f"\nFinal Performance on Test Set using Best Subset {best_subset}")
print(f"Test AUC: {test_auc:.3f}")
print("Classification Report on Test Set:")
print(classification_report(y_test, best_rf_model.predict(X_test_best)))
# Confusion Matrix
conf_matrix = confusion_matrix(y_test, best_rf_model.predict(X_test_best))
print("Confusion Matrix:\n", conf_matrix)
# Plot confusion matrix
# Plot confusion matrix with color annotations
plt.figure(figsize=(8, 6))
sns.heatmap(conf_matrix, annot=True, fmt="d", cmap="Blues", cbar=False, xticklabels=['Alive', 'Death'], yticklabels=['Alive', 'Death'])
plt.xlabel("Predicted Labels")
plt.ylabel("True Labels")
plt.title("Confusion Matrix for Mortality Prediction")
plt.show()
# Train SVM on the scaled data
svm_model = SVC(probability=True, random_state=0)
svm_model.fit(X_train_best, y_train)
y_test_pred_svm = svm_model.predict(X_test_best)
# Evaluate SVM
svm_accuracy = accuracy_score(y_test, y_test_pred_svm)
print("\nSVM Accuracy:", svm_accuracy)
print("\nSVM Classification Report:")
print(classification_report(y_test, y_test_pred_svm))
# Calculate and print confusion matrix
conf_matrix_svm = confusion_matrix(y_test, y_test_pred_svm)
print("SVM Confusion Matrix:\n", conf_matrix_svm)
plt.figure(figsize=(8, 6))
sns.heatmap(conf_matrix_svm, annot=True, fmt="d", cmap="Blues", cbar=False, xticklabels=['Alive', 'Death'], yticklabels=['Alive', 'Death'])
plt.xlabel("Predicted Labels")
plt.ylabel("True Labels")
plt.title("Confusion Matrix for Mortality Prediction")
plt.show()
#
# Fit the logistic regression model on selected features
logistic_model = LogisticRegression()
logistic_model.fit(X_train_best, y_train)
y_test_pred_log = logistic_model.predict(X_test_best)
# Evaluate SVM
svm_accuracy = accuracy_score(y_test, y_test_pred_log)
print("\nLogistic Regression Accuracy:", svm_accuracy)
print("\nLogistic Regression Classification Report:")
print(classification_report(y_test, y_test_pred_log))
# Calculate and print confusion matrix
conf_matrix_log= confusion_matrix(y_test, y_test_pred_log)
print("Logistic Regression Confusion Matrix:\n", conf_matrix_log)
plt.figure(figsize=(8, 6))
sns.heatmap(conf_matrix_log, annot=True, fmt="d", cmap="Blues", cbar=False, xticklabels=['Alive', 'Death'], yticklabels=['Alive', 'Death'])
plt.xlabel("Predicted Labels")
plt.ylabel("True Labels")
plt.title("Confusion Matrix for Mortality Prediction")
plt.show()
#RF ROC
test_probs = best_rf_model.predict_proba(X_test_best)[:, 1]
fpr_rf, tpr_rf, _ = roc_curve(y_test, test_probs)
roc_auc_rf = roc_auc_score(y_test, test_probs)
# Plot ROC curve for SVM
svm_probs = svm_model.predict_proba(X_test_best)[:, 1]
fpr_svm, tpr_svm, _ = roc_curve(y_test, svm_probs)
roc_auc_svm = roc_auc_score(y_test, svm_probs)
#Logistic regression
# Plot ROC curve for SVM
log_probs = logistic_model.predict_proba(X_test_best)[:, 1]
fpr_log, tpr_log, _ = roc_curve(y_test, log_probs)
roc_auc_log = roc_auc_score(y_test, log_probs)
# Plot both ROC curves
plt.figure(figsize=(10, 6))
plt.plot(fpr_rf, tpr_rf, color='blue', label=f'Random Forest (AUC = {roc_auc_rf:.2f})')
plt.plot(fpr_svm, tpr_svm, color='green', label=f'SVM (AUC = {roc_auc_svm:.2f})')
plt.plot(fpr_log, tpr_log, color='red', label=f'Logistic Regression (AUC = {roc_auc_log:.2f})')
plt.plot([0, 1], [0, 1], color='grey', linestyle='--')
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('ROC Curve')
plt.legend()
plt.show()
print("Without Smoothing nor best features selection")
# Split data into training, validation, and test sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.1, random_state=0)
# Standardize features for consistency across models
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
# Apply the best subset on the test set
X_train_best = X_train
X_test_best = X_test
# Retrain on the best subset
best_rf_model = RandomForestClassifier(random_state=0)
best_rf_model.fit(X_train_best, y_train)
# Print final performance on test set
print(f"\nFinal Performance on Test Set using Best Subset {best_subset}")
print(f"Test AUC: {test_auc:.3f}")
print("Classification Report on Test Set:")
print(classification_report(y_test, best_rf_model.predict(X_test_best)))
# Confusion Matrix
conf_matrix = confusion_matrix(y_test, best_rf_model.predict(X_test_best))
print("Confusion Matrix:\n", conf_matrix)
# Plot confusion matrix
# Plot confusion matrix with color annotations
plt.figure(figsize=(8, 6))
sns.heatmap(conf_matrix, annot=True, fmt="d", cmap="Blues", cbar=False, xticklabels=['Alive', 'Death'], yticklabels=['Alive', 'Death'])
plt.xlabel("Predicted Labels")
plt.ylabel("True Labels")
plt.title("Confusion Matrix for Mortality Prediction")
plt.show()
# Train SVM on the scaled data
svm_model = SVC(probability=True, random_state=0)
svm_model.fit(X_train_best, y_train)
y_test_pred_svm = svm_model.predict(X_test_best)
# Evaluate SVM
svm_accuracy = accuracy_score(y_test, y_test_pred_svm)
print("\nSVM Accuracy:", svm_accuracy)
print("\nSVM Classification Report:")
print(classification_report(y_test, y_test_pred_svm))
# Calculate and print confusion matrix
conf_matrix_svm = confusion_matrix(y_test, y_test_pred_svm)
print("SVM Confusion Matrix:\n", conf_matrix_svm)
plt.figure(figsize=(8, 6))
sns.heatmap(conf_matrix_svm, annot=True, fmt="d", cmap="Blues", cbar=False, xticklabels=['Alive', 'Death'], yticklabels=['Alive', 'Death'])
plt.xlabel("Predicted Labels")
plt.ylabel("True Labels")
plt.title("Confusion Matrix for Mortality Prediction")
plt.show()
#
# Fit the logistic regression model on selected features
logistic_model = LogisticRegression()
logistic_model.fit(X_train_best, y_train)
y_test_pred_log = logistic_model.predict(X_test_best)
# Evaluate SVM
svm_accuracy = accuracy_score(y_test, y_test_pred_log)
print("\nLogistic Regression Accuracy:", svm_accuracy)
print("\nLogistic Regression Classification Report:")
print(classification_report(y_test, y_test_pred_log))
# Calculate and print confusion matrix
conf_matrix_log= confusion_matrix(y_test, y_test_pred_log)
print("Logistic Regression Confusion Matrix:\n", conf_matrix_log)
plt.figure(figsize=(8, 6))
sns.heatmap(conf_matrix_log, annot=True, fmt="d", cmap="Blues", cbar=False, xticklabels=['Alive', 'Death'], yticklabels=['Alive', 'Death'])
plt.xlabel("Predicted Labels")
plt.ylabel("True Labels")
plt.title("Confusion Matrix for Mortality Prediction")
plt.show()
#RF ROC
test_probs = best_rf_model.predict_proba(X_test_best)[:, 1]
fpr_rf, tpr_rf, _ = roc_curve(y_test, test_probs)
roc_auc_rf = roc_auc_score(y_test, test_probs)
# Plot ROC curve for SVM
svm_probs = svm_model.predict_proba(X_test_best)[:, 1]
fpr_svm, tpr_svm, _ = roc_curve(y_test, svm_probs)
roc_auc_svm = roc_auc_score(y_test, svm_probs)
#Logistic regression
# Plot ROC curve for SVM
log_probs = logistic_model.predict_proba(X_test_best)[:, 1]
fpr_log, tpr_log, _ = roc_curve(y_test, log_probs)
roc_auc_log = roc_auc_score(y_test, log_probs)
# Plot both ROC curves
plt.figure(figsize=(10, 6))
plt.plot(fpr_rf, tpr_rf, color='blue', label=f'Random Forest (AUC = {roc_auc_rf:.2f})')
plt.plot(fpr_svm, tpr_svm, color='green', label=f'SVM (AUC = {roc_auc_svm:.2f})')
plt.plot(fpr_log, tpr_log, color='red', label=f'Logistic Regression (AUC = {roc_auc_log:.2f})')
plt.plot([0, 1], [0, 1], color='grey', linestyle='--')
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('ROC Curve')
plt.legend()
plt.show()
# Get weights (coefficients)
#feature_weights = model.coef_
#print("Feature weights:", feature_weights)
Performance of all 4-feature subsets on validation set:
Features: ('age', 'anaemia', 'creatinine_phosphokinase', 'diabetes'), AUC: 0.450
Features: ('age', 'anaemia', 'creatinine_phosphokinase', 'ejection_fraction'), AUC: 0.663
Features: ('age', 'anaemia', 'creatinine_phosphokinase', 'high_blood_pressure'), AUC: 0.517
Features: ('age', 'anaemia', 'creatinine_phosphokinase', 'platelets'), AUC: 0.552
Features: ('age', 'anaemia', 'creatinine_phosphokinase', 'serum_creatinine'), AUC: 0.817
Features: ('age', 'anaemia', 'creatinine_phosphokinase', 'serum_sodium'), AUC: 0.509
Features: ('age', 'anaemia', 'creatinine_phosphokinase', 'sex'), AUC: 0.503
Features: ('age', 'anaemia', 'creatinine_phosphokinase', 'smoking'), AUC: 0.437
Features: ('age', 'anaemia', 'creatinine_phosphokinase', 'time'), AUC: 0.868
Features: ('age', 'anaemia', 'diabetes', 'ejection_fraction'), AUC: 0.735
Features: ('age', 'anaemia', 'diabetes', 'high_blood_pressure'), AUC: 0.479
Features: ('age', 'anaemia', 'diabetes', 'platelets'), AUC: 0.576
Features: ('age', 'anaemia', 'diabetes', 'serum_creatinine'), AUC: 0.770
Features: ('age', 'anaemia', 'diabetes', 'serum_sodium'), AUC: 0.545
Features: ('age', 'anaemia', 'diabetes', 'sex'), AUC: 0.576
Features: ('age', 'anaemia', 'diabetes', 'smoking'), AUC: 0.544
Features: ('age', 'anaemia', 'diabetes', 'time'), AUC: 0.862
Features: ('age', 'anaemia', 'ejection_fraction', 'high_blood_pressure'), AUC: 0.617
Features: ('age', 'anaemia', 'ejection_fraction', 'platelets'), AUC: 0.570
Features: ('age', 'anaemia', 'ejection_fraction', 'serum_creatinine'), AUC: 0.866
Features: ('age', 'anaemia', 'ejection_fraction', 'serum_sodium'), AUC: 0.650
Features: ('age', 'anaemia', 'ejection_fraction', 'sex'), AUC: 0.696
Features: ('age', 'anaemia', 'ejection_fraction', 'smoking'), AUC: 0.656
Features: ('age', 'anaemia', 'ejection_fraction', 'time'), AUC: 0.883
Features: ('age', 'anaemia', 'high_blood_pressure', 'platelets'), AUC: 0.510
Features: ('age', 'anaemia', 'high_blood_pressure', 'serum_creatinine'), AUC: 0.763
Features: ('age', 'anaemia', 'high_blood_pressure', 'serum_sodium'), AUC: 0.487
Features: ('age', 'anaemia', 'high_blood_pressure', 'sex'), AUC: 0.613
Features: ('age', 'anaemia', 'high_blood_pressure', 'smoking'), AUC: 0.554
Features: ('age', 'anaemia', 'high_blood_pressure', 'time'), AUC: 0.846
Features: ('age', 'anaemia', 'platelets', 'serum_creatinine'), AUC: 0.718
Features: ('age', 'anaemia', 'platelets', 'serum_sodium'), AUC: 0.583
Features: ('age', 'anaemia', 'platelets', 'sex'), AUC: 0.613
Features: ('age', 'anaemia', 'platelets', 'smoking'), AUC: 0.501
Features: ('age', 'anaemia', 'platelets', 'time'), AUC: 0.854
Features: ('age', 'anaemia', 'serum_creatinine', 'serum_sodium'), AUC: 0.798
Features: ('age', 'anaemia', 'serum_creatinine', 'sex'), AUC: 0.829
Features: ('age', 'anaemia', 'serum_creatinine', 'smoking'), AUC: 0.692
Features: ('age', 'anaemia', 'serum_creatinine', 'time'), AUC: 0.883
Features: ('age', 'anaemia', 'serum_sodium', 'sex'), AUC: 0.514
Features: ('age', 'anaemia', 'serum_sodium', 'smoking'), AUC: 0.504
Features: ('age', 'anaemia', 'serum_sodium', 'time'), AUC: 0.853
Features: ('age', 'anaemia', 'sex', 'smoking'), AUC: 0.561
Features: ('age', 'anaemia', 'sex', 'time'), AUC: 0.891
Features: ('age', 'anaemia', 'smoking', 'time'), AUC: 0.859
Features: ('age', 'creatinine_phosphokinase', 'diabetes', 'ejection_fraction'), AUC: 0.748
Features: ('age', 'creatinine_phosphokinase', 'diabetes', 'high_blood_pressure'), AUC: 0.502
Features: ('age', 'creatinine_phosphokinase', 'diabetes', 'platelets'), AUC: 0.525
Features: ('age', 'creatinine_phosphokinase', 'diabetes', 'serum_creatinine'), AUC: 0.812
Features: ('age', 'creatinine_phosphokinase', 'diabetes', 'serum_sodium'), AUC: 0.532
Features: ('age', 'creatinine_phosphokinase', 'diabetes', 'sex'), AUC: 0.494
Features: ('age', 'creatinine_phosphokinase', 'diabetes', 'smoking'), AUC: 0.538
Features: ('age', 'creatinine_phosphokinase', 'diabetes', 'time'), AUC: 0.833
Features: ('age', 'creatinine_phosphokinase', 'ejection_fraction', 'high_blood_pressure'), AUC: 0.721
Features: ('age', 'creatinine_phosphokinase', 'ejection_fraction', 'platelets'), AUC: 0.618
Features: ('age', 'creatinine_phosphokinase', 'ejection_fraction', 'serum_creatinine'), AUC: 0.829
Features: ('age', 'creatinine_phosphokinase', 'ejection_fraction', 'serum_sodium'), AUC: 0.625
Features: ('age', 'creatinine_phosphokinase', 'ejection_fraction', 'sex'), AUC: 0.739
Features: ('age', 'creatinine_phosphokinase', 'ejection_fraction', 'smoking'), AUC: 0.710
Features: ('age', 'creatinine_phosphokinase', 'ejection_fraction', 'time'), AUC: 0.877
Features: ('age', 'creatinine_phosphokinase', 'high_blood_pressure', 'platelets'), AUC: 0.529
Features: ('age', 'creatinine_phosphokinase', 'high_blood_pressure', 'serum_creatinine'), AUC: 0.815
Features: ('age', 'creatinine_phosphokinase', 'high_blood_pressure', 'serum_sodium'), AUC: 0.544
Features: ('age', 'creatinine_phosphokinase', 'high_blood_pressure', 'sex'), AUC: 0.618
Features: ('age', 'creatinine_phosphokinase', 'high_blood_pressure', 'smoking'), AUC: 0.512
Features: ('age', 'creatinine_phosphokinase', 'high_blood_pressure', 'time'), AUC: 0.860
Features: ('age', 'creatinine_phosphokinase', 'platelets', 'serum_creatinine'), AUC: 0.785
Features: ('age', 'creatinine_phosphokinase', 'platelets', 'serum_sodium'), AUC: 0.627
Features: ('age', 'creatinine_phosphokinase', 'platelets', 'sex'), AUC: 0.599
Features: ('age', 'creatinine_phosphokinase', 'platelets', 'smoking'), AUC: 0.579
Features: ('age', 'creatinine_phosphokinase', 'platelets', 'time'), AUC: 0.860
Features: ('age', 'creatinine_phosphokinase', 'serum_creatinine', 'serum_sodium'), AUC: 0.803
Features: ('age', 'creatinine_phosphokinase', 'serum_creatinine', 'sex'), AUC: 0.762
Features: ('age', 'creatinine_phosphokinase', 'serum_creatinine', 'smoking'), AUC: 0.763
Features: ('age', 'creatinine_phosphokinase', 'serum_creatinine', 'time'), AUC: 0.897
Features: ('age', 'creatinine_phosphokinase', 'serum_sodium', 'sex'), AUC: 0.498
Features: ('age', 'creatinine_phosphokinase', 'serum_sodium', 'smoking'), AUC: 0.504
Features: ('age', 'creatinine_phosphokinase', 'serum_sodium', 'time'), AUC: 0.817
Features: ('age', 'creatinine_phosphokinase', 'sex', 'smoking'), AUC: 0.527
Features: ('age', 'creatinine_phosphokinase', 'sex', 'time'), AUC: 0.855
Features: ('age', 'creatinine_phosphokinase', 'smoking', 'time'), AUC: 0.850
Features: ('age', 'diabetes', 'ejection_fraction', 'high_blood_pressure'), AUC: 0.726
Features: ('age', 'diabetes', 'ejection_fraction', 'platelets'), AUC: 0.604
Features: ('age', 'diabetes', 'ejection_fraction', 'serum_creatinine'), AUC: 0.822
Features: ('age', 'diabetes', 'ejection_fraction', 'serum_sodium'), AUC: 0.659
Features: ('age', 'diabetes', 'ejection_fraction', 'sex'), AUC: 0.724
Features: ('age', 'diabetes', 'ejection_fraction', 'smoking'), AUC: 0.696
Features: ('age', 'diabetes', 'ejection_fraction', 'time'), AUC: 0.886
Features: ('age', 'diabetes', 'high_blood_pressure', 'platelets'), AUC: 0.559
Features: ('age', 'diabetes', 'high_blood_pressure', 'serum_creatinine'), AUC: 0.758
Features: ('age', 'diabetes', 'high_blood_pressure', 'serum_sodium'), AUC: 0.541
Features: ('age', 'diabetes', 'high_blood_pressure', 'sex'), AUC: 0.601
Features: ('age', 'diabetes', 'high_blood_pressure', 'smoking'), AUC: 0.599
Features: ('age', 'diabetes', 'high_blood_pressure', 'time'), AUC: 0.896
Features: ('age', 'diabetes', 'platelets', 'serum_creatinine'), AUC: 0.725
Features: ('age', 'diabetes', 'platelets', 'serum_sodium'), AUC: 0.558
Features: ('age', 'diabetes', 'platelets', 'sex'), AUC: 0.633
Features: ('age', 'diabetes', 'platelets', 'smoking'), AUC: 0.563
Features: ('age', 'diabetes', 'platelets', 'time'), AUC: 0.868
Features: ('age', 'diabetes', 'serum_creatinine', 'serum_sodium'), AUC: 0.812
Features: ('age', 'diabetes', 'serum_creatinine', 'sex'), AUC: 0.786
Features: ('age', 'diabetes', 'serum_creatinine', 'smoking'), AUC: 0.695
Features: ('age', 'diabetes', 'serum_creatinine', 'time'), AUC: 0.864
Features: ('age', 'diabetes', 'serum_sodium', 'sex'), AUC: 0.529
Features: ('age', 'diabetes', 'serum_sodium', 'smoking'), AUC: 0.627
Features: ('age', 'diabetes', 'serum_sodium', 'time'), AUC: 0.863
Features: ('age', 'diabetes', 'sex', 'smoking'), AUC: 0.546
Features: ('age', 'diabetes', 'sex', 'time'), AUC: 0.894
Features: ('age', 'diabetes', 'smoking', 'time'), AUC: 0.892
Features: ('age', 'ejection_fraction', 'high_blood_pressure', 'platelets'), AUC: 0.569
Features: ('age', 'ejection_fraction', 'high_blood_pressure', 'serum_creatinine'), AUC: 0.830
Features: ('age', 'ejection_fraction', 'high_blood_pressure', 'serum_sodium'), AUC: 0.618
Features: ('age', 'ejection_fraction', 'high_blood_pressure', 'sex'), AUC: 0.670
Features: ('age', 'ejection_fraction', 'high_blood_pressure', 'smoking'), AUC: 0.651
Features: ('age', 'ejection_fraction', 'high_blood_pressure', 'time'), AUC: 0.886
Features: ('age', 'ejection_fraction', 'platelets', 'serum_creatinine'), AUC: 0.795
Features: ('age', 'ejection_fraction', 'platelets', 'serum_sodium'), AUC: 0.609
Features: ('age', 'ejection_fraction', 'platelets', 'sex'), AUC: 0.658
Features: ('age', 'ejection_fraction', 'platelets', 'smoking'), AUC: 0.607
Features: ('age', 'ejection_fraction', 'platelets', 'time'), AUC: 0.882
Features: ('age', 'ejection_fraction', 'serum_creatinine', 'serum_sodium'), AUC: 0.775
Features: ('age', 'ejection_fraction', 'serum_creatinine', 'sex'), AUC: 0.826
Features: ('age', 'ejection_fraction', 'serum_creatinine', 'smoking'), AUC: 0.835
Features: ('age', 'ejection_fraction', 'serum_creatinine', 'time'), AUC: 0.909
Features: ('age', 'ejection_fraction', 'serum_sodium', 'sex'), AUC: 0.637
Features: ('age', 'ejection_fraction', 'serum_sodium', 'smoking'), AUC: 0.641
Features: ('age', 'ejection_fraction', 'serum_sodium', 'time'), AUC: 0.884
Features: ('age', 'ejection_fraction', 'sex', 'smoking'), AUC: 0.706
Features: ('age', 'ejection_fraction', 'sex', 'time'), AUC: 0.906
Features: ('age', 'ejection_fraction', 'smoking', 'time'), AUC: 0.892
Features: ('age', 'high_blood_pressure', 'platelets', 'serum_creatinine'), AUC: 0.726
Features: ('age', 'high_blood_pressure', 'platelets', 'serum_sodium'), AUC: 0.581
Features: ('age', 'high_blood_pressure', 'platelets', 'sex'), AUC: 0.611
Features: ('age', 'high_blood_pressure', 'platelets', 'smoking'), AUC: 0.546
Features: ('age', 'high_blood_pressure', 'platelets', 'time'), AUC: 0.831
Features: ('age', 'high_blood_pressure', 'serum_creatinine', 'serum_sodium'), AUC: 0.779
Features: ('age', 'high_blood_pressure', 'serum_creatinine', 'sex'), AUC: 0.779
Features: ('age', 'high_blood_pressure', 'serum_creatinine', 'smoking'), AUC: 0.738
Features: ('age', 'high_blood_pressure', 'serum_creatinine', 'time'), AUC: 0.872
Features: ('age', 'high_blood_pressure', 'serum_sodium', 'sex'), AUC: 0.524
Features: ('age', 'high_blood_pressure', 'serum_sodium', 'smoking'), AUC: 0.546
Features: ('age', 'high_blood_pressure', 'serum_sodium', 'time'), AUC: 0.849
Features: ('age', 'high_blood_pressure', 'sex', 'smoking'), AUC: 0.569
Features: ('age', 'high_blood_pressure', 'sex', 'time'), AUC: 0.878
Features: ('age', 'high_blood_pressure', 'smoking', 'time'), AUC: 0.859
Features: ('age', 'platelets', 'serum_creatinine', 'serum_sodium'), AUC: 0.757
Features: ('age', 'platelets', 'serum_creatinine', 'sex'), AUC: 0.731
Features: ('age', 'platelets', 'serum_creatinine', 'smoking'), AUC: 0.683
Features: ('age', 'platelets', 'serum_creatinine', 'time'), AUC: 0.874
Features: ('age', 'platelets', 'serum_sodium', 'sex'), AUC: 0.542
Features: ('age', 'platelets', 'serum_sodium', 'smoking'), AUC: 0.528
Features: ('age', 'platelets', 'serum_sodium', 'time'), AUC: 0.814
Features: ('age', 'platelets', 'sex', 'smoking'), AUC: 0.594
Features: ('age', 'platelets', 'sex', 'time'), AUC: 0.879
Features: ('age', 'platelets', 'smoking', 'time'), AUC: 0.859
Features: ('age', 'serum_creatinine', 'serum_sodium', 'sex'), AUC: 0.837
Features: ('age', 'serum_creatinine', 'serum_sodium', 'smoking'), AUC: 0.730
Features: ('age', 'serum_creatinine', 'serum_sodium', 'time'), AUC: 0.888
Features: ('age', 'serum_creatinine', 'sex', 'smoking'), AUC: 0.740
Features: ('age', 'serum_creatinine', 'sex', 'time'), AUC: 0.887
Features: ('age', 'serum_creatinine', 'smoking', 'time'), AUC: 0.862
Features: ('age', 'serum_sodium', 'sex', 'smoking'), AUC: 0.514
Features: ('age', 'serum_sodium', 'sex', 'time'), AUC: 0.834
Features: ('age', 'serum_sodium', 'smoking', 'time'), AUC: 0.859
Features: ('age', 'sex', 'smoking', 'time'), AUC: 0.896
Features: ('anaemia', 'creatinine_phosphokinase', 'diabetes', 'ejection_fraction'), AUC: 0.509
Features: ('anaemia', 'creatinine_phosphokinase', 'diabetes', 'high_blood_pressure'), AUC: 0.491
Features: ('anaemia', 'creatinine_phosphokinase', 'diabetes', 'platelets'), AUC: 0.525
Features: ('anaemia', 'creatinine_phosphokinase', 'diabetes', 'serum_creatinine'), AUC: 0.865
Features: ('anaemia', 'creatinine_phosphokinase', 'diabetes', 'serum_sodium'), AUC: 0.529
Features: ('anaemia', 'creatinine_phosphokinase', 'diabetes', 'sex'), AUC: 0.654
Features: ('anaemia', 'creatinine_phosphokinase', 'diabetes', 'smoking'), AUC: 0.567
Features: ('anaemia', 'creatinine_phosphokinase', 'diabetes', 'time'), AUC: 0.844
Features: ('anaemia', 'creatinine_phosphokinase', 'ejection_fraction', 'high_blood_pressure'), AUC: 0.492
Features: ('anaemia', 'creatinine_phosphokinase', 'ejection_fraction', 'platelets'), AUC: 0.495
Features: ('anaemia', 'creatinine_phosphokinase', 'ejection_fraction', 'serum_creatinine'), AUC: 0.811
Features: ('anaemia', 'creatinine_phosphokinase', 'ejection_fraction', 'serum_sodium'), AUC: 0.509
Features: ('anaemia', 'creatinine_phosphokinase', 'ejection_fraction', 'sex'), AUC: 0.609
Features: ('anaemia', 'creatinine_phosphokinase', 'ejection_fraction', 'smoking'), AUC: 0.456
Features: ('anaemia', 'creatinine_phosphokinase', 'ejection_fraction', 'time'), AUC: 0.854
Features: ('anaemia', 'creatinine_phosphokinase', 'high_blood_pressure', 'platelets'), AUC: 0.487
Features: ('anaemia', 'creatinine_phosphokinase', 'high_blood_pressure', 'serum_creatinine'), AUC: 0.832
Features: ('anaemia', 'creatinine_phosphokinase', 'high_blood_pressure', 'serum_sodium'), AUC: 0.516
Features: ('anaemia', 'creatinine_phosphokinase', 'high_blood_pressure', 'sex'), AUC: 0.586
Features: ('anaemia', 'creatinine_phosphokinase', 'high_blood_pressure', 'smoking'), AUC: 0.538
Features: ('anaemia', 'creatinine_phosphokinase', 'high_blood_pressure', 'time'), AUC: 0.821
Features: ('anaemia', 'creatinine_phosphokinase', 'platelets', 'serum_creatinine'), AUC: 0.810
Features: ('anaemia', 'creatinine_phosphokinase', 'platelets', 'serum_sodium'), AUC: 0.549
Features: ('anaemia', 'creatinine_phosphokinase', 'platelets', 'sex'), AUC: 0.629
Features: ('anaemia', 'creatinine_phosphokinase', 'platelets', 'smoking'), AUC: 0.515
Features: ('anaemia', 'creatinine_phosphokinase', 'platelets', 'time'), AUC: 0.828
Features: ('anaemia', 'creatinine_phosphokinase', 'serum_creatinine', 'serum_sodium'), AUC: 0.757
Features: ('anaemia', 'creatinine_phosphokinase', 'serum_creatinine', 'sex'), AUC: 0.771
Features: ('anaemia', 'creatinine_phosphokinase', 'serum_creatinine', 'smoking'), AUC: 0.840
Features: ('anaemia', 'creatinine_phosphokinase', 'serum_creatinine', 'time'), AUC: 0.914
Features: ('anaemia', 'creatinine_phosphokinase', 'serum_sodium', 'sex'), AUC: 0.469
Features: ('anaemia', 'creatinine_phosphokinase', 'serum_sodium', 'smoking'), AUC: 0.434
Features: ('anaemia', 'creatinine_phosphokinase', 'serum_sodium', 'time'), AUC: 0.819
Features: ('anaemia', 'creatinine_phosphokinase', 'sex', 'smoking'), AUC: 0.636
Features: ('anaemia', 'creatinine_phosphokinase', 'sex', 'time'), AUC: 0.828
Features: ('anaemia', 'creatinine_phosphokinase', 'smoking', 'time'), AUC: 0.851
Features: ('anaemia', 'diabetes', 'ejection_fraction', 'high_blood_pressure'), AUC: 0.574
Features: ('anaemia', 'diabetes', 'ejection_fraction', 'platelets'), AUC: 0.539
Features: ('anaemia', 'diabetes', 'ejection_fraction', 'serum_creatinine'), AUC: 0.840
Features: ('anaemia', 'diabetes', 'ejection_fraction', 'serum_sodium'), AUC: 0.586
Features: ('anaemia', 'diabetes', 'ejection_fraction', 'sex'), AUC: 0.635
Features: ('anaemia', 'diabetes', 'ejection_fraction', 'smoking'), AUC: 0.615
Features: ('anaemia', 'diabetes', 'ejection_fraction', 'time'), AUC: 0.868
Features: ('anaemia', 'diabetes', 'high_blood_pressure', 'platelets'), AUC: 0.517
Features: ('anaemia', 'diabetes', 'high_blood_pressure', 'serum_creatinine'), AUC: 0.729
Features: ('anaemia', 'diabetes', 'high_blood_pressure', 'serum_sodium'), AUC: 0.539
Features: ('anaemia', 'diabetes', 'high_blood_pressure', 'sex'), AUC: 0.505
Features: ('anaemia', 'diabetes', 'high_blood_pressure', 'smoking'), AUC: 0.590
Features: ('anaemia', 'diabetes', 'high_blood_pressure', 'time'), AUC: 0.799
Features: ('anaemia', 'diabetes', 'platelets', 'serum_creatinine'), AUC: 0.785
Features: ('anaemia', 'diabetes', 'platelets', 'serum_sodium'), AUC: 0.557
Features: ('anaemia', 'diabetes', 'platelets', 'sex'), AUC: 0.637
Features: ('anaemia', 'diabetes', 'platelets', 'smoking'), AUC: 0.528
Features: ('anaemia', 'diabetes', 'platelets', 'time'), AUC: 0.824
Features: ('anaemia', 'diabetes', 'serum_creatinine', 'serum_sodium'), AUC: 0.808
Features: ('anaemia', 'diabetes', 'serum_creatinine', 'sex'), AUC: 0.728
Features: ('anaemia', 'diabetes', 'serum_creatinine', 'smoking'), AUC: 0.743
Features: ('anaemia', 'diabetes', 'serum_creatinine', 'time'), AUC: 0.892
Features: ('anaemia', 'diabetes', 'serum_sodium', 'sex'), AUC: 0.517
Features: ('anaemia', 'diabetes', 'serum_sodium', 'smoking'), AUC: 0.542
Features: ('anaemia', 'diabetes', 'serum_sodium', 'time'), AUC: 0.826
Features: ('anaemia', 'diabetes', 'sex', 'smoking'), AUC: 0.616
Features: ('anaemia', 'diabetes', 'sex', 'time'), AUC: 0.894
Features: ('anaemia', 'diabetes', 'smoking', 'time'), AUC: 0.863
Features: ('anaemia', 'ejection_fraction', 'high_blood_pressure', 'platelets'), AUC: 0.499
Features: ('anaemia', 'ejection_fraction', 'high_blood_pressure', 'serum_creatinine'), AUC: 0.844
Features: ('anaemia', 'ejection_fraction', 'high_blood_pressure', 'serum_sodium'), AUC: 0.522
Features: ('anaemia', 'ejection_fraction', 'high_blood_pressure', 'sex'), AUC: 0.605
Features: ('anaemia', 'ejection_fraction', 'high_blood_pressure', 'smoking'), AUC: 0.498
Features: ('anaemia', 'ejection_fraction', 'high_blood_pressure', 'time'), AUC: 0.874
Features: ('anaemia', 'ejection_fraction', 'platelets', 'serum_creatinine'), AUC: 0.739
Features: ('anaemia', 'ejection_fraction', 'platelets', 'serum_sodium'), AUC: 0.571
Features: ('anaemia', 'ejection_fraction', 'platelets', 'sex'), AUC: 0.531
Features: ('anaemia', 'ejection_fraction', 'platelets', 'smoking'), AUC: 0.424
Features: ('anaemia', 'ejection_fraction', 'platelets', 'time'), AUC: 0.840
Features: ('anaemia', 'ejection_fraction', 'serum_creatinine', 'serum_sodium'), AUC: 0.733
Features: ('anaemia', 'ejection_fraction', 'serum_creatinine', 'sex'), AUC: 0.837
Features: ('anaemia', 'ejection_fraction', 'serum_creatinine', 'smoking'), AUC: 0.840
Features: ('anaemia', 'ejection_fraction', 'serum_creatinine', 'time'), AUC: 0.917
Features: ('anaemia', 'ejection_fraction', 'serum_sodium', 'sex'), AUC: 0.610
Features: ('anaemia', 'ejection_fraction', 'serum_sodium', 'smoking'), AUC: 0.589
Features: ('anaemia', 'ejection_fraction', 'serum_sodium', 'time'), AUC: 0.877
Features: ('anaemia', 'ejection_fraction', 'sex', 'smoking'), AUC: 0.568
Features: ('anaemia', 'ejection_fraction', 'sex', 'time'), AUC: 0.850
Features: ('anaemia', 'ejection_fraction', 'smoking', 'time'), AUC: 0.870
Features: ('anaemia', 'high_blood_pressure', 'platelets', 'serum_creatinine'), AUC: 0.716
Features: ('anaemia', 'high_blood_pressure', 'platelets', 'serum_sodium'), AUC: 0.568
Features: ('anaemia', 'high_blood_pressure', 'platelets', 'sex'), AUC: 0.571
Features: ('anaemia', 'high_blood_pressure', 'platelets', 'smoking'), AUC: 0.401
Features: ('anaemia', 'high_blood_pressure', 'platelets', 'time'), AUC: 0.843
Features: ('anaemia', 'high_blood_pressure', 'serum_creatinine', 'serum_sodium'), AUC: 0.757
Features: ('anaemia', 'high_blood_pressure', 'serum_creatinine', 'sex'), AUC: 0.748
Features: ('anaemia', 'high_blood_pressure', 'serum_creatinine', 'smoking'), AUC: 0.839
Features: ('anaemia', 'high_blood_pressure', 'serum_creatinine', 'time'), AUC: 0.884
Features: ('anaemia', 'high_blood_pressure', 'serum_sodium', 'sex'), AUC: 0.507
Features: ('anaemia', 'high_blood_pressure', 'serum_sodium', 'smoking'), AUC: 0.546
Features: ('anaemia', 'high_blood_pressure', 'serum_sodium', 'time'), AUC: 0.825
Features: ('anaemia', 'high_blood_pressure', 'sex', 'smoking'), AUC: 0.587
Features: ('anaemia', 'high_blood_pressure', 'sex', 'time'), AUC: 0.833
Features: ('anaemia', 'high_blood_pressure', 'smoking', 'time'), AUC: 0.838
Features: ('anaemia', 'platelets', 'serum_creatinine', 'serum_sodium'), AUC: 0.716
Features: ('anaemia', 'platelets', 'serum_creatinine', 'sex'), AUC: 0.822
Features: ('anaemia', 'platelets', 'serum_creatinine', 'smoking'), AUC: 0.777
Features: ('anaemia', 'platelets', 'serum_creatinine', 'time'), AUC: 0.893
Features: ('anaemia', 'platelets', 'serum_sodium', 'sex'), AUC: 0.608
Features: ('anaemia', 'platelets', 'serum_sodium', 'smoking'), AUC: 0.504
Features: ('anaemia', 'platelets', 'serum_sodium', 'time'), AUC: 0.825
Features: ('anaemia', 'platelets', 'sex', 'smoking'), AUC: 0.563
Features: ('anaemia', 'platelets', 'sex', 'time'), AUC: 0.898
Features: ('anaemia', 'platelets', 'smoking', 'time'), AUC: 0.808
Features: ('anaemia', 'serum_creatinine', 'serum_sodium', 'sex'), AUC: 0.668
Features: ('anaemia', 'serum_creatinine', 'serum_sodium', 'smoking'), AUC: 0.627
Features: ('anaemia', 'serum_creatinine', 'serum_sodium', 'time'), AUC: 0.883
Features: ('anaemia', 'serum_creatinine', 'sex', 'smoking'), AUC: 0.781
Features: ('anaemia', 'serum_creatinine', 'sex', 'time'), AUC: 0.913
Features: ('anaemia', 'serum_creatinine', 'smoking', 'time'), AUC: 0.905
Features: ('anaemia', 'serum_sodium', 'sex', 'smoking'), AUC: 0.488
Features: ('anaemia', 'serum_sodium', 'sex', 'time'), AUC: 0.790
Features: ('anaemia', 'serum_sodium', 'smoking', 'time'), AUC: 0.806
Features: ('anaemia', 'sex', 'smoking', 'time'), AUC: 0.875
Features: ('creatinine_phosphokinase', 'diabetes', 'ejection_fraction', 'high_blood_pressure'), AUC: 0.638
Features: ('creatinine_phosphokinase', 'diabetes', 'ejection_fraction', 'platelets'), AUC: 0.601
Features: ('creatinine_phosphokinase', 'diabetes', 'ejection_fraction', 'serum_creatinine'), AUC: 0.812
Features: ('creatinine_phosphokinase', 'diabetes', 'ejection_fraction', 'serum_sodium'), AUC: 0.581
Features: ('creatinine_phosphokinase', 'diabetes', 'ejection_fraction', 'sex'), AUC: 0.700
Features: ('creatinine_phosphokinase', 'diabetes', 'ejection_fraction', 'smoking'), AUC: 0.657
Features: ('creatinine_phosphokinase', 'diabetes', 'ejection_fraction', 'time'), AUC: 0.864
Features: ('creatinine_phosphokinase', 'diabetes', 'high_blood_pressure', 'platelets'), AUC: 0.539
Features: ('creatinine_phosphokinase', 'diabetes', 'high_blood_pressure', 'serum_creatinine'), AUC: 0.810
Features: ('creatinine_phosphokinase', 'diabetes', 'high_blood_pressure', 'serum_sodium'), AUC: 0.574
Features: ('creatinine_phosphokinase', 'diabetes', 'high_blood_pressure', 'sex'), AUC: 0.554
Features: ('creatinine_phosphokinase', 'diabetes', 'high_blood_pressure', 'smoking'), AUC: 0.509
Features: ('creatinine_phosphokinase', 'diabetes', 'high_blood_pressure', 'time'), AUC: 0.843
Features: ('creatinine_phosphokinase', 'diabetes', 'platelets', 'serum_creatinine'), AUC: 0.811
Features: ('creatinine_phosphokinase', 'diabetes', 'platelets', 'serum_sodium'), AUC: 0.566
Features: ('creatinine_phosphokinase', 'diabetes', 'platelets', 'sex'), AUC: 0.601
Features: ('creatinine_phosphokinase', 'diabetes', 'platelets', 'smoking'), AUC: 0.572
Features: ('creatinine_phosphokinase', 'diabetes', 'platelets', 'time'), AUC: 0.803
Features: ('creatinine_phosphokinase', 'diabetes', 'serum_creatinine', 'serum_sodium'), AUC: 0.757
Features: ('creatinine_phosphokinase', 'diabetes', 'serum_creatinine', 'sex'), AUC: 0.781
Features: ('creatinine_phosphokinase', 'diabetes', 'serum_creatinine', 'smoking'), AUC: 0.811
Features: ('creatinine_phosphokinase', 'diabetes', 'serum_creatinine', 'time'), AUC: 0.903
Features: ('creatinine_phosphokinase', 'diabetes', 'serum_sodium', 'sex'), AUC: 0.522
Features: ('creatinine_phosphokinase', 'diabetes', 'serum_sodium', 'smoking'), AUC: 0.580
Features: ('creatinine_phosphokinase', 'diabetes', 'serum_sodium', 'time'), AUC: 0.831
Features: ('creatinine_phosphokinase', 'diabetes', 'sex', 'smoking'), AUC: 0.623
Features: ('creatinine_phosphokinase', 'diabetes', 'sex', 'time'), AUC: 0.816
Features: ('creatinine_phosphokinase', 'diabetes', 'smoking', 'time'), AUC: 0.853
Features: ('creatinine_phosphokinase', 'ejection_fraction', 'high_blood_pressure', 'platelets'), AUC: 0.562
Features: ('creatinine_phosphokinase', 'ejection_fraction', 'high_blood_pressure', 'serum_creatinine'), AUC: 0.798
Features: ('creatinine_phosphokinase', 'ejection_fraction', 'high_blood_pressure', 'serum_sodium'), AUC: 0.551
Features: ('creatinine_phosphokinase', 'ejection_fraction', 'high_blood_pressure', 'sex'), AUC: 0.669
Features: ('creatinine_phosphokinase', 'ejection_fraction', 'high_blood_pressure', 'smoking'), AUC: 0.669
Features: ('creatinine_phosphokinase', 'ejection_fraction', 'high_blood_pressure', 'time'), AUC: 0.851
Features: ('creatinine_phosphokinase', 'ejection_fraction', 'platelets', 'serum_creatinine'), AUC: 0.783
Features: ('creatinine_phosphokinase', 'ejection_fraction', 'platelets', 'serum_sodium'), AUC: 0.582
Features: ('creatinine_phosphokinase', 'ejection_fraction', 'platelets', 'sex'), AUC: 0.611
Features: ('creatinine_phosphokinase', 'ejection_fraction', 'platelets', 'smoking'), AUC: 0.607
Features: ('creatinine_phosphokinase', 'ejection_fraction', 'platelets', 'time'), AUC: 0.802
Features: ('creatinine_phosphokinase', 'ejection_fraction', 'serum_creatinine', 'serum_sodium'), AUC: 0.728
Features: ('creatinine_phosphokinase', 'ejection_fraction', 'serum_creatinine', 'sex'), AUC: 0.771
Features: ('creatinine_phosphokinase', 'ejection_fraction', 'serum_creatinine', 'smoking'), AUC: 0.798
Features: ('creatinine_phosphokinase', 'ejection_fraction', 'serum_creatinine', 'time'), AUC: 0.912
Features: ('creatinine_phosphokinase', 'ejection_fraction', 'serum_sodium', 'sex'), AUC: 0.601
Features: ('creatinine_phosphokinase', 'ejection_fraction', 'serum_sodium', 'smoking'), AUC: 0.518
Features: ('creatinine_phosphokinase', 'ejection_fraction', 'serum_sodium', 'time'), AUC: 0.847
Features: ('creatinine_phosphokinase', 'ejection_fraction', 'sex', 'smoking'), AUC: 0.695
Features: ('creatinine_phosphokinase', 'ejection_fraction', 'sex', 'time'), AUC: 0.836
Features: ('creatinine_phosphokinase', 'ejection_fraction', 'smoking', 'time'), AUC: 0.875
Features: ('creatinine_phosphokinase', 'high_blood_pressure', 'platelets', 'serum_creatinine'), AUC: 0.795
Features: ('creatinine_phosphokinase', 'high_blood_pressure', 'platelets', 'serum_sodium'), AUC: 0.538
Features: ('creatinine_phosphokinase', 'high_blood_pressure', 'platelets', 'sex'), AUC: 0.613
Features: ('creatinine_phosphokinase', 'high_blood_pressure', 'platelets', 'smoking'), AUC: 0.511
Features: ('creatinine_phosphokinase', 'high_blood_pressure', 'platelets', 'time'), AUC: 0.825
Features: ('creatinine_phosphokinase', 'high_blood_pressure', 'serum_creatinine', 'serum_sodium'), AUC: 0.776
Features: ('creatinine_phosphokinase', 'high_blood_pressure', 'serum_creatinine', 'sex'), AUC: 0.740
Features: ('creatinine_phosphokinase', 'high_blood_pressure', 'serum_creatinine', 'smoking'), AUC: 0.812
Features: ('creatinine_phosphokinase', 'high_blood_pressure', 'serum_creatinine', 'time'), AUC: 0.907
Features: ('creatinine_phosphokinase', 'high_blood_pressure', 'serum_sodium', 'sex'), AUC: 0.534
Features: ('creatinine_phosphokinase', 'high_blood_pressure', 'serum_sodium', 'smoking'), AUC: 0.521
Features: ('creatinine_phosphokinase', 'high_blood_pressure', 'serum_sodium', 'time'), AUC: 0.837
Features: ('creatinine_phosphokinase', 'high_blood_pressure', 'sex', 'smoking'), AUC: 0.587
Features: ('creatinine_phosphokinase', 'high_blood_pressure', 'sex', 'time'), AUC: 0.836
Features: ('creatinine_phosphokinase', 'high_blood_pressure', 'smoking', 'time'), AUC: 0.842
Features: ('creatinine_phosphokinase', 'platelets', 'serum_creatinine', 'serum_sodium'), AUC: 0.742
Features: ('creatinine_phosphokinase', 'platelets', 'serum_creatinine', 'sex'), AUC: 0.765
Features: ('creatinine_phosphokinase', 'platelets', 'serum_creatinine', 'smoking'), AUC: 0.792
Features: ('creatinine_phosphokinase', 'platelets', 'serum_creatinine', 'time'), AUC: 0.878
Features: ('creatinine_phosphokinase', 'platelets', 'serum_sodium', 'sex'), AUC: 0.535
Features: ('creatinine_phosphokinase', 'platelets', 'serum_sodium', 'smoking'), AUC: 0.508
Features: ('creatinine_phosphokinase', 'platelets', 'serum_sodium', 'time'), AUC: 0.833
Features: ('creatinine_phosphokinase', 'platelets', 'sex', 'smoking'), AUC: 0.633
Features: ('creatinine_phosphokinase', 'platelets', 'sex', 'time'), AUC: 0.847
Features: ('creatinine_phosphokinase', 'platelets', 'smoking', 'time'), AUC: 0.841
Features: ('creatinine_phosphokinase', 'serum_creatinine', 'serum_sodium', 'sex'), AUC: 0.717
Features: ('creatinine_phosphokinase', 'serum_creatinine', 'serum_sodium', 'smoking'), AUC: 0.689
Features: ('creatinine_phosphokinase', 'serum_creatinine', 'serum_sodium', 'time'), AUC: 0.890
Features: ('creatinine_phosphokinase', 'serum_creatinine', 'sex', 'smoking'), AUC: 0.775
Features: ('creatinine_phosphokinase', 'serum_creatinine', 'sex', 'time'), AUC: 0.891
Features: ('creatinine_phosphokinase', 'serum_creatinine', 'smoking', 'time'), AUC: 0.905
Features: ('creatinine_phosphokinase', 'serum_sodium', 'sex', 'smoking'), AUC: 0.549
Features: ('creatinine_phosphokinase', 'serum_sodium', 'sex', 'time'), AUC: 0.832
Features: ('creatinine_phosphokinase', 'serum_sodium', 'smoking', 'time'), AUC: 0.839
Features: ('creatinine_phosphokinase', 'sex', 'smoking', 'time'), AUC: 0.830
Features: ('diabetes', 'ejection_fraction', 'high_blood_pressure', 'platelets'), AUC: 0.576
Features: ('diabetes', 'ejection_fraction', 'high_blood_pressure', 'serum_creatinine'), AUC: 0.755
Features: ('diabetes', 'ejection_fraction', 'high_blood_pressure', 'serum_sodium'), AUC: 0.623
Features: ('diabetes', 'ejection_fraction', 'high_blood_pressure', 'sex'), AUC: 0.622
Features: ('diabetes', 'ejection_fraction', 'high_blood_pressure', 'smoking'), AUC: 0.666
Features: ('diabetes', 'ejection_fraction', 'high_blood_pressure', 'time'), AUC: 0.846
Features: ('diabetes', 'ejection_fraction', 'platelets', 'serum_creatinine'), AUC: 0.740
Features: ('diabetes', 'ejection_fraction', 'platelets', 'serum_sodium'), AUC: 0.533
Features: ('diabetes', 'ejection_fraction', 'platelets', 'sex'), AUC: 0.657
Features: ('diabetes', 'ejection_fraction', 'platelets', 'smoking'), AUC: 0.555
Features: ('diabetes', 'ejection_fraction', 'platelets', 'time'), AUC: 0.825
Features: ('diabetes', 'ejection_fraction', 'serum_creatinine', 'serum_sodium'), AUC: 0.683
Features: ('diabetes', 'ejection_fraction', 'serum_creatinine', 'sex'), AUC: 0.833
Features: ('diabetes', 'ejection_fraction', 'serum_creatinine', 'smoking'), AUC: 0.817
Features: ('diabetes', 'ejection_fraction', 'serum_creatinine', 'time'), AUC: 0.920
Features: ('diabetes', 'ejection_fraction', 'serum_sodium', 'sex'), AUC: 0.632
Features: ('diabetes', 'ejection_fraction', 'serum_sodium', 'smoking'), AUC: 0.630
Features: ('diabetes', 'ejection_fraction', 'serum_sodium', 'time'), AUC: 0.877
Features: ('diabetes', 'ejection_fraction', 'sex', 'smoking'), AUC: 0.737
Features: ('diabetes', 'ejection_fraction', 'sex', 'time'), AUC: 0.866
Features: ('diabetes', 'ejection_fraction', 'smoking', 'time'), AUC: 0.895
Features: ('diabetes', 'high_blood_pressure', 'platelets', 'serum_creatinine'), AUC: 0.759
Features: ('diabetes', 'high_blood_pressure', 'platelets', 'serum_sodium'), AUC: 0.549
Features: ('diabetes', 'high_blood_pressure', 'platelets', 'sex'), AUC: 0.620
Features: ('diabetes', 'high_blood_pressure', 'platelets', 'smoking'), AUC: 0.626
Features: ('diabetes', 'high_blood_pressure', 'platelets', 'time'), AUC: 0.846
Features: ('diabetes', 'high_blood_pressure', 'serum_creatinine', 'serum_sodium'), AUC: 0.730
Features: ('diabetes', 'high_blood_pressure', 'serum_creatinine', 'sex'), AUC: 0.708
Features: ('diabetes', 'high_blood_pressure', 'serum_creatinine', 'smoking'), AUC: 0.772
Features: ('diabetes', 'high_blood_pressure', 'serum_creatinine', 'time'), AUC: 0.881
Features: ('diabetes', 'high_blood_pressure', 'serum_sodium', 'sex'), AUC: 0.595
Features: ('diabetes', 'high_blood_pressure', 'serum_sodium', 'smoking'), AUC: 0.628
Features: ('diabetes', 'high_blood_pressure', 'serum_sodium', 'time'), AUC: 0.880
Features: ('diabetes', 'high_blood_pressure', 'sex', 'smoking'), AUC: 0.638
Features: ('diabetes', 'high_blood_pressure', 'sex', 'time'), AUC: 0.871
Features: ('diabetes', 'high_blood_pressure', 'smoking', 'time'), AUC: 0.875
Features: ('diabetes', 'platelets', 'serum_creatinine', 'serum_sodium'), AUC: 0.734
Features: ('diabetes', 'platelets', 'serum_creatinine', 'sex'), AUC: 0.729
Features: ('diabetes', 'platelets', 'serum_creatinine', 'smoking'), AUC: 0.768
Features: ('diabetes', 'platelets', 'serum_creatinine', 'time'), AUC: 0.895
Features: ('diabetes', 'platelets', 'serum_sodium', 'sex'), AUC: 0.521
Features: ('diabetes', 'platelets', 'serum_sodium', 'smoking'), AUC: 0.499
Features: ('diabetes', 'platelets', 'serum_sodium', 'time'), AUC: 0.813
Features: ('diabetes', 'platelets', 'sex', 'smoking'), AUC: 0.578
Features: ('diabetes', 'platelets', 'sex', 'time'), AUC: 0.900
Features: ('diabetes', 'platelets', 'smoking', 'time'), AUC: 0.855
Features: ('diabetes', 'serum_creatinine', 'serum_sodium', 'sex'), AUC: 0.747
Features: ('diabetes', 'serum_creatinine', 'serum_sodium', 'smoking'), AUC: 0.630
Features: ('diabetes', 'serum_creatinine', 'serum_sodium', 'time'), AUC: 0.870
Features: ('diabetes', 'serum_creatinine', 'sex', 'smoking'), AUC: 0.772
Features: ('diabetes', 'serum_creatinine', 'sex', 'time'), AUC: 0.880
Features: ('diabetes', 'serum_creatinine', 'smoking', 'time'), AUC: 0.899
Features: ('diabetes', 'serum_sodium', 'sex', 'smoking'), AUC: 0.568
Features: ('diabetes', 'serum_sodium', 'sex', 'time'), AUC: 0.853
Features: ('diabetes', 'serum_sodium', 'smoking', 'time'), AUC: 0.865
Features: ('diabetes', 'sex', 'smoking', 'time'), AUC: 0.882
Features: ('ejection_fraction', 'high_blood_pressure', 'platelets', 'serum_creatinine'), AUC: 0.743
Features: ('ejection_fraction', 'high_blood_pressure', 'platelets', 'serum_sodium'), AUC: 0.539
Features: ('ejection_fraction', 'high_blood_pressure', 'platelets', 'sex'), AUC: 0.516
Features: ('ejection_fraction', 'high_blood_pressure', 'platelets', 'smoking'), AUC: 0.512
Features: ('ejection_fraction', 'high_blood_pressure', 'platelets', 'time'), AUC: 0.826
Features: ('ejection_fraction', 'high_blood_pressure', 'serum_creatinine', 'serum_sodium'), AUC: 0.716
Features: ('ejection_fraction', 'high_blood_pressure', 'serum_creatinine', 'sex'), AUC: 0.791
Features: ('ejection_fraction', 'high_blood_pressure', 'serum_creatinine', 'smoking'), AUC: 0.831
Features: ('ejection_fraction', 'high_blood_pressure', 'serum_creatinine', 'time'), AUC: 0.910
Features: ('ejection_fraction', 'high_blood_pressure', 'serum_sodium', 'sex'), AUC: 0.662
Features: ('ejection_fraction', 'high_blood_pressure', 'serum_sodium', 'smoking'), AUC: 0.632
Features: ('ejection_fraction', 'high_blood_pressure', 'serum_sodium', 'time'), AUC: 0.894
Features: ('ejection_fraction', 'high_blood_pressure', 'sex', 'smoking'), AUC: 0.618
Features: ('ejection_fraction', 'high_blood_pressure', 'sex', 'time'), AUC: 0.844
Features: ('ejection_fraction', 'high_blood_pressure', 'smoking', 'time'), AUC: 0.871
Features: ('ejection_fraction', 'platelets', 'serum_creatinine', 'serum_sodium'), AUC: 0.668
Features: ('ejection_fraction', 'platelets', 'serum_creatinine', 'sex'), AUC: 0.762
Features: ('ejection_fraction', 'platelets', 'serum_creatinine', 'smoking'), AUC: 0.734
Features: ('ejection_fraction', 'platelets', 'serum_creatinine', 'time'), AUC: 0.905
Features: ('ejection_fraction', 'platelets', 'serum_sodium', 'sex'), AUC: 0.587
Features: ('ejection_fraction', 'platelets', 'serum_sodium', 'smoking'), AUC: 0.546
Features: ('ejection_fraction', 'platelets', 'serum_sodium', 'time'), AUC: 0.862
Features: ('ejection_fraction', 'platelets', 'sex', 'smoking'), AUC: 0.588
Features: ('ejection_fraction', 'platelets', 'sex', 'time'), AUC: 0.859
Features: ('ejection_fraction', 'platelets', 'smoking', 'time'), AUC: 0.846
Features: ('ejection_fraction', 'serum_creatinine', 'serum_sodium', 'sex'), AUC: 0.725
Features: ('ejection_fraction', 'serum_creatinine', 'serum_sodium', 'smoking'), AUC: 0.690
Features: ('ejection_fraction', 'serum_creatinine', 'serum_sodium', 'time'), AUC: 0.908
Features: ('ejection_fraction', 'serum_creatinine', 'sex', 'smoking'), AUC: 0.810
Features: ('ejection_fraction', 'serum_creatinine', 'sex', 'time'), AUC: 0.916
Features: ('ejection_fraction', 'serum_creatinine', 'smoking', 'time'), AUC: 0.933
Features: ('ejection_fraction', 'serum_sodium', 'sex', 'smoking'), AUC: 0.601
Features: ('ejection_fraction', 'serum_sodium', 'sex', 'time'), AUC: 0.875
Features: ('ejection_fraction', 'serum_sodium', 'smoking', 'time'), AUC: 0.889
Features: ('ejection_fraction', 'sex', 'smoking', 'time'), AUC: 0.873
Features: ('high_blood_pressure', 'platelets', 'serum_creatinine', 'serum_sodium'), AUC: 0.673
Features: ('high_blood_pressure', 'platelets', 'serum_creatinine', 'sex'), AUC: 0.705
Features: ('high_blood_pressure', 'platelets', 'serum_creatinine', 'smoking'), AUC: 0.734
Features: ('high_blood_pressure', 'platelets', 'serum_creatinine', 'time'), AUC: 0.877
Features: ('high_blood_pressure', 'platelets', 'serum_sodium', 'sex'), AUC: 0.553
Features: ('high_blood_pressure', 'platelets', 'serum_sodium', 'smoking'), AUC: 0.557
Features: ('high_blood_pressure', 'platelets', 'serum_sodium', 'time'), AUC: 0.823
Features: ('high_blood_pressure', 'platelets', 'sex', 'smoking'), AUC: 0.618
Features: ('high_blood_pressure', 'platelets', 'sex', 'time'), AUC: 0.893
Features: ('high_blood_pressure', 'platelets', 'smoking', 'time'), AUC: 0.840
Features: ('high_blood_pressure', 'serum_creatinine', 'serum_sodium', 'sex'), AUC: 0.688
Features: ('high_blood_pressure', 'serum_creatinine', 'serum_sodium', 'smoking'), AUC: 0.710
Features: ('high_blood_pressure', 'serum_creatinine', 'serum_sodium', 'time'), AUC: 0.890
Features: ('high_blood_pressure', 'serum_creatinine', 'sex', 'smoking'), AUC: 0.776
Features: ('high_blood_pressure', 'serum_creatinine', 'sex', 'time'), AUC: 0.897
Features: ('high_blood_pressure', 'serum_creatinine', 'smoking', 'time'), AUC: 0.910
Features: ('high_blood_pressure', 'serum_sodium', 'sex', 'smoking'), AUC: 0.628
Features: ('high_blood_pressure', 'serum_sodium', 'sex', 'time'), AUC: 0.850
Features: ('high_blood_pressure', 'serum_sodium', 'smoking', 'time'), AUC: 0.871
Features: ('high_blood_pressure', 'sex', 'smoking', 'time'), AUC: 0.896
Features: ('platelets', 'serum_creatinine', 'serum_sodium', 'sex'), AUC: 0.692
Features: ('platelets', 'serum_creatinine', 'serum_sodium', 'smoking'), AUC: 0.688
Features: ('platelets', 'serum_creatinine', 'serum_sodium', 'time'), AUC: 0.865
Features: ('platelets', 'serum_creatinine', 'sex', 'smoking'), AUC: 0.758
Features: ('platelets', 'serum_creatinine', 'sex', 'time'), AUC: 0.898
Features: ('platelets', 'serum_creatinine', 'smoking', 'time'), AUC: 0.882
Features: ('platelets', 'serum_sodium', 'sex', 'smoking'), AUC: 0.505
Features: ('platelets', 'serum_sodium', 'sex', 'time'), AUC: 0.845
Features: ('platelets', 'serum_sodium', 'smoking', 'time'), AUC: 0.817
Features: ('platelets', 'sex', 'smoking', 'time'), AUC: 0.880
Features: ('serum_creatinine', 'serum_sodium', 'sex', 'smoking'), AUC: 0.645
Features: ('serum_creatinine', 'serum_sodium', 'sex', 'time'), AUC: 0.887
Features: ('serum_creatinine', 'serum_sodium', 'smoking', 'time'), AUC: 0.891
Features: ('serum_creatinine', 'sex', 'smoking', 'time'), AUC: 0.906
Features: ('serum_sodium', 'sex', 'smoking', 'time'), AUC: 0.848
Best Subset: ('ejection_fraction', 'serum_creatinine', 'smoking', 'time'), Best AUC on Validation: 0.933
Features Importance: [0.15765345 0.24700171 0.0250969 0.57024794]
Final Performance on Test Set using Best Subset ('ejection_fraction', 'serum_creatinine', 'smoking', 'time')
Test AUC: 0.945
Classification Report on Test Set:
precision recall f1-score support
0 0.90 0.90 0.90 20
1 0.80 0.80 0.80 10
accuracy 0.87 30
macro avg 0.85 0.85 0.85 30
weighted avg 0.87 0.87 0.87 30
Confusion Matrix:
[[18 2]
[ 2 8]]
SVM Accuracy: 0.8333333333333334
SVM Classification Report:
precision recall f1-score support
0 0.89 0.85 0.87 20
1 0.73 0.80 0.76 10
accuracy 0.83 30
macro avg 0.81 0.82 0.82 30
weighted avg 0.84 0.83 0.84 30
SVM Confusion Matrix:
[[17 3]
[ 2 8]]
Logistic Regression Accuracy: 0.8
Logistic Regression Classification Report:
precision recall f1-score support
0 0.82 0.90 0.86 20
1 0.75 0.60 0.67 10
accuracy 0.80 30
macro avg 0.78 0.75 0.76 30
weighted avg 0.80 0.80 0.79 30
Logistic Regression Confusion Matrix:
[[18 2]
[ 4 6]]
Without Smoothing nor best features selection
Final Performance on Test Set using Best Subset ('ejection_fraction', 'serum_creatinine', 'smoking', 'time')
Test AUC: 0.945
Classification Report on Test Set:
precision recall f1-score support
0 0.83 0.95 0.88 20
1 0.86 0.60 0.71 10
accuracy 0.83 30
macro avg 0.84 0.77 0.79 30
weighted avg 0.84 0.83 0.82 30
Confusion Matrix:
[[19 1]
[ 4 6]]
SVM Accuracy: 0.8333333333333334
SVM Classification Report:
precision recall f1-score support
0 0.83 0.95 0.88 20
1 0.86 0.60 0.71 10
accuracy 0.83 30
macro avg 0.84 0.77 0.79 30
weighted avg 0.84 0.83 0.82 30
SVM Confusion Matrix:
[[19 1]
[ 4 6]]
Logistic Regression Accuracy: 0.8333333333333334
Logistic Regression Classification Report:
precision recall f1-score support
0 0.83 0.95 0.88 20
1 0.86 0.60 0.71 10
accuracy 0.83 30
macro avg 0.84 0.77 0.79 30
weighted avg 0.84 0.83 0.82 30
Logistic Regression Confusion Matrix:
[[19 1]
[ 4 6]]
