1
resposta

Meus artefatos não ficam logados

Estou passando o mlflow.xgboost.log_model(xgb, 'xgboost') conforme explicado, no entanto não tenho logs dos artefatos como o professor demostra na aula:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Código completo:


from xgboost import XGBRegressor
from sklearn.metrics import mean_squared_error
from sklearn.metrics import r2_score
import math
with mlflow.start_run():
    xgb = XGBRegressor(random_state=42)
    xgb.fit(x_train, y_train)
    mlflow.xgboost.log_model(xgb, 'xgboost')
    xgb_predicted = xgb.predict(x_test)
    mse = mean_squared_error(y_test, xgb_predicted)
    rmse = math.sqrt(mse)
    r2 = r2_score(y_test, xgb_predicted)
    mlflow.log_metric('mse', mse)
    mlflow.log_metric('rmse', rmse)
    mlflow.log_metric('r2', r2)
1 resposta

Oii Gustavo, como você está?

Peço desculpas pela demora em obter um retorno.

Ao executar o trecho de código disponibilizado por você, tudo ocorreu como esperado.

Quando este erro ocorre, um símbolo de "x" vermelho é marcado no MLFlow na coluna "Start Time", para contornar isso, feche as instâncias do MLFlow e do Jupyter Notebook e os abram novamente. Após isso execute o código.

Deixo abaixo o código completo deste momento do curso, que ao ser executado, será criado um novo experimento com o nome house-prices-eda-teste:

import mlflow
import math
import pandas as pd

from sklearn.model_selection import train_test_split
from xgboost import XGBRegressor
from sklearn.metrics import mean_squared_error
from sklearn.metrics import r2_score

df = pd.read_csv("../data/processed/casas.csv")
X = df.drop('preco', axis=1) # variáveis explicativas
y = df['preco'].copy() # variável resposta
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

mlflow.set_experiment('house-prices-eda-teste')


with mlflow.start_run():
    xgb = XGBRegressor(random_state=42)
    xgb.fit(X_train, y_train)
    mlflow.xgboost.log_model(xgb, 'xgboost')
    xgb_predicted = xgb.predict(X_test)
    mse = mean_squared_error(y_test, xgb_predicted)
    rmse = math.sqrt(mse)
    r2 = r2_score(y_test, xgb_predicted)
    mlflow.log_metric('mse', mse)
    mlflow.log_metric('rmse', rmse)
    mlflow.log_metric('r2', r2)

Caso o erro persista, peço que compartilhe seu notebook completo através do github ou drive para que eu possa te ajudar de forma mais assertiva.

Qualquer dúvida fico à disposição.

Grande abraço!