bleh / src /streamlit_app.py
grupoaura's picture
Update src/streamlit_app.py
2d9a29e verified
import streamlit as st
import pandas as pd
import joblib
modeldic = joblib.load("src/modelo_logreg_multi_new_weight-2.joblib")
model = modeldic['model']
st.title("Classificação de Triagem")
st.markdown(
"""
Esta aplicação classifica a cor de triagem do seu paciente, tendo em conta a informação recebida por ele.
**:blue[Azul]** : Não Urgente
**:green[Verde]** : Pouco Urgente
**:yellow[Amarelo]** : Urgente
**:orange[Laranja]** : Muito Urgente
**:red[Vermelho]** : Emergência
"""
)
#Info do paciente
#Código
code = st.text_input("Código de ICD-10?: ")
#Género
pacientgender = st.radio(
"Género?",
["Feminino", "Masculino"]
)
if pacientgender == "Feminino":
pacientgender = "Female"
else:
pacientgender = "Male"
#Urgência
urgency = st.radio(
"É necessário execução rápida?: ",
["Sim", "Mais ou Menos", "Não"]
)
if urgency == "Sim":
urgency = 2
elif urgency == "Mais ou Menos":
urgency = 1
else:
urgency = 0
#Crítico?
critical = st.radio(
"O seu estado é crítico?: ",
["Sim","Mais ou Menos", "Não"]
)
if critical == "Sim":
critical = 2
elif critical == "Mais ou Menos":
critical = 1
else:
critical == 0
#Dor
pain = st.select_slider(
"De 0 a 10, qual é a dor relatada pelo paciente?",
options=[
0, 1, 2, 3 ,4 ,5 ,6 , 7, 8, 9, 10
],
)
#Consciência
conscious = st.radio(
"O paciente está consciente?: ",
["Sim","Mais ou Menos", "Não"]
)
if conscious == "Sim":
conscious = 2
elif conscious == "Mais ou Menos":
conscious = 1
else:
conscious = 0
#Idade
pacientage = st.slider("Idade?", 0, 120, 0)
if st.button("Estou pronto para fazer a previsão", type="primary"):
z = pd.DataFrame(data=[[code,pacientgender, urgency, critical, pain, conscious, pacientage]],
columns=['ChiefComplaint', 'gender', 'NeedFastExecute', 'CriticalStatus', 'PainGrade', 'StuporStatus', 'age'],
index=['new pacient'])
prediction = model.predict(z)
if prediction[0] == 1:
st.text("Azul")
elif prediction[0] == 2:
st.text("Verde")
elif prediction[0] == 3:
st.text("Amarelo")
elif prediction[0] == 4:
st.text("Laranja")
elif prediction[0] == 5:
st.text("Vermelho")