机器学习自动化建模AutoML

发布于:2024-09-17 ⋅ 阅读:(125) ⋅ 点赞:(0)

前言

机器学习建模以后,对模型的选择和泛化是一项繁琐的过程,选择合适的模型需要高计算成本、时间和精力,工具上的优化出现了AutoML。

AutoML介绍

AutoML 是一个广泛的概念,指的是使用算法和统计模型来自动化机器学习流程中的多个步骤,包括数据预处理、特征选择、模型选择与超参数调优、模型评估等,目标是减少人工干预,使非专家用户也能高效地构建和应用机器学习模型。

AutoML框架执行任务可总结成以下:

  • 预处理和清理数据
  • 选择并构建合适的特征
  • 选择合适的模型
  • 优化模型超参数
  • 设计神经网络的拓扑结构(如果使用NN学习)
  • 机器学习模型的后处理
  • 结果的可视化和展示

流行的automl视线框架有:

PyCaret

PyCaret 是 Python 中的一个开源、低代码机器学习库,可自动执行机器学习工作流。它也是一个端到端的机器学习和模型管理工具,可以成倍地加快实验周期,提升工作开发效率。

PyCaret 本质上是围绕多个机器学习库和框架封装而成,包括大家熟悉的scikit-learn、XGBoost、LightGBM、CatBoost、spaCy、Optuna、Hyperopt 和 Ray等。可仅用几行代码完成原本需要数百行代码完成的工作,尤其是对于密集的实验迭代过程可以大大提速。

from pycaret.datasets import get_data
from pycaret.classification import setup, compare_models
 
# 加载数据集
data = get_data('iris')
 
# 初始化环境
exp = setup(data, target='species')
 
# 比较不同模型的表现
best_model = compare_models()

# 调优最佳模型
from pycaret.classification import tune_model
tuned_model = tune_model(best_model)

# 评估模型
from pycaret.classification import evaluate_model
evaluate_model(tuned_model)


# 模型集成, 包括投票分类器和堆叠模型。
from pycaret.classification import blend_models, stack_models
blended_model = blend_models([best_model, tuned_model])
stacked_model = stack_models([best_model, tuned_model])

# 预测新数据
new_data = data.sample(5)
predictions = predic

网站公告

今日签到

点亮在社区的每一天
去签到