fschwartzer commited on
Commit
a5a799a
1 Parent(s): 514ff62

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -10
app.py CHANGED
@@ -2,6 +2,7 @@ import gradio as gr
2
  import pandas as pd
3
  import statsmodels.api as sm
4
  import numpy as np
 
5
 
6
  df = pd.read_excel('MOD_VC.xlsx', 'DF')
7
 
@@ -13,7 +14,10 @@ X_with_constant = sm.add_constant(X)
13
  model = sm.OLS(y, X_with_constant)
14
  results = model.fit()
15
 
16
- def predict(input_df):
 
 
 
17
  # Processamento da planilha de input
18
  input_df[['AREA', 'TEST']] = np.log(input_df[['AREA', 'TEST']])
19
  input_df['RB'] = 1/input_df['RB']
@@ -28,12 +32,24 @@ def predict(input_df):
28
  inter_conf = np.exp(ci)
29
 
30
  # Adicionar previsões e intervalos de confiança à planilha
31
- input_df['Predicted'] = np.exp(y_pred)
32
- input_df['CI Lower'] = inter_conf[:, 0]
33
- input_df['CI Upper'] = inter_conf[:, 1]
34
-
35
- return input_df
36
-
37
- # Interface Gradio
38
- iface = gr.Interface(fn=predict, inputs="dataframe", outputs="dataframe")
39
- iface.launch()
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  import pandas as pd
3
  import statsmodels.api as sm
4
  import numpy as np
5
+ import io
6
 
7
  df = pd.read_excel('MOD_VC.xlsx', 'DF')
8
 
 
14
  model = sm.OLS(y, X_with_constant)
15
  results = model.fit()
16
 
17
+ def predict(file):
18
+ # Lendo o arquivo de input
19
+ input_df = pd.read_excel(file)
20
+
21
  # Processamento da planilha de input
22
  input_df[['AREA', 'TEST']] = np.log(input_df[['AREA', 'TEST']])
23
  input_df['RB'] = 1/input_df['RB']
 
32
  inter_conf = np.exp(ci)
33
 
34
  # Adicionar previsões e intervalos de confiança à planilha
35
+ input_df['Prev'] = np.exp(y_pred)
36
+ input_df['LI_IC'] = inter_conf[:, 0]
37
+ input_df['LS_IC'] = inter_conf[:, 1]
38
+
39
+ # Convertendo o DataFrame de volta para um arquivo Excel
40
+ output = io.BytesIO()
41
+ with pd.ExcelWriter(output, engine='xlsxwriter') as writer:
42
+ input_df.to_excel(writer, index=False)
43
+ output.seek(0)
44
+
45
+ return output
46
+
47
+ iface = gr.Interface(
48
+ fn=predict,
49
+ inputs=gr.inputs.File(type="file", label="Carregue seu arquivo XLS/XLSX"),
50
+ outputs=gr.outputs.File(file_name="avaliacao_massa.xlsx"),
51
+ title="Vera Cruz - Avaliação em massa",
52
+ description="Faça o upload de um arquivo XLS/XLSX para previsão em massa. Download de planilha de exemplo [aqui]('teste.xlsx')."
53
+ )
54
+
55
+ iface.launch()