Как сохранить участок пикарета?

Я пытаюсь сохранить график pycaret, но получаю только пустой файл:

plt.figure(figsize = (18,9))
plot_model(pycaret_xgboost, 'auc')
plt.savefig('ROC_xboost.svg')

6 ответов

Решение

Эта проблема может возникнуть, когда вы пытаетесь сохранить рисунок как файл svg. Вот ответ на Stackru, который может вам помочь

В PyCaret 2.0 вы можете передать save параметр внутри plot_model.

Например:

plot_model(model, plot = 'AUC', save=True)

Это сохранит AUC.png в вашем текущем рабочем каталоге.

Update PyCaret to 2.0

Update pycaret to 2.0 (pip install pycaret==2.0). A new parameter save has been added in plot_model() function. When save is set to True, a png / html file depending on the type of plot is saved in current working directory. Names of each plot is pre-defined.

Прилагается пример того, как векторные графики (pdf, svg, eps) могут быть получены из моделей pycaret с использованием желтого кирпича. Он был протестирован с googlecolab и pycaret 2.3.4.

      #---- data
from pycaret.datasets import get_data
dataset = get_data('diamond')

#---- model pycaret
from pycaret.regression import *
exp_reg101 = setup(data = dataset, target = 'Price', session_id=123, 
                   remove_multicollinearity = True, multicollinearity_threshold = 0.95) 

lightgbm = create_model('lightgbm')

#---- plot
from yellowbrick.regressor import ResidualsPlot

X_train, X_test, y_train, y_test = get_config('X_train'), get_config('X_test'), get_config('y_train'), get_config('y_test')

visualizer = ResidualsPlot(lightgbm) # regression model
visualizer.fit(X_train, y_train) # Fit the training data to the visualizer
visualizer.score(X_test, y_test) # Evaluate the model on the test data
visualizer.poof(outpath="ResidualsPlot.pdf") # VECTOR .pdf .eps .svg, RASTER .png .jpg .tif
#visualizer.poof()  # Finalize and render the figure

#---- file extensions supported
import matplotlib.pyplot as plt
plt.figure().canvas.get_supported_filetypes()

@maria_g поделился правильной ссылкой. Как и в ответе, человек использует только pyplot для построения и сохранения графика.

Вы используете pyplot и pycaret как взаимозаменяемые. Предлагаю вам внимательно прочитать документацию. Причина " ROC_xboost.svg" пуста, потому что вы ничего не построили с помощью pyplot. Вы явно использовали "сюжетную модель" Пикарета, чтобы просто нарисовать ее. Pycaret предоставляет "save_model()" для сохранения созданной модели, хотя он не сохраняет график. См. https://pycaret.org/plot-model/, https://pycaret.org/save-model/. Постройте свою модель с помощью pyplot.

Другие вопросы по тегам