Update app.py
Browse files
app.py
CHANGED
|
@@ -10,6 +10,10 @@ import plotly.express as px
|
|
| 10 |
import plotly.graph_objects as go
|
| 11 |
import matplotlib.pyplot as plt
|
| 12 |
import seaborn as sns
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
|
| 14 |
# função para conversão da escala das variáveis:
|
| 15 |
def aplicar_operacao(df, scv, col_index):
|
|
@@ -66,7 +70,7 @@ def criar_grafico_dispersao(df, x_column, y_column, hover_name, trendline_color)
|
|
| 66 |
fig.update_layout(
|
| 67 |
plot_bgcolor='rgb(240, 240, 240)',
|
| 68 |
paper_bgcolor='rgb(240, 240, 240)',
|
| 69 |
-
|
| 70 |
)
|
| 71 |
# Definindo a cor dos pontos
|
| 72 |
fig.update_traces(marker=dict(color=trendline_color, size=5))
|
|
@@ -141,7 +145,7 @@ def avaliacao_imovel(planilha, v_d, scv_d,
|
|
| 141 |
aplicar_operacao(df_dados, scv_15, 17)
|
| 142 |
aplicar_operacao(df_dados, scv_16, 18)
|
| 143 |
|
| 144 |
-
#----------------------------Renomear colunas----------------------------#
|
| 145 |
|
| 146 |
#dados
|
| 147 |
if v_d == "Valor total":
|
|
@@ -202,6 +206,8 @@ def avaliacao_imovel(planilha, v_d, scv_d,
|
|
| 202 |
(i == 18 and v_16):
|
| 203 |
if i < len(df_filtrado.columns):
|
| 204 |
X[col] = df_filtrado.iloc[:, i]
|
|
|
|
|
|
|
| 205 |
|
| 206 |
#---------------------------Gráficos de dispersão--------------------------#
|
| 207 |
|
|
@@ -310,6 +316,41 @@ def avaliacao_imovel(planilha, v_d, scv_d,
|
|
| 310 |
y = df_filtrado.iloc[:, 1:2]
|
| 311 |
else:
|
| 312 |
y = df_filtrado.iloc[:, 2:3]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 313 |
|
| 314 |
# Adicionando uma constante às variáveis independentes (intercepto)
|
| 315 |
X = sm.add_constant(X)
|
|
@@ -319,7 +360,7 @@ def avaliacao_imovel(planilha, v_d, scv_d,
|
|
| 319 |
|
| 320 |
# Ajustando o modelo aos dados
|
| 321 |
resultado = modelo.fit()
|
| 322 |
-
|
| 323 |
# Calculando os resíduos do modelo
|
| 324 |
residuos = resultado.resid
|
| 325 |
# Calculando Desvio Padrão dos Resíduos
|
|
@@ -367,7 +408,6 @@ def avaliacao_imovel(planilha, v_d, scv_d,
|
|
| 367 |
- Assimetria (Skewness): {skewness}
|
| 368 |
- Curtose (Kurtosis): {kurtosis}
|
| 369 |
"""
|
| 370 |
-
|
| 371 |
# Equação do modelo
|
| 372 |
if v_d == "Valor total":
|
| 373 |
equacao_modelo = df_filtrado.columns[1] + '='
|
|
@@ -391,7 +431,7 @@ def avaliacao_imovel(planilha, v_d, scv_d,
|
|
| 391 |
# Obtenha as estatísticas do modelo em formato de DataFrame
|
| 392 |
#resultado_summary_df = pd.DataFrame(resultado_summary.tables[1])
|
| 393 |
|
| 394 |
-
|
| 395 |
|
| 396 |
# Adicionando a primeira coluna de df_filtrado ao início de df_final
|
| 397 |
ordem = df_filtrado[[df_filtrado.columns[0]]].copy()
|
|
@@ -551,6 +591,8 @@ def avaliacao_imovel(planilha, v_d, scv_d,
|
|
| 551 |
df_aval_original.loc[(df_aval_original['TOTAL_IC_%'] > 40) & (df_aval_original['TOTAL_IC_%'] <= 50), 'PRECISÃO'] = "Grau I"
|
| 552 |
df_aval_original.loc[df_aval_original['TOTAL_IC_%'] > 50, 'PRECISÃO'] = "Fora dos critérios"
|
| 553 |
|
|
|
|
|
|
|
| 554 |
# Salve o DataFrame 'result' em uma planilha
|
| 555 |
df_aval_original.to_excel("planilha_aval.xlsx", index=False)
|
| 556 |
|
|
@@ -666,12 +708,16 @@ def avaliacao_imovel(planilha, v_d, scv_d,
|
|
| 666 |
fig_v14,
|
| 667 |
fig_v15,
|
| 668 |
fig_v16,
|
|
|
|
| 669 |
plt,
|
| 670 |
df_aval_original,
|
| 671 |
'planilha_aval.xlsx',
|
|
|
|
| 672 |
#X_aval,
|
| 673 |
#X,
|
| 674 |
#y,
|
|
|
|
|
|
|
| 675 |
)
|
| 676 |
|
| 677 |
#--------------------------------------Interface---------------------------------#
|
|
@@ -692,105 +738,116 @@ with gr.Blocks(theme=gr.themes.Default(primary_hue="yellow", secondary_hue="yell
|
|
| 692 |
with gr.Row():
|
| 693 |
with gr.Column():
|
| 694 |
with gr.Row():
|
| 695 |
-
#
|
| 696 |
fl_1 = gr.File(label="Upload planilha", type="filepath", scale=2, height=100)
|
| 697 |
with gr.Row():
|
| 698 |
-
|
| 699 |
-
|
| 700 |
button_1 = gr.Button("Calcular")
|
| 701 |
with gr.Row():
|
| 702 |
-
|
| 703 |
-
|
| 704 |
-
|
| 705 |
-
|
| 706 |
with gr.Row():
|
| 707 |
-
|
| 708 |
-
|
| 709 |
-
|
| 710 |
-
|
| 711 |
with gr.Row():
|
| 712 |
-
|
| 713 |
-
|
| 714 |
-
|
| 715 |
-
|
| 716 |
with gr.Row():
|
| 717 |
-
|
| 718 |
-
|
| 719 |
-
|
| 720 |
-
|
| 721 |
with gr.Row():
|
| 722 |
-
|
| 723 |
-
|
| 724 |
-
|
| 725 |
-
|
| 726 |
with gr.Row():
|
| 727 |
-
|
| 728 |
-
|
| 729 |
-
|
| 730 |
-
|
| 731 |
with gr.Row():
|
| 732 |
-
|
| 733 |
-
|
| 734 |
-
|
| 735 |
-
|
| 736 |
with gr.Row():
|
| 737 |
-
|
| 738 |
-
|
| 739 |
-
|
| 740 |
-
|
| 741 |
button_2 = gr.Button("Calcular")
|
| 742 |
-
|
| 743 |
button_3 = gr.Button("Calcular")
|
| 744 |
-
|
| 745 |
with gr.Column():
|
| 746 |
-
|
| 747 |
-
|
| 748 |
with gr.Row():
|
| 749 |
-
|
| 750 |
-
|
| 751 |
-
|
| 752 |
-
|
| 753 |
-
|
| 754 |
-
|
| 755 |
-
|
| 756 |
-
|
| 757 |
-
|
| 758 |
button_4 = gr.Button("Calcular")
|
| 759 |
-
|
| 760 |
-
|
| 761 |
-
|
| 762 |
-
|
| 763 |
-
|
| 764 |
-
|
| 765 |
-
|
| 766 |
-
|
| 767 |
-
|
| 768 |
-
|
| 769 |
-
|
| 770 |
-
|
| 771 |
-
|
| 772 |
-
|
| 773 |
-
|
| 774 |
-
|
| 775 |
-
|
| 776 |
-
|
| 777 |
-
|
| 778 |
-
|
| 779 |
-
|
| 780 |
-
#
|
| 781 |
-
|
| 782 |
-
|
| 783 |
-
|
| 784 |
-
|
| 785 |
-
|
| 786 |
-
|
| 787 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 788 |
button_1.click(avaliacao_imovel, inputs=inputs, outputs=outputs)
|
| 789 |
button_2.click(avaliacao_imovel, inputs=inputs, outputs=outputs)
|
| 790 |
button_3.click(avaliacao_imovel, inputs=inputs, outputs=outputs)
|
| 791 |
button_4.click(avaliacao_imovel, inputs=inputs, outputs=outputs)
|
| 792 |
|
| 793 |
if __name__ == "__main__":
|
| 794 |
-
interface.launch(debug=True)
|
| 795 |
-
|
| 796 |
-
|
|
|
|
| 10 |
import plotly.graph_objects as go
|
| 11 |
import matplotlib.pyplot as plt
|
| 12 |
import seaborn as sns
|
| 13 |
+
import sklearn
|
| 14 |
+
from sklearn.preprocessing import MinMaxScaler
|
| 15 |
+
from sklearn.ensemble import ExtraTreesRegressor
|
| 16 |
+
%matplotlib inline
|
| 17 |
|
| 18 |
# função para conversão da escala das variáveis:
|
| 19 |
def aplicar_operacao(df, scv, col_index):
|
|
|
|
| 70 |
fig.update_layout(
|
| 71 |
plot_bgcolor='rgb(240, 240, 240)',
|
| 72 |
paper_bgcolor='rgb(240, 240, 240)',
|
| 73 |
+
|
| 74 |
)
|
| 75 |
# Definindo a cor dos pontos
|
| 76 |
fig.update_traces(marker=dict(color=trendline_color, size=5))
|
|
|
|
| 145 |
aplicar_operacao(df_dados, scv_15, 17)
|
| 146 |
aplicar_operacao(df_dados, scv_16, 18)
|
| 147 |
|
| 148 |
+
#----------------------------Renomear colunas----------------------------#
|
| 149 |
|
| 150 |
#dados
|
| 151 |
if v_d == "Valor total":
|
|
|
|
| 206 |
(i == 18 and v_16):
|
| 207 |
if i < len(df_filtrado.columns):
|
| 208 |
X[col] = df_filtrado.iloc[:, i]
|
| 209 |
+
|
| 210 |
+
#X.to_excel("X.xlsx", index=False) ---> Linha de verificação
|
| 211 |
|
| 212 |
#---------------------------Gráficos de dispersão--------------------------#
|
| 213 |
|
|
|
|
| 316 |
y = df_filtrado.iloc[:, 1:2]
|
| 317 |
else:
|
| 318 |
y = df_filtrado.iloc[:, 2:3]
|
| 319 |
+
|
| 320 |
+
#y.to_excel("y.xlsx", index=False) ---> Linha de verificação
|
| 321 |
+
|
| 322 |
+
#---------------------ExtraTreesRegressor--------------------#
|
| 323 |
+
|
| 324 |
+
scaler_x = MinMaxScaler()
|
| 325 |
+
scaler_y = MinMaxScaler()
|
| 326 |
+
|
| 327 |
+
input_scaler = scaler_x.fit(X)
|
| 328 |
+
output_scaler = scaler_y.fit(y)
|
| 329 |
+
|
| 330 |
+
x_norm = input_scaler.transform(X)
|
| 331 |
+
y_norm = output_scaler.transform(np.array(y).reshape(-1, 1))
|
| 332 |
+
|
| 333 |
+
x_norm = pd.DataFrame(x_norm, columns=X.columns)
|
| 334 |
+
|
| 335 |
+
new_y = np.ravel(y_norm)
|
| 336 |
+
|
| 337 |
+
model = ExtraTreesRegressor()
|
| 338 |
+
model.fit(x_norm,new_y)
|
| 339 |
+
|
| 340 |
+
# Criando o gráfico de influência das variáveis
|
| 341 |
+
feat_importances = pd.Series(model.feature_importances_, index=X.columns)
|
| 342 |
+
feat_importances.nlargest(16).plot(kind='barh', color = 'orange')
|
| 343 |
+
plt.title('Influência das Variáveis')
|
| 344 |
+
plt.xlabel('Importância')
|
| 345 |
+
plt.ylabel('Variáveis')
|
| 346 |
+
plt.gca().set_facecolor('#f0f0f5')
|
| 347 |
+
plt.tight_layout()
|
| 348 |
+
plt.grid(True)
|
| 349 |
+
|
| 350 |
+
# Salvar o gráfico como imagem
|
| 351 |
+
plt.savefig('influencia_variaveis.png')
|
| 352 |
+
|
| 353 |
+
#----------------------------Modelo----------------------------#
|
| 354 |
|
| 355 |
# Adicionando uma constante às variáveis independentes (intercepto)
|
| 356 |
X = sm.add_constant(X)
|
|
|
|
| 360 |
|
| 361 |
# Ajustando o modelo aos dados
|
| 362 |
resultado = modelo.fit()
|
| 363 |
+
|
| 364 |
# Calculando os resíduos do modelo
|
| 365 |
residuos = resultado.resid
|
| 366 |
# Calculando Desvio Padrão dos Resíduos
|
|
|
|
| 408 |
- Assimetria (Skewness): {skewness}
|
| 409 |
- Curtose (Kurtosis): {kurtosis}
|
| 410 |
"""
|
|
|
|
| 411 |
# Equação do modelo
|
| 412 |
if v_d == "Valor total":
|
| 413 |
equacao_modelo = df_filtrado.columns[1] + '='
|
|
|
|
| 431 |
# Obtenha as estatísticas do modelo em formato de DataFrame
|
| 432 |
#resultado_summary_df = pd.DataFrame(resultado_summary.tables[1])
|
| 433 |
|
| 434 |
+
#----------------------------df_final (regressão)----------------------------#
|
| 435 |
|
| 436 |
# Adicionando a primeira coluna de df_filtrado ao início de df_final
|
| 437 |
ordem = df_filtrado[[df_filtrado.columns[0]]].copy()
|
|
|
|
| 591 |
df_aval_original.loc[(df_aval_original['TOTAL_IC_%'] > 40) & (df_aval_original['TOTAL_IC_%'] <= 50), 'PRECISÃO'] = "Grau I"
|
| 592 |
df_aval_original.loc[df_aval_original['TOTAL_IC_%'] > 50, 'PRECISÃO'] = "Fora dos critérios"
|
| 593 |
|
| 594 |
+
# Retirando as colunas valor total e valor unitário
|
| 595 |
+
df_aval_original = df_aval_original.drop(df_aval_original.columns[[1, 2]], axis=1)
|
| 596 |
# Salve o DataFrame 'result' em uma planilha
|
| 597 |
df_aval_original.to_excel("planilha_aval.xlsx", index=False)
|
| 598 |
|
|
|
|
| 708 |
fig_v14,
|
| 709 |
fig_v15,
|
| 710 |
fig_v16,
|
| 711 |
+
'influencia_variaveis.png',
|
| 712 |
plt,
|
| 713 |
df_aval_original,
|
| 714 |
'planilha_aval.xlsx',
|
| 715 |
+
|
| 716 |
#X_aval,
|
| 717 |
#X,
|
| 718 |
#y,
|
| 719 |
+
#'X.xlsx',
|
| 720 |
+
#'y.xlsx',
|
| 721 |
)
|
| 722 |
|
| 723 |
#--------------------------------------Interface---------------------------------#
|
|
|
|
| 738 |
with gr.Row():
|
| 739 |
with gr.Column():
|
| 740 |
with gr.Row():
|
| 741 |
+
#inp_1 = gr.File(label="Upload planilha", type="file", scale=2, height=100)
|
| 742 |
fl_1 = gr.File(label="Upload planilha", type="filepath", scale=2, height=100)
|
| 743 |
with gr.Row():
|
| 744 |
+
inp_2 = gr.Dropdown(['Valor total', 'Valor unitário',], label="VARIÁVEL DEPENDENTE", value='Valor unitário')
|
| 745 |
+
inp_3 = gr.Dropdown(['y', 'lny', '1/y', 'y²'], label="Escala VARIÁVEL DEPENDENTE", value='y')
|
| 746 |
button_1 = gr.Button("Calcular")
|
| 747 |
with gr.Row():
|
| 748 |
+
inp_4 = gr.Checkbox(value=True, label="Var 1", scale=1)
|
| 749 |
+
inp_5 = gr.Dropdown(['x', 'lnx', '1/x', 'x²'], show_label=False, value='x', scale=1)
|
| 750 |
+
inp_6 = gr.Checkbox(value=True, label="Var 2", scale=1)
|
| 751 |
+
inp_7 = gr.Dropdown(['x', 'lnx', '1/x', 'x²'], show_label=False, value='x', scale=1)
|
| 752 |
with gr.Row():
|
| 753 |
+
inp_8 = gr.Checkbox(value=False, label="Var 3", scale=1)
|
| 754 |
+
inp_9 = gr.Dropdown(['x', 'lnx', '1/x', 'x²'], show_label=False, value='x', scale=1)
|
| 755 |
+
inp_10 = gr.Checkbox(value=False, label="Var 4", scale=1)
|
| 756 |
+
inp_11 = gr.Dropdown(['x', 'lnx', '1/x', 'x²'], show_label=False, value='x', scale=1)
|
| 757 |
with gr.Row():
|
| 758 |
+
inp_12 = gr.Checkbox(value=False, label="Var 5", scale=1)
|
| 759 |
+
inp_13 = gr.Dropdown(['x', 'lnx', '1/x', 'x²'], show_label=False, value='x', scale=1)
|
| 760 |
+
inp_14 = gr.Checkbox(value=False, label="Var 6", scale=1)
|
| 761 |
+
inp_15 = gr.Dropdown(['x', 'lnx', '1/x', 'x²'], show_label=False, value='x', scale=1)
|
| 762 |
with gr.Row():
|
| 763 |
+
inp_16 = gr.Checkbox(value=False, label="Var 7", scale=1)
|
| 764 |
+
inp_17 = gr.Dropdown(['x', 'lnx', '1/x', 'x²'], show_label=False, value='x', scale=1)
|
| 765 |
+
inp_18 = gr.Checkbox(value=False, label="Var 8", scale=1)
|
| 766 |
+
inp_19 = gr.Dropdown(['x', 'lnx', '1/x', 'x²'], show_label=False, value='x', scale=1)
|
| 767 |
with gr.Row():
|
| 768 |
+
inp_20 = gr.Checkbox(value=False, label="Var 9", scale=1)
|
| 769 |
+
inp_21 = gr.Dropdown(['x', 'lnx', '1/x', 'x²'], show_label=False, value='x', scale=1)
|
| 770 |
+
inp_22 = gr.Checkbox(value=False, label="Var 10", scale=1)
|
| 771 |
+
inp_23 = gr.Dropdown(['x', 'lnx', '1/x', 'x²'], show_label=False, value='x', scale=1)
|
| 772 |
with gr.Row():
|
| 773 |
+
inp_24 = gr.Checkbox(value=False, label="Var 11", scale=1)
|
| 774 |
+
inp_25 = gr.Dropdown(['x', 'lnx', '1/x', 'x²'], show_label=False, value='x', scale=1)
|
| 775 |
+
inp_26 = gr.Checkbox(value=False, label="Var 12", scale=1)
|
| 776 |
+
inp_27 = gr.Dropdown(['x', 'lnx', '1/x', 'x²'], show_label=False, value='x', scale=1)
|
| 777 |
with gr.Row():
|
| 778 |
+
inp_28 = gr.Checkbox(value=False, label="Var 13", scale=1)
|
| 779 |
+
inp_29 = gr.Dropdown(['x', 'lnx', '1/x', 'x²'], show_label=False, value='x', scale=1)
|
| 780 |
+
inp_30 = gr.Checkbox(value=False, label="Var 14", scale=1)
|
| 781 |
+
inp_31 = gr.Dropdown(['x', 'lnx', '1/x', 'x²'], show_label=False, value='x', scale=1)
|
| 782 |
with gr.Row():
|
| 783 |
+
inp_32 = gr.Checkbox(value=False, label="Var 15", scale=1)
|
| 784 |
+
inp_33 = gr.Dropdown(['x', 'lnx', '1/x', 'x²'], show_label=False, value='x', scale=1)
|
| 785 |
+
inp_34 = gr.Checkbox(value=False, label="Var 16", scale=1)
|
| 786 |
+
inp_35 = gr.Dropdown(['x', 'lnx', '1/x', 'x²'], show_label=False, value='x', scale=1)
|
| 787 |
button_2 = gr.Button("Calcular")
|
| 788 |
+
inp_36 = gr.CheckboxGroup(numeros, value=numeros[1:501], label="Selecionar dados", type="index")
|
| 789 |
button_3 = gr.Button("Calcular")
|
| 790 |
+
|
| 791 |
with gr.Column():
|
| 792 |
+
out_1 = gr.Dataframe(label="Planilha de dados original", height=300)
|
| 793 |
+
out_2 = gr.Textbox(label="Colunas", scale=1)
|
| 794 |
with gr.Row():
|
| 795 |
+
out_3 = gr.Textbox(label="Resultados Gerais do Modelo", scale=1)
|
| 796 |
+
out_4 = gr.Textbox(label="Equação do Modelo")
|
| 797 |
+
out_5 = gr.HTML(label="Resultados por variável")
|
| 798 |
+
out_6 = gr.Dataframe(label="Planilha Regressão Linear (Variáveis e escalas escolhidas e sem outliers)", height=300)
|
| 799 |
+
out_7 = gr.Textbox(label="Listagem de dados com resíduos padronizados > 2")
|
| 800 |
+
out_8 = gr.Textbox(label="Listagem de pontos Influenciantes (Distância de Cook > 1)")
|
| 801 |
+
out_9 = gr.Dataframe(label="Resíduos Padronizados > 2", height=300)
|
| 802 |
+
out_10 = gr.Dataframe(label="Outliers (retirados)", height=300)
|
| 803 |
+
out_11 = gr.Dataframe(label="Valores Ajustados x Preços Observados", height=300)
|
| 804 |
button_4 = gr.Button("Calcular")
|
| 805 |
+
out_12 = gr.Plot(label="Gráfico Dispersão var 1")
|
| 806 |
+
out_13 = gr.Plot(label="Gráfico Dispersão var 2")
|
| 807 |
+
out_14 = gr.Plot(label="Gráfico Dispersão var 3")
|
| 808 |
+
out_15 = gr.Plot(label="Gráfico Dispersão var 4")
|
| 809 |
+
out_16 = gr.Plot(label="Gráfico Dispersão var 5")
|
| 810 |
+
out_17 = gr.Plot(label="Gráfico Dispersão var 6")
|
| 811 |
+
out_18 = gr.Plot(label="Gráfico Dispersão var 7")
|
| 812 |
+
out_19 = gr.Plot(label="Gráfico Dispersão var 8")
|
| 813 |
+
out_20 = gr.Plot(label="Gráfico Dispersão var 9")
|
| 814 |
+
out_21 = gr.Plot(label="Gráfico Dispersão var 10")
|
| 815 |
+
out_22 = gr.Plot(label="Gráfico Dispersão var 11")
|
| 816 |
+
out_23 = gr.Plot(label="Gráfico Dispersão var 12")
|
| 817 |
+
out_24 = gr.Plot(label="Gráfico Dispersão var 13")
|
| 818 |
+
out_25 = gr.Plot(label="Gráfico Dispersão var 14")
|
| 819 |
+
out_26 = gr.Plot(label="Gráfico Dispersão var 15")
|
| 820 |
+
out_27 = gr.Plot(label="Gráfico Dispersão var 16")
|
| 821 |
+
out_28 = gr.Image(label='Gráfico de Influência das Variáveis')
|
| 822 |
+
out_29 = gr.Plot(label="Análise Gráfica do Modelo de Regressão")
|
| 823 |
+
out_30 = gr.Dataframe(label="Avaliação", height=300)
|
| 824 |
+
out_31 = gr.components.File(label="Resultado da Avaliação")
|
| 825 |
+
|
| 826 |
+
# outputs de verificação
|
| 827 |
+
#out_off_1 = gr.Dataframe(label="X_aval", height=300)
|
| 828 |
+
#out_off_2 = gr.Dataframe(label="X", height=300)
|
| 829 |
+
#out_off_3 = gr.Dataframe(label="y", height=300)
|
| 830 |
+
#out_off_4 = gr.components.File(label="X")
|
| 831 |
+
#out_off_5 = gr.components.File(label="y")
|
| 832 |
+
|
| 833 |
+
inputs = [
|
| 834 |
+
inp_1, inp_2, inp_3, inp_4, inp_5, inp_6, inp_7, inp_8, inp_9, inp_10,
|
| 835 |
+
inp_11, inp_12, inp_13, inp_14, inp_15, inp_16, inp_17, inp_18, inp_19, inp_20,
|
| 836 |
+
inp_21, inp_22, inp_23, inp_24, inp_25, inp_26, inp_27, inp_28, inp_29, inp_30,
|
| 837 |
+
inp_31, inp_32, inp_33, inp_34, inp_35, inp_36
|
| 838 |
+
]
|
| 839 |
+
|
| 840 |
+
outputs = [
|
| 841 |
+
out_1, out_2, out_3, out_4, out_5, out_6, out_7, out_8, out_9, out_10,
|
| 842 |
+
out_11, out_12, out_13, out_14, out_15, out_16, out_17, out_18, out_19, out_20,
|
| 843 |
+
out_21, out_22, out_23, out_24, out_25, out_26, out_27, out_28, out_29, out_30,
|
| 844 |
+
out_31
|
| 845 |
+
] #[out_off_1, out_off_2, out_off_3, out_off_4, out_off_5]
|
| 846 |
+
|
| 847 |
button_1.click(avaliacao_imovel, inputs=inputs, outputs=outputs)
|
| 848 |
button_2.click(avaliacao_imovel, inputs=inputs, outputs=outputs)
|
| 849 |
button_3.click(avaliacao_imovel, inputs=inputs, outputs=outputs)
|
| 850 |
button_4.click(avaliacao_imovel, inputs=inputs, outputs=outputs)
|
| 851 |
|
| 852 |
if __name__ == "__main__":
|
| 853 |
+
interface.launch(debug=True)
|
|
|
|
|
|