boss9482's picture
Rename Streamlit_stroke.py to app.py
a88974c
raw
history blame contribute delete
No virus
2.34 kB
#!/usr/bin/env python
# coding: utf-8
# In[3]:
import streamlit as st
import urllib.request
import json
# Streamlit app title
st.title("Stroke Prediction")
# Define input fields
st.sidebar.header("Input Parameters")
gender = st.sidebar.selectbox("Gender", ["Male", "Female"])
age = st.sidebar.slider("Age", 0, 100, 30)
hypertension = st.sidebar.checkbox("Hypertension")
heart_disease = st.sidebar.checkbox("Heart Disease")
ever_married = st.sidebar.checkbox("Ever Married")
work_type = st.sidebar.selectbox("Work Type", ["Private", "Self-employed", "Govt_job", "Children", "Never_worked"])
residence_type = st.sidebar.selectbox("Residence Type", ["Urban", "Rural"])
avg_glucose_level = st.sidebar.slider("Average Glucose Level", 0.0, 300.0, 100.0)
bmi = st.sidebar.number_input("BMI", 0.0, 100.0, 25.0)
smoking_status = st.sidebar.selectbox("Smoking Status", ["Smokes", "Never Smoked", "Unknown"])
# Create a button to trigger prediction
if st.sidebar.button("Predict"):
# Prepare data
data = {
"Inputs": {
"data": [
{
"id": 0,
"gender": gender,
"age": age,
"hypertension": 1 if hypertension else 0,
"heart_disease": 1 if heart_disease else 0,
"ever_married": ever_married,
"work_type": work_type,
"Residence_type": residence_type,
"avg_glucose_level": avg_glucose_level,
"bmi": bmi,
"smoking_status": smoking_status
}
]
},
"GlobalParameters": {
"method": "predict"
}
}
# Convert data to JSON
data_json = json.dumps(data).encode()
# Azure ML Model URL
model_url = 'http://38d9a89f-0a86-4fdb-bf82-50ed33213947.southeastasia.azurecontainer.io/score'
# Set headers
headers = {'Content-Type': 'application/json'}
# Make the HTTP request to the model
try:
response = urllib.request.urlopen(urllib.request.Request(model_url, data_json, headers))
result = response.read()
st.success(f"Prediction Result: {result}")
except urllib.error.HTTPError as error:
st.error(f"Prediction failed with status code: {error.code}")
# In[ ]: