import numpy as np 
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split 
from sklearn.linear_model import LogisticRegression 
from sklearn.metrics import accuracy_score
from google.colab import files 
data_to_load = files.upload() 
data = pd.read_csv('heart.csv') 
data.head()

print("Dataset Shape:", data.shape)

data.info()

X = data.drop(columns='target',axis=1) 
Y= data['target']
print(X) 
print(Y)
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, stratify=Y, random_state=2)

model = LogisticRegression() 
model.fit(X_train, Y_train)

Y_pred = model.predict(X_test)

accuracy = accuracy_score(Y_test, Y_pred) 
print("Accuracy of Logistic Regression:", accuracy) 


from sklearn.tree import DecisionTreeClassifier

dt_model = DecisionTreeClassifier(random_state=2) 
dt_model.fit(X_train, Y_train)

dt_pred = dt_model.predict(X_test)

dt_accuracy = accuracy_score(Y_test, dt_pred) 
print("Accuracy of Decision Tree:", dt_accuracy)

model_accuracies = {
  'Logistic Regression': accuracy,
  'Decision Tree': dt_accuracy
}

for model, acc in model_accuracies.items():
  print(f"{model}: {acc * 100:.2f}% Accuracy")