File size: 4,420 Bytes
53e09be
 
 
 
 
 
728ddf2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6f605b8
53e09be
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6f605b8
53e09be
 
 
 
 
 
 
 
6f605b8
 
 
 
 
 
53e09be
6f605b8
53e09be
6f605b8
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import streamlit as st
import requests

# T铆tulo de la aplicaci贸n
st.title("Predicci贸n de C谩ncer Cervical")

# Crear las tres columnas
col1, col2, col3 = st.columns(3)

# Columna 1
with col1:
    behavior_sexualRisk = st.number_input("Risk Behavior (Sexual)", min_value=0.0, max_value=100.0, value=10.0)
    behavior_eating = st.number_input("Eating Behavior", min_value=0.0, max_value=100.0, value=10.0)
    behavior_personalHygine = st.number_input("Personal Hygiene", min_value=0.0, max_value=100.0, value=10.0)
    intention_aggregation = st.number_input("Intention Aggregation", min_value=0.0, max_value=100.0, value=10.0)
    intention_commitment = st.number_input("Intention Commitment", min_value=0.0, max_value=100.0, value=10.0)

# Columna 2
with col2:
    attitude_consistency = st.number_input("Attitude Consistency", min_value=0.0, max_value=100.0, value=10.0)
    attitude_spontaneity = st.number_input("Attitude Spontaneity", min_value=0.0, max_value=100.0, value=0.0)
    norm_significantPerson = st.number_input("Norm Significant Person", min_value=0.0, max_value=100.0, value=0.0)
    norm_fulfillment = st.number_input("Norm Fulfillment", min_value=0.0, max_value=100.0, value=0.0)
    perception_vulnerability = st.number_input("Perception Vulnerability", min_value=0.0, max_value=100.0, value=0.0)

# Columna 3
with col3:
    perception_severity = st.number_input("Perception Severity", min_value=0.0, max_value=100.0, value=0.0)
    motivation_strength = st.number_input("Motivation Strength", min_value=0.0, max_value=100.0, value=0.34)
    motivation_willingness = st.number_input("Motivation Willingness", min_value=0.0, max_value=100.0, value=0.54)
    socialSupport_emotionality = st.number_input("Social Support Emotionality", min_value=0.0, max_value=100.0, value=0.0)
    socialSupport_appreciation = st.number_input("Social Support Appreciation", min_value=0.0, max_value=100.0, value=0.0)

# Campos adicionales fuera de las columnas
empowerment_knowledge = st.number_input("Empowerment Knowledge", min_value=0.0, max_value=100.0, value=10.0)
empowerment_abilities = st.number_input("Empowerment Abilities", min_value=0.0, max_value=100.0, value=20.0)
empowerment_desires = st.number_input("Empowerment Desires", min_value=0.0, max_value=100.0, value=0.0)

# Bot贸n para hacer la predicci贸n
if st.button("Obtener Diagn贸stico"):
    # Crear el payload para la solicitud
    payload = {
        "behavior_sexualRisk": behavior_sexualRisk,
        "behavior_eating": behavior_eating,
        "behavior_personalHygine": behavior_personalHygine,
        "intention_aggregation": intention_aggregation,
        "intention_commitment": intention_commitment,
        "attitude_consistency": attitude_consistency,
        "attitude_spontaneity": attitude_spontaneity,
        "norm_significantPerson": norm_significantPerson,
        "norm_fulfillment": norm_fulfillment,
        "perception_vulnerability": perception_vulnerability,
        "perception_severity": perception_severity,
        "motivation_strength": motivation_strength,
        "motivation_willingness": motivation_willingness,
        "socialSupport_emotionality": socialSupport_emotionality,
        "socialSupport_appreciation": socialSupport_appreciation,
        "socialSupport_instrumental": 0,  # Este campo no lo env铆as en el formulario pero lo necesitas
        "empowerment_knowledge": empowerment_knowledge,
        "empowerment_abilities": empowerment_abilities,
        "empowerment_desires": empowerment_desires
    }
    
    # Hacer la solicitud a la API
    url = 'https://jairodanielmt-ejemplo-anibal.hf.space/predict/'
    headers = {'Content-Type': 'application/json', 'Accept': 'application/json'}
    
    try:
        response = requests.post(url, json=payload, headers=headers)
        response.raise_for_status()  # Lanza un error si el c贸digo de estado no es 200
        
        # Verificar si la respuesta es exitosa
        result = response.json()
        # Asumiendo que la respuesta contiene una clave 'ca_cervix_prediction'
        ca_cervix_prediction = result.get('ca_cervix_prediction', 'No disponible')
        
        # Mostrar el diagn贸stico recibido
        st.success(f"Diagn贸stico: {ca_cervix_prediction}")
        
    except requests.exceptions.HTTPError as http_err:
        st.error(f"Error HTTP: {http_err}")
    except Exception as err:
        st.error(f"Error: {err}")