跳到主要内容

其他函数

pull

返回最后一次打印的评分表格。在任何训练函数之后使用pull函数将评分表格存储在pandas.DataFrame中。

示例

# 加载数据集
from pycaret.datasets import get_data
data = get_data('diabetes')

# 初始化设置
from pycaret.classification import *
clf1 = setup(data, target='Class variable')

# 比较模型
best_model = compare_models()

# 获取评分表格
results = pull()

pull()的输出

type(results)
>>> pandas.core.frame.DataFrame

models

返回包含导入的模型库模块中所有可用模型的表格。

示例

# 加载数据集
from pycaret.datasets import get_data
data = get_data('diabetes')

# 初始化设置
from pycaret.classification import *
clf1 = setup(data, target='Class variable')

# 检查模型库
models()

models()的输出

如果你想查看比这更多的信息,可以传递internal=True

# 加载数据集
from pycaret.datasets import get_data
data = get_data('diabetes')

# 初始化设置
from pycaret.classification import *
clf1 = setup(data, target='Class variable')

# 检查模型库
models(internal=True)

models(internal=True)的输出

get_config

此函数检索在初始化setup函数时创建的全局变量。

示例

# 加载数据集
from pycaret.datasets import get_data
data = get_data('diabetes')

# 初始化设置
from pycaret.classification import *
clf1 = setup(data, target='Class variable')

# 获取X_train
get_config('X_train')

get_config('X_train')的输出

get_config函数可以访问的变量:

  • X:转换后的数据集(X)
  • y:转换后的数据集(y)
  • X_train:转换后的训练数据集(X)
  • X_test:转换后的测试/留置数据集(X)
  • y_train:转换后的训练数据集(y)
  • y_test:转换后的测试/留置数据集(y)
  • seed:通过session_id设置的随机状态
  • prep_pipe:转换流水线
  • fold_shuffle_param:在Kfolds中使用的shuffle参数
  • n_jobs_param:在模型训练中使用的n_jobs参数
  • html_param:通过setup配置的html_param
  • create_model_container:结果网格存储容器
  • master_model_container:模型存储容器
  • display_container:结果显示容器
  • exp_name_log:实验名称
  • logging_param:log_experiment参数
  • log_plots_param:log_plots参数
  • USI:唯一会话ID参数
  • fix_imbalance_param:fix_imbalance参数
  • fix_imbalance_method_param:fix_imbalance_method参数
  • data_before_preprocess:预处理之前的数据
  • target_param:目标变量的名称
  • gpu_param:通过setup配置的use_gpu参数
  • fold_generator:在fold_strategy中配置的CV分割器
  • fold_param:在setup中定义的fold参数
  • fold_groups_param:在setup中定义的fold groups
  • stratify_param:在setup中定义的stratify参数

set_config

此函数重置全局变量。

示例

# 加载数据集
from pycaret.datasets import get_data
data = get_data('diabetes')

# 初始化设置
from pycaret.classification import *
clf1 = setup(data, target='Class variable', session_id=123)

# 重置环境种子
set_config('seed', 999)

get_metrics

返回度量容器中所有可用度量的表格。所有这些度量都用于交叉验证。

# 加载数据集
from pycaret.datasets import get_data
data = get_data('diabetes')

# 初始化设置
from pycaret.classification import *
clf1 = setup(data, target='Class variable', session_id=123)

# 获取度量
get_metrics()

get_metrics()的输出

add_metric

将自定义度量添加到度量容器中。

# 加载数据集
from pycaret.datasets import get_data
data = get_data('diabetes')

# 初始化设置
from pycaret.classification import *
clf1 = setup(data, target='Class variable', session_id=123)

# 添加度量
from sklearn.metrics import log_loss
add_metric('logloss', 'Log Loss', log_loss, greater_is_better=False)

add_metric('logloss', 'Log Loss', log_loss, greater_is_better=False)的输出

现在如果你检查度量容器:

get_metrics()

get_metrics()(添加了log loss度量后)的输出

remove_metric

从度量容器中删除度量。

# 删除度量
remove_metric('logloss')

没有输出。让我们再次检查度量容器。

get_metrics()

get_metrics()(删除了log loss度量后)的输出

automl

这个函数根据optimize参数返回当前设置中所有训练模型中的最佳模型。可以使用get_metrics函数访问评估的指标。

示例

# 加载数据集
from pycaret.datasets import get_data
data = get_data('diabetes')

# 初始化设置
from pycaret.classification import *
clf1 = setup(data, target = 'Class variable')

# 比较模型
top5 = compare_models(n_select = 5)

# 调整模型
tuned_top5 = [tune_model(i) for i in top5]

# 集成模型
bagged_top5 = [ensemble_model(i) for i in tuned_top5]

# 混合模型
blender = blend_models(estimator_list = top5)

# 堆叠模型
stacker = stack_models(estimator_list = top5)

# 自动机器学习
best = automl(optimize = 'Recall')
print(best)

从print(best)输出的结果

get_logs

返回实验日志表。仅在初始化setup函数时log_experiment = True时有效。

示例

# 加载数据集
from pycaret.datasets import get_data
data = get_data('diabetes')

# 初始化设置
from pycaret.classification import *
clf1 = setup(data, target = 'Class variable', log_experiment = True, experiment_name = 'diabetes1')

# 比较模型
top5 = compare_models()

# 检查ML日志
get_logs()

从get_logs()输出的结果

get_system_logs

读取并打印当前活动目录中的logs.log文件。

示例

# 加载数据集
from pycaret.datasets import get_data
data = get_data('diabetes')

# 初始化设置
from pycaret.classification import *
clf1 = setup(data, target = 'Class variable', session_id = 123)

# 检查系统日志
from pycaret.utils import get_system_logs
get_system_logs()