Spaces:
No application file
No application file
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}") | |