Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -2,9 +2,10 @@ import gradio as gr
|
|
| 2 |
from sklearn.datasets import load_iris
|
| 3 |
from sklearn.model_selection import train_test_split
|
| 4 |
from sklearn.linear_model import LogisticRegression
|
| 5 |
-
from joblib import dump
|
| 6 |
import os
|
| 7 |
|
|
|
|
| 8 |
def train_model():
|
| 9 |
# Carregar e dividir o dataset
|
| 10 |
data = load_iris()
|
|
@@ -13,7 +14,7 @@ def train_model():
|
|
| 13 |
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
|
| 14 |
|
| 15 |
# Treinando o modelo
|
| 16 |
-
model = LogisticRegression()
|
| 17 |
model.fit(X_train, y_train)
|
| 18 |
|
| 19 |
# Criar diretório para salvar o modelo
|
|
@@ -26,28 +27,31 @@ def train_model():
|
|
| 26 |
|
| 27 |
return f"Modelo treinado e salvo em: {model_filename}"
|
| 28 |
|
| 29 |
-
#
|
| 30 |
-
|
|
|
|
|
|
|
| 31 |
|
| 32 |
-
#
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
prediction = model.predict([input_text]) # ou adapte conforme o seu modelo
|
| 36 |
-
return prediction[0]
|
| 37 |
|
| 38 |
-
#
|
| 39 |
-
|
| 40 |
-
fn=
|
| 41 |
-
inputs=
|
| 42 |
-
outputs=
|
| 43 |
)
|
| 44 |
|
| 45 |
-
#
|
| 46 |
-
|
| 47 |
-
|
|
|
|
|
|
|
|
|
|
| 48 |
|
| 49 |
-
#
|
| 50 |
-
|
| 51 |
|
| 52 |
-
#
|
| 53 |
-
|
|
|
|
| 2 |
from sklearn.datasets import load_iris
|
| 3 |
from sklearn.model_selection import train_test_split
|
| 4 |
from sklearn.linear_model import LogisticRegression
|
| 5 |
+
from joblib import dump, load
|
| 6 |
import os
|
| 7 |
|
| 8 |
+
# Função para treinar e salvar o modelo
|
| 9 |
def train_model():
|
| 10 |
# Carregar e dividir o dataset
|
| 11 |
data = load_iris()
|
|
|
|
| 14 |
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
|
| 15 |
|
| 16 |
# Treinando o modelo
|
| 17 |
+
model = LogisticRegression(max_iter=200)
|
| 18 |
model.fit(X_train, y_train)
|
| 19 |
|
| 20 |
# Criar diretório para salvar o modelo
|
|
|
|
| 27 |
|
| 28 |
return f"Modelo treinado e salvo em: {model_filename}"
|
| 29 |
|
| 30 |
+
# Função para carregar o modelo treinado e fazer previsões
|
| 31 |
+
def predict(input_data):
|
| 32 |
+
# Carregar o modelo treinado
|
| 33 |
+
model = load("/mnt/data/model.pkl") # Caminho do modelo salvo
|
| 34 |
|
| 35 |
+
# Realizar a previsão (garantir que a entrada seja formatada corretamente)
|
| 36 |
+
prediction = model.predict([input_data]) # input_data deve ser um vetor com as características
|
| 37 |
+
return f"Previsão: {prediction[0]}"
|
|
|
|
|
|
|
| 38 |
|
| 39 |
+
# Interface para treinamento do modelo
|
| 40 |
+
train_iface = gr.Interface(
|
| 41 |
+
fn=train_model,
|
| 42 |
+
inputs=[], # Nenhuma entrada necessária para treinar
|
| 43 |
+
outputs=["text"] # Exibe uma mensagem de sucesso
|
| 44 |
)
|
| 45 |
|
| 46 |
+
# Interface para previsões
|
| 47 |
+
predict_iface = gr.Interface(
|
| 48 |
+
fn=predict, # Função para chamar ao gerar previsão
|
| 49 |
+
inputs=gr.Textbox(label="Input (4 features, espaço separado)"), # Caixa de entrada de texto
|
| 50 |
+
outputs=gr.Textbox(label="Output") # Caixa de saída com a previsão
|
| 51 |
+
)
|
| 52 |
|
| 53 |
+
# Iniciar a interface de treinamento
|
| 54 |
+
train_iface.launch()
|
| 55 |
|
| 56 |
+
# Iniciar a interface de previsões
|
| 57 |
+
predict_iface.launch()
|