|
import gradio as gr |
|
import pandas as pd |
|
import plotly.express as px |
|
import matplotlib.pyplot as plt |
|
import statistics |
|
|
|
LIBRARIES = ["ALOY", "APSTUD", "CLI", "TIMOB", "XD"] |
|
|
|
def grafico(list_output_mean, list_output_neosp, nome_projeto, pip_choices): |
|
list_output_mean = [3.152778, 3.375000, 1.423820, 1.052039, 1.297747, 1.224785, 2.250000, 2.375000, 1.540773, 1.847639, 1.491953, 1.052039, 0.983369, 1.669528, 1.665236, 1.412554, 1.375000, 1.078326, 1.556330, 1.625000, 1.860515, 1.491953, 1.160944, 1.675966, 1.987661, 2.369099, 1.431867, 1.944742, 2.329399, 1.925429] |
|
list_output_NEOSP = [3.191631, 3.417342, 1.202562, 0.867979, 1.225224, 1.028501, 2.165318, 2.291910, 1.141041, 1.785504, 1.086850, 0.875381, 0.714992, 1.604599, 1.833541, 0.860600, 1.393656, 1.152935, 1.364006, 1.647414, 1.527748, 1.236909, 1.403306, 1.655692, 1.770828, 1.937058, 0.861534, 1.341726, 1.904503, 1.449757] |
|
list_results = [ ["Median Regressor", statistics.mean(list_output_mean)], ["NEOSP-SVR Regressor", statistics.mean(list_output_NEOSP)] ] |
|
fig, (ax1, ax2) = plt.subplots(1, 2) |
|
|
|
if "Median Regressor" in pip_choices: |
|
df_list_output_mean = pd.DataFrame(list_output_mean, columns=["MAE"]) |
|
ax1.plot(df_list_output_mean.index, df_list_output_mean["MAE"], label="Median Regressor") |
|
if "NEOSP-SVR Regressor" in pip_choices: |
|
df_list_output_NEOSP = pd.DataFrame(list_output_NEOSP, columns=["MAE"]) |
|
ax1.plot(df_list_output_NEOSP.index, df_list_output_NEOSP["MAE"], label="NEOSP-SVR Regressor") |
|
ax1.set_xlabel("Index Execução") |
|
ax1.set_ylabel("MAE") |
|
ax1.legend() |
|
|
|
if "Median Regressor" or "NEOSP-SVR Regressor" in pip_choices: |
|
df = pd.DataFrame(list_results, columns = ["Model","MAE"]) |
|
if "Median Regressor" in pip_choices: |
|
ax2.bar(df["Model"].iloc[[0]], df["MAE"].iloc[[0]]) |
|
if "NEOSP-SVR Regressor" in pip_choices: |
|
ax2.bar(df["Model"].iloc[[1]], df["MAE"].iloc[[1]]) |
|
if "NEOSP-SVR Regressor" and "NEOSP-SVR Regressor" in pip_choices: |
|
ax2.bar(df["Model"], df["MAE"]) |
|
if "Median Regressor" or "NEOSP-SVR Regressor" in pip_choices: |
|
ax2.set_ylabel("MAE Médio") |
|
ax2.set_xlabel("Modelos") |
|
|
|
fig.set_figwidth(15) |
|
fig.set_figheight(4) |
|
fig.suptitle("Projeto {}".format(nome_projeto)) |
|
return gr.update(value=plt, visible=True) |
|
|
|
def create_pip_plot(libraries, pip_choices): |
|
if "ALOY" in libraries: |
|
list_output_ALOY_mean = [3.152778, 3.375000, 1.423820, 1.052039, 1.297747, 1.224785, 2.250000, 2.375000, 1.540773, 1.847639, 1.491953, 1.052039, 0.983369, 1.669528, 1.665236, 1.412554, 1.375000, 1.078326, 1.556330, 1.625000, 1.860515, 1.491953, 1.160944, 1.675966, 1.987661, 2.369099, 1.431867, 1.944742, 2.329399, 1.925429] |
|
list_output_ALOY_NEOSP = [3.191631, 3.417342, 1.202562, 0.867979, 1.225224, 1.028501, 2.165318, 2.291910, 1.141041, 1.785504, 1.086850, 0.875381, 0.714992, 1.604599, 1.833541, 0.860600, 1.393656, 1.152935, 1.364006, 1.647414, 1.527748, 1.236909, 1.403306, 1.655692, 1.770828, 1.937058, 0.861534, 1.341726, 1.904503, 1.449757] |
|
return grafico(list_output_ALOY_mean, list_output_ALOY_NEOSP, "ALOY", pip_choices) |
|
elif "APSTUD" in libraries: |
|
list_output_ALOY_mean = [3.152778, 3.375000, 1.423820, 1.052039, 1.297747, 1.224785, 2.250000, 2.375000, 1.540773, 1.847639, 1.491953, 1.052039, 0.983369, 1.669528, 1.665236, 1.412554, 1.375000, 1.078326, 1.556330, 1.625000, 1.860515, 1.491953, 1.160944, 1.675966, 1.987661, 2.369099, 1.431867, 1.944742, 2.329399, 1.925429] |
|
list_output_ALOY_NEOSP = [3.191631, 3.417342, 1.202562, 0.867979, 1.225224, 1.028501, 2.165318, 2.291910, 1.141041, 1.785504, 1.086850, 0.875381, 0.714992, 1.604599, 1.833541, 0.860600, 1.393656, 1.152935, 1.364006, 1.647414, 1.527748, 1.236909, 1.403306, 1.655692, 1.770828, 1.937058, 0.861534, 1.341726, 1.904503, 1.449757] |
|
return grafico(list_output_ALOY_mean, list_output_ALOY_NEOSP, "APSTUD", pip_choices) |
|
elif "CLI" in libraries: |
|
list_output_ALOY_mean = [3.152778, 3.375000, 1.423820, 1.052039, 1.297747, 1.224785, 2.250000, 2.375000, 1.540773, 1.847639, 1.491953, 1.052039, 0.983369, 1.669528, 1.665236, 1.412554, 1.375000, 1.078326, 1.556330, 1.625000, 1.860515, 1.491953, 1.160944, 1.675966, 1.987661, 2.369099, 1.431867, 1.944742, 2.329399, 1.925429] |
|
list_output_ALOY_NEOSP = [3.191631, 3.417342, 1.202562, 0.867979, 1.225224, 1.028501, 2.165318, 2.291910, 1.141041, 1.785504, 1.086850, 0.875381, 0.714992, 1.604599, 1.833541, 0.860600, 1.393656, 1.152935, 1.364006, 1.647414, 1.527748, 1.236909, 1.403306, 1.655692, 1.770828, 1.937058, 0.861534, 1.341726, 1.904503, 1.449757] |
|
return grafico(list_output_ALOY_mean, list_output_ALOY_NEOSP, "CLI", pip_choices) |
|
elif "TIMOB" in libraries: |
|
list_output_ALOY_mean = [3.152778, 3.375000, 1.423820, 1.052039, 1.297747, 1.224785, 2.250000, 2.375000, 1.540773, 1.847639, 1.491953, 1.052039, 0.983369, 1.669528, 1.665236, 1.412554, 1.375000, 1.078326, 1.556330, 1.625000, 1.860515, 1.491953, 1.160944, 1.675966, 1.987661, 2.369099, 1.431867, 1.944742, 2.329399, 1.925429] |
|
list_output_ALOY_NEOSP = [3.191631, 3.417342, 1.202562, 0.867979, 1.225224, 1.028501, 2.165318, 2.291910, 1.141041, 1.785504, 1.086850, 0.875381, 0.714992, 1.604599, 1.833541, 0.860600, 1.393656, 1.152935, 1.364006, 1.647414, 1.527748, 1.236909, 1.403306, 1.655692, 1.770828, 1.937058, 0.861534, 1.341726, 1.904503, 1.449757] |
|
return grafico(list_output_ALOY_mean, list_output_ALOY_NEOSP, "TIMOB", pip_choices) |
|
elif "XD" in libraries: |
|
list_output_ALOY_mean = [3.152778, 3.375000, 1.423820, 1.052039, 1.297747, 1.224785, 2.250000, 2.375000, 1.540773, 1.847639, 1.491953, 1.052039, 0.983369, 1.669528, 1.665236, 1.412554, 1.375000, 1.078326, 1.556330, 1.625000, 1.860515, 1.491953, 1.160944, 1.675966, 1.987661, 2.369099, 1.431867, 1.944742, 2.329399, 1.925429] |
|
list_output_ALOY_NEOSP = [3.191631, 3.417342, 1.202562, 0.867979, 1.225224, 1.028501, 2.165318, 2.291910, 1.141041, 1.785504, 1.086850, 0.875381, 0.714992, 1.604599, 1.833541, 0.860600, 1.393656, 1.152935, 1.364006, 1.647414, 1.527748, 1.236909, 1.403306, 1.655692, 1.770828, 1.937058, 0.861534, 1.341726, 1.904503, 1.449757] |
|
return grafico(list_output_ALOY_mean, list_output_ALOY_NEOSP, "XD", pip_choices) |
|
else: |
|
return gr.update(visible=True) |
|
|
|
with gr.Blocks() as demo: |
|
with gr.Row(): |
|
with gr.Column(): |
|
gr.Markdown("## Conjunto de Dados") |
|
libraries = gr.Dropdown(choices=LIBRARIES, label="Projeto", value= "ALOY") |
|
with gr.Column(): |
|
gr.Markdown("## Gráficos") |
|
pip = gr.CheckboxGroup(choices=["Median Regressor", "NEOSP-SVR Regressor"], label="Modelos Preditivos") |
|
|
|
|
|
with gr.Row(): |
|
fetch = gr.Button(value="Fetch") |
|
with gr.Row(): |
|
with gr.Column(): |
|
pip_plot = gr.Plot(visible=False) |
|
|
|
|
|
|
|
fetch.click(create_pip_plot, inputs=[libraries, pip], outputs=pip_plot) |
|
|
|
|
|
|
|
if __name__ == "__main__": |
|
demo.launch() |