Как сохранить участок пикарета?
Я пытаюсь сохранить график 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.