Mohit8219's picture
Update app.py
b51ef81 verified
import pandas as pd
data =pd.read_csv("diabetes.csv")
data.head()
import seaborn as sns
sns.pairplot(data)
X = data.drop('Outcome', axis=1)
y = data['Outcome']
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
from sklearn.linear_model import LogisticRegression
# Create a Logistic Regression model
model = LogisticRegression()
# Train the model
model.fit(X_train, y_train)
# Make predictions on the test set
y_pred = model.predict(X_test)
# accuracy
from sklearn.metrics import accuracy_score
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
def predict_diabetes(Pregnancies, Glucose, BloodPressure, SkinThickness, Insulin, BMI, DiabetesPedigreeFunction, Age):
# Create a list of input features
input_data = [[Pregnancies, Glucose, BloodPressure, SkinThickness, Insulin, BMI, DiabetesPedigreeFunction, Age]]
# Make a prediction
prediction = model.predict(input_data)[0]
# Return the result
if prediction == 1:
return "The person is diabetic."
else:
return "The person is healthy."
result = predict_diabetes(6, 148, 72, 35, 0, 33.6, 0.627, 50)
print(result)
import gradio as gr
# Create a Gradio interface
iface = gr.Interface(
fn=predict_diabetes,
inputs=[
gr.Number(label="Pregnancies"), # Changed gr.inputs.Number to gr.Number
gr.Number(label="Glucose"), # Changed gr.inputs.Number to gr.Number
gr.Number(label="BloodPressure"), # Changed gr.inputs.Number to gr.Number
gr.Number(label="SkinThickness"), # Changed gr.inputs.Number to gr.Number
gr.Number(label="Insulin"), # Changed gr.inputs.Number to gr.Number
gr.Number(label="BMI"), # Changed gr.inputs.Number to gr.Number
gr.Number(label="DiabetesPedigreeFunction"), # Changed gr.inputs.Number to gr.Number
gr.Number(label="Age") # Changed gr.inputs.Number to gr.Number
],
outputs="text",
title="Diabetes Prediction",
description="Enter the patient's details to predict diabetes."
)
# Launch the interface
iface.launch(share=True)