乐趣区

关于人工智能:Pycaret-30的RC版本已经发布了什么重大的改进呢

Pycaret 是 Python 中的一个开源可自动化机器学习工作流程的低代码机学习库。它是一种端到端的机器学习和模型管理工具。要理解无关 Pycaret 的更多信息,能够查看官方网站或 GitHub。

1、与最新版本的 Scikit-Learn 齐全兼容

Pycaret 2.x 须要 Scikit-Learn 0.23.2,如果您想在同一 Python 环境中应用 Scikit-Learn 和 Pycaret 的最新版本是不可能的,然而 Pycaret 3.0 将与 Scikit-Learn 的最新版本齐全兼容。

2、面向对象的 API

PyCaret 很棒,但不足面向对象的思维。通过退出类和对象,PyCaret 扭转了从 1.0 开始的工作形式,

# Functional API (Existing)

# load dataset
from pycaret.datasets import get_data
data = get_data('juice')

# init setup
from pycaret.classification import *
s = setup(data, target = 'Purchase', session_id = 123)

# compare models
best = compare_models()

这很不便,但如果当初你想在同一个 notebook 上运行不同参数的多个试验,你可能就会遇到参数被笼罩的问题,并且因为是变量的模式,这些参数被笼罩了你也很难发现他们。当初有了新的面向对象的 API,参数保留在对象中,不会产生多余的变量,简化了操作。

# load dataset
from pycaret.datasets import get_data
data = get_data('juice')

# init setup 1
from pycaret.classification import ClassificationExperiment
exp1 = ClassificationExperiment()
exp1.setup(data, target = 'Purchase', session_id = 123)

# compare models init 1
best = exp1.compare_models()

# init setup 2
exp2 = ClassificationExperiment()
exp2.setup(data, target = 'Purchase', normalize = True, session_id = 123)

# compare models init 2
best2 = exp2.compare_models()

你还能够应用 get_leaderboard 函数为每个试验生成后果列表,而后进行比拟。

# generate leaderboard
leaderboard_exp1 = exp1.get_leaderboard()
leaderboard_exp2 = exp2.get_leaderboard()
lb = pd.concat([leaderboard_exp1, leaderboard_exp2])

# print pipeline steps
print(exp1.pipeline.steps)
print(exp21.pipeline.steps)

还能够依据须要在函数式 API 和面向对象 API 之间进行切换。

# set current experiment to exp1
from pycaret.classificatiom import set_current_experiment
set_current_experiment(exp1)

3、工夫序列模块

很长一段时间以来,PyCaret 的工夫序列模块始终是一个独自的 PyPI 库 (PyCaret-ts-alpha)。当初 PyCaret 3.0 终于将他们整合在一起。

# load dataset
from pycaret.datasets import get_data
data = get_data('airline')

# init setup
from pycaret.time_series import *
s = setup(data, fh = 12, session_id = 123)

# compare models
best = compare_models()

# forecast plot
plot_model(best, plot = 'forecast')

4、管道流水线的改良

预处理模块为了与 scikit-learn 最新版本齐全兼容并提高效率和性能,曾经齐全进行了重写。在 Pycaret 3.0 中引入了几种新的预处理函数不同类型的分类编码。在 2.x 之前只有 One-Hot-Encoding 编码。

上面比拟了应用雷同 random_state 的各种模型的体现

3.0 中可用的一些新性能是:

  • 新的分类编码技术
  • 能够解决文本建模
  • 退出了检测异样值的新技术
  • 退出了特征选择的新技术
  • 保障防止指标透露

4、模块化和轻量化

Pycaret 3.0 进行了模块化的重构并缩小了依赖,相比于 2.x 缩小了 33%依赖项,并且在装置的工夫方面有了很大的缩减。此外还能够独自装置不同的模块,例如 Pycaret [NLP] 将装置与 NLP 相干的依赖关系。

5、主动数据类型解决

Pycaret 3.0 不须要对数据类型进行确认,因为它可能主动的解决。然而依然能够应用 numeric_features 和 centorical_features 参数笼罩数据类型。

6、文本特色工程

PyCaret 3.0 将可能解决文本输出。如果数据集中有一个文本列,设置中有两个新参数,能够从文本中提取特色用于模型训练。

https://avoid.overfit.cn/post/5a08306734164b128837e4aca4291554

作者:Moez Ali

退出移动版