如何保存 pycaret 图?
How to save a pycaret plot?
我正在尝试保存 pycaret 图,但只得到一个空白文件:
plt.figure(figsize = (18,9))
plot_model(pycaret_xgboost, 'auc')
plt.savefig('ROC_xboost.svg')
您正在交替使用 pyplot 和 pycaret。
我建议你仔细阅读文档。
“ROC_xboost.svg”为空的原因是您没有使用 pyplot 绘制任何内容。
您显然使用了 pycaret 的 "plotmodel" 来绘制它。
Pycaret 提供 "save_model()" 来保存创建的模型,但它不会保存绘图。
请参考 https://pycaret.org/plot-model/, https://pycaret.org/save-model/ 。
使用 pyplot 绘制模型。
当您尝试将图形保存为 svg 文件时,可能会出现此问题。 Here 是 Whosebug 上的一个答案,可能对您有帮助
@maria_g 在答案中分享了一个正确的 reference.As 这个人只使用 pyplot 来绘制和保存图形。
将 PyCaret 更新到 2.0
将 pycaret 更新到 2.0 (pip install pycaret==2.0
)。 plot_model()
函数中添加了一个新参数 save
。当 save 设置为 True 时,根据绘图类型的 png / html 文件将保存在当前工作目录中。每个地块的名称是 pre-defined.
在 PyCaret 2.0 中,您可以在 plot_model
.
中传递 save
参数
例如:
plot_model(model, plot = 'AUC', save=True)
这会将 AUC.png 保存在您当前的工作目录中。
附件是如何使用 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()
我正在尝试保存 pycaret 图,但只得到一个空白文件:
plt.figure(figsize = (18,9))
plot_model(pycaret_xgboost, 'auc')
plt.savefig('ROC_xboost.svg')
您正在交替使用 pyplot 和 pycaret。 我建议你仔细阅读文档。 “ROC_xboost.svg”为空的原因是您没有使用 pyplot 绘制任何内容。 您显然使用了 pycaret 的 "plotmodel" 来绘制它。 Pycaret 提供 "save_model()" 来保存创建的模型,但它不会保存绘图。 请参考 https://pycaret.org/plot-model/, https://pycaret.org/save-model/ 。 使用 pyplot 绘制模型。
当您尝试将图形保存为 svg 文件时,可能会出现此问题。 Here 是 Whosebug 上的一个答案,可能对您有帮助
@maria_g 在答案中分享了一个正确的 reference.As 这个人只使用 pyplot 来绘制和保存图形。
将 PyCaret 更新到 2.0
将 pycaret 更新到 2.0 (pip install pycaret==2.0
)。 plot_model()
函数中添加了一个新参数 save
。当 save 设置为 True 时,根据绘图类型的 png / html 文件将保存在当前工作目录中。每个地块的名称是 pre-defined.
在 PyCaret 2.0 中,您可以在 plot_model
.
save
参数
例如:
plot_model(model, plot = 'AUC', save=True)
这会将 AUC.png 保存在您当前的工作目录中。
附件是如何使用 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()