Implementacion_dm / formulario.py
Jorch08's picture
Create formulario.py
1cea952 verified
import streamlit as st
# Estilo y diseño general
st.set_page_config(page_title="Predicción de Diabetes en Mujeres Embarazadas", layout="centered")
# Título de la aplicación
st.title("🩺 Predicción de Diabetes en Mujeres Embarazadas")
# Descripción
st.markdown("""
Bienvenida al sistema de predicción de diabetes basado en inteligencia artificial.
Por favor, completa el siguiente formulario con tus datos personales y hábitos de vida.
Una vez completado, obtendrás una predicción basada en nuestro modelo de aprendizaje automático.
""")
# Línea divisoria estilizada
st.markdown("---")
# Formulario para capturar los datos del usuario
with st.form(key="diabetes_form"):
st.subheader("📋 Información General")
age = st.number_input("🗓️ Edad:", min_value=0, max_value=120, value=30, help="Ingresa tu edad actual.")
bmi = st.number_input("⚖️ Índice de Masa Corporal (BMI):", min_value=0.0, max_value=100.0, value=25.0, step=0.1, help="Relación peso/talla al cuadrado (Kg/m²).")
blood_pressure = st.number_input("💓 Presión arterial (mmHg):", min_value=0, max_value=200, value=70, help="Ingresa tu presión arterial promedio.")
cholesterol_levels = st.number_input("🩸 Nivel de colesterol (mg/dL):", min_value=0, max_value=300, value=120)
glucose = st.number_input("🍬 Nivel de glucosa (mg/dL):", min_value=0, max_value=300, value=120)
waist_circumference = st.number_input("📏 Circunferencia de cintura (cm):", min_value=0, max_value=200, value=80)
st.markdown("### Antecedentes y Estilo de Vida")
has_family_history_radio = st.radio("👨‍👩‍👧 Antecedentes familiares de diabetes:", ("Sí", "No"))
smoking = st.radio("🚬 ¿Fumas?", ("Sí", "No"))
physical_activity = st.radio("🏃‍♀️ Nivel de actividad física:", ("Alto", "Medio", "Bajo"))
dietary_habits = st.radio("🍎 Hábitos alimenticios:", ("Saludables", "Medianamente Saludables", "No Saludables"))
alcohol_consumption = st.radio("🍷 Nivel de consumo de alcohol:", ("Alto", "Medio", "Bajo", "Ninguno"))
cystic_fibrosis_diagnosis = st.radio("⚕️ ¿Diagnóstico de fibrosis quística (FQ)?", ("Sí", "No"))
st.markdown("### Información sobre el Embarazo")
tipo_embarazo = st.radio("🤰 Tipo de embarazo:", ("Normal", "Con complicaciones"))
peso_ganado = st.number_input("📈 Peso ganado durante el embarazo (kg):", min_value=0, max_value=100, value=10, help="Incluye solo el peso adicional durante el embarazo.")
diabetes_gestacional = st.radio("🔬 ¿Diagnóstico previo de diabetes gestacional?", ("Sí", "No"))
# Botón para enviar el formulario
submit_button = st.form_submit_button(label="Enviar")
# Mensaje al enviar el formulario
if submit_button:
st.success("✅ ¡Formulario enviado correctamente!")
st.markdown("Los datos han sido registrados. En el siguiente paso se calculará la probabilidad basada en nuestro modelo de predicción.")
# Mostrar datos ingresados
st.write("### Resumen de tus datos:")
st.write(f"- **Edad:** {age} años")
st.write(f"- **Índice de Masa Corporal (BMI):** {bmi}")
st.write(f"- **Presión arterial:** {blood_pressure} mmHg")
st.write(f"- **Nivel de colesterol:** {cholesterol_levels} mg/dL")
st.write(f"- **Nivel de glucosa:** {glucose} mg/dL")
st.write(f"- **Circunferencia de cintura:** {waist_circumference} cm")
st.write(f"- **Antecedentes familiares de diabetes:** {has_family_history_radio}")
st.write(f"- **Fumas:** {smoking}")
st.write(f"- **Nivel de actividad física:** {physical_activity}")
st.write(f"- **Hábitos alimenticios:** {dietary_habits}")
st.write(f"- **Consumo de alcohol:** {alcohol_consumption}")
st.write(f"- **Diagnóstico de fibrosis quística:** {cystic_fibrosis_diagnosis}")
st.write(f"- **Tipo de embarazo:** {tipo_embarazo}")
st.write(f"- **Peso ganado durante el embarazo:** {peso_ganado} kg")
st.write(f"- **Diagnóstico previo de diabetes gestacional:** {diabetes_gestacional}")