1

我正在尝试保存一个 pycaret 图,但只得到一个空白文件:

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

6 回答 6

3

在 PyCaret 2.0 中,您可以save在内部传递参数plot_model

例如:

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

这会将 AUC.png 保存在您当前的工作目录中。

于 2020-08-26T17:25:04.517 回答
2

将 PyCaret 更新到 2.0

将 pycaret 更新为 2.0 ( pip install pycaret==2.0)。save函数中添加了一个新参数plot_model()。当 save 设置为 True 时,根据绘图类型的 png / html 文件将保存在当前工作目录中。每个地块的名称是预先定义的。

于 2020-08-04T00:14:15.193 回答
0

当您尝试将图形保存为 svg 文件时,可能会出现此问题。是 StackOverflow 上的一个答案,可能会对您有所帮助

于 2020-05-18T20:09:25.960 回答
0

@maria_g 分享了一个正确的参考。正如答案中,这个人只使用 pyplot 来绘制和保存图表。

于 2020-05-18T21:16:46.497 回答
0

附件是一个示例,说明如何使用 Yellowbrick 从 pycaret 模型导出矢量图(pdf、svg、eps)。它已经用 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()
于 2021-09-23T23:56:26.653 回答
-2

您正在交替使用 pyplot 和 pycaret。我建议您仔细阅读文档。“ROC_xboost.svg”的原因是空白的,因为您没有使用 pyplot 绘制任何内容。您显然使用了 pycaret 的“plotmodel”来绘制它。Pycaret 提供“save_model()”来保存创建的模型,尽管它不会保存绘图。请参考https://pycaret.org/plot-model/https://pycaret.org/save-model/。使用 pyplot 绘制模型。

于 2020-05-18T19:35:35.680 回答