|
from joblib import load |
|
import gradio as gr |
|
import pandas as pd |
|
|
|
from log_regress import FeatureSelector, CategoricalTransformer, NumericalTransformer |
|
|
|
clf = load("regressao_logistica.joblib") |
|
|
|
def passou_ou_nao(sexo, ano_nasc, raca, renda, auxilios, grau,area, da_capital): |
|
|
|
auxilios_list=3*["False"] |
|
|
|
for i in auxilios: |
|
|
|
auxilios_list[i] = "True" |
|
|
|
aux_ali, aux_Mor, aux_Trans = auxilios_list |
|
entrada = [[sexo[0],ano_nasc,raca,renda, aux_ali, aux_Trans, aux_Mor, grau,area,da_capital]] |
|
|
|
headers = ['sexo', 'ano_nascimento', 'raca', 'renda', 'possui_auxilio_alimentacao', |
|
'possui_auxilio_transporte', 'possui_auxilio_residencia_moradia', |
|
'grau_academico', 'area_conhecimento', 'local_ou_de_fora'] |
|
|
|
entrada_df = pd.DataFrame(entrada,columns=headers) |
|
|
|
prediction = clf.predict_proba(entrada_df)[0] |
|
|
|
class_names = ["REPROVAR", "APROVADO"] |
|
|
|
return {class_names[i]: prediction[i] for i in range(2)} |
|
|
|
|
|
|
|
|
|
|
|
iface = gr.Interface( |
|
passou_ou_nao, |
|
[ |
|
gr.inputs.Radio(["Masculino", "Feminino"]), |
|
gr.inputs.Number(label="Ano de nascimento"), |
|
gr.inputs.Radio(['Negro', 'Branco', 'Pardo', |
|
'Amarelo (de origem oriental)', 'Indígena', |
|
'Remanescente de quilombo']), |
|
gr.inputs.Number(label="Sua Renda familiar"), |
|
gr.inputs.CheckboxGroup( ["Alimentação","Moradia/Residência","Transporte"], |
|
label="Possui Auxilio ... ?",type='index'), |
|
|
|
gr.inputs.Dropdown(['BACHARELADO', 'LICENCIATURA', 'TECNOLÓGICO'], label="Nível"), |
|
gr.inputs.Dropdown(['Ciências Biológicas', 'Ciências da Saúde', |
|
'Ciências Exatas e da Terra', 'Engenharias', |
|
'Ciências Sociais Aplicadas', 'Ciências Humanas', |
|
'Linguística, Letras e Artes', 'Ciências Agrárias', 'Outra'], |
|
label="Sua Aréa de conhecimento"), |
|
gr.inputs.Checkbox(default=False, label="Sou originário da capital do RN"), |
|
], |
|
|
|
outputs = gr.outputs.Label(), |
|
interpretation="default" |
|
) |
|
|
|
iface.launch() |
|
|