python-3.x 如何从Pycaret AutoML下载管道代码到.py文件?

4dbbbstv  于 2023-01-03  发布在  Python
关注(0)|答案(3)|浏览(95)

PyCaret看起来是一个很棒的AutoML工具。它工作起来快速而简单,而且我想将生成的管道代码下载到.py文件中以便仔细检查,如果需要,还可以自定义一些部分。不幸的是,我不知道如何真实的它。阅读documentation文件也没有帮助。这是否可能?

fae0ux8s

fae0ux8s1#

由于PyCaret会替你处理底层代码,所以你不可能得到底层代码,但是你作为用户可以决定你希望你的流程执行的步骤,例如:

# Setup experiment with user-defined options for preprocessing, etc.
setup(...) 

# Create a model (uses training split only)
model = create_model("lr")

# Tune hyperparameters (user can pass a custom tuning grid if needed)
# Again, uses training split only
tuned = tune_model(model, ...)

# Finalize model (so that the best hyperparameters are retrained on the entire dataset
finalize_model(tuned)

# Any other steps you would like to do.
...

最后,您可以将整个管道保存为pkl文件以供以后使用

# Saves the model + pipeline as a pkl file
save_model(final, "my_best_model")
a9wyjsp7

a9wyjsp72#

你可能会得到部分答案:incomplete with '获取配置(“准备管道”)' in 2.6.10 or in 3.0.0rc1
只需像示例中那样运行一个设置,存储为cdf1,然后尝试cdf.pipeline,您可能会得到如下文本:Pipeline(..)

euoag5mw

euoag5mw3#

使用pycaret=3.0.0rc4时,您有两个选项。
备选办法1:

get_config("pipeline")

备选方案二:

lb = get_leaderboard()
lb.iloc[0]['Model']

选项1将为您提供对数据所做的转换,而选项2将为您提供相同的转换以及模型及其参数。
下面是一些示例代码(来自笔记本,基于他们在 * 二进制分类教程(CLF101)-Level Beginner * 上的文档):

from pycaret.datasets import get_data
from pycaret.classification import *

dataset = get_data('credit')

data = dataset.sample(frac=0.95, random_state=786).reset_index(drop=True)
data_unseen = dataset.drop(data.index).reset_index(drop=True)

exp_clf101 = setup(data = data, target = 'default', session_id=123) 

best = compare_models()

evaluate_model(best)

# OPTION 1
get_config("pipeline")

# OPTION 2
lb = get_leaderboard()
lb.iloc[0]['Model']

相关问题