全自动化机器学习建模!效果吊打初级炼丹师! ⛵ 您所在的位置:网站首页 autogluon是什么 全自动化机器学习建模!效果吊打初级炼丹师! ⛵

全自动化机器学习建模!效果吊打初级炼丹师! ⛵

#全自动化机器学习建模!效果吊打初级炼丹师! ⛵| 来源: 网络整理| 查看: 265

全自动化机器学习建模!效果吊打初级炼丹师! ⛵

💡 作者:韩信子@ShowMeAI📘 机器学习实战系列:https://www.showmeai.tech/tutorials/41📘 本文地址:https://www.showmeai.tech/article-detail/289📢 声明:版权所有,转载请联系平台与作者并注明出处📢 收藏ShowMeAI查看更多精彩内容

自动化机器学习,也称为自动化 ML 或 AutoML,是自动化完成开发耗时且需要反复迭代的机器学习建模过程。它让数据科学家、分析师和开发人员轻松构建具有高规模、高效率和生产力的机器学习模型,同时保持模型质量。

常规的机器学习模型开发应用,需要大量时间来构建和比较若干个不同模型。借助自动化机器学习,一些繁琐枯燥的迭代开发环境可以自动完成,提高了效率。

全自动化机器学习建模!效果吊打初级炼丹师! ⛵

Python 拥有不断增长的开源 AutoML 库生态系统。ShowMeAI在本篇中梳理了截止2022年,最流行和实用的 AutoML 库,其中也有不少企业级应用工具。ShowMeAI本次介绍的AutoML工具库包括:

PyCaret H2O AutoML TPOT Auto-sklearn FLAML EvalML AutoKeras Auto-ViML AutoGluon MLBox 💡 PyCaret

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

全自动化机器学习建模!效果吊打初级炼丹师! ⛵

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

全自动化机器学习建模!效果吊打初级炼丹师! ⛵

Pycaret的相关资料链接如下:

📘 文档:https://pycaret.gitbook.io/ 📘 GitHub:https://www.github.com/pycaret/pycaret 📘 教程:https://pycaret.gitbook.io/docs/get-started/tutorials

全自动化机器学习建模!效果吊打初级炼丹师! ⛵ 💡 H2O AutoML

H2O AutoML是另一个很有名的自动化机器学习库,可以帮助我们在有限的时间内自动训练和调优许多模型。

H2O 的核心代码是用 Java 编写的。这些算法在 H2O 的分布式 Map/Reduce 框架之上实现,并利用 Java Fork/Join 框架进行多线程处理。数据被并行读取并分布在集群中,并以压缩方式以列格式存储在内存中。

全自动化机器学习建模!效果吊打初级炼丹师! ⛵

H2O AutoML 的设计理念是,希望尽量自动化,即用户只需要给定数据集和极少量的参数,即可开始建模和调优,并在指定的时间或者其他约束条件下,尽量找到最佳的模型。

import h2o from h2o.automl import H2OAutoML # 初始化 h2o.init() aml = H2OAutoML(max_models =25, balance_classes=True, seed = 1) # 自动建模训练 aml.train(training_frame = X, y = 'y') lb = aml.leaderboard # 获取最佳模型 best_model = aml.get_best_model() print(best_model)

相关的文档可以在 📘 这里 查阅。

💡 TPOT

TPOT自动化机器学习 (AutoML) 工具库构建在scikit-learn 之上,它使用 Gentic Programming (GP) 来有效地发现给定数据集的最佳模型流水线。

TPOT 使用遗传编程来自动设计和优化一系列数据转换(特征处理)和机器学习模型,并努力最大限度提高给定监督学习数据集的效果。

流程示意图如下:

全自动化机器学习建模!效果吊打初级炼丹师! ⛵

整个建模调优过程也非常简单,如下2行代码即可完成完整过程。

# 初始化 model = TPOTClassifier(generations=5, population_size=50, cv=cv, scoring='accuracy', verbosity=2, random_state=1, n_jobs=-1) # 自动化拟合与调优 model.fit(X, y)

全自动化机器学习建模!效果吊打初级炼丹师! ⛵

关于TPOT的资料可以在它的 📘 文档 和官方 📘 GitHub 查看。

💡 Auto-sklearn

从名字可以看出来,Auto-sklearn 是一个基于sklearn的自动化机器学习工具包。它利用了贝叶斯优化、元学习和集成模型等方法来自动化建模与调优。

全自动化机器学习建模!效果吊打初级炼丹师! ⛵

使用方法和sklearn非常相似,熟悉sklearn的同学可以无障碍快速应用。示例代码如下:

import autosklearn.classification # 构建自动化分类器 cls = autosklearn.classification.AutoSklearnClassifier() # 拟合调优 cls.fit(X_train, y_train) # 预估 predictions = cls.predict(X_test)

关于Auto-sklearn的资料可以在它的 📘 文档 和官方 📘 GitHub 查看。

💡 FLAML

FLAML 是微软推出的轻量级 Python 自动化机器学习库,可以自动、高效且经济地找到准确的机器学习模型。FLAML还有来自 Visual Studio 2022 中的 ML.NE 模型生成器的 .NET 实现。

FLAML 可以快速找到具有低计算资源的高质量模型。它支持经典机器学习模型和深度神经网络。

全自动化机器学习建模!效果吊打初级炼丹师! ⛵

全自动化机器学习建模!效果吊打初级炼丹师! ⛵

关于FLAML的资料可以在它的 📘 文档; 和官方 📘 GitHub 查看。大家可以在ShowMeAI的教程文章 📂 AutoML自动化机器学习建模 中查看FLAML的详细用法,简单的使用示例代码如下:

from flaml import AutoML # 构建自动化学习器 automl = AutoML() # 拟合调优 automl.fit(X_train, y_train, task="classification")

全自动化机器学习建模!效果吊打初级炼丹师! ⛵ 💡 EvalML

EvalML这个AutoML工具库使用特定领域的目标函数来构建、优化和评估机器学习流水线。它结合了先进的数据处理与特征工程工具库 📘 Featuretools 和 📘 Compose,可以非常方便地构建端到端的监督机器学习解决方案。

全自动化机器学习建模!效果吊打初级炼丹师! ⛵

EvalML 支持多种监督学习任务/问题,如回归、分类(二元和多类)、时间序列分析(包括时间序列回归和分类)等。

全自动化机器学习建模!效果吊打初级炼丹师! ⛵

关于EvalML的资料可以在它的 📘 文档; 和官方 📘 GitHub 查看。示例使用方法如下:

from evalml.automl import AutoMLSearch # 初始化 automl = AutoMLSearch(X_train=X_train, y_train=y_train, problem_type="binary", objective="F1") # 搜索调优 automl.search()

全自动化机器学习建模!效果吊打初级炼丹师! ⛵ 💡 AutoKeras

AutoKeras 是一个自动化建模库,主要聚焦在自动搜索 深度学习模型的架构和超参数, 并尽快获得性能最佳的深度学习模型。Auto-Keras的API接口和scikit-learn风格完全一致,容易上手。

它包括用于 文本、图像和结构化数据的分类和回归的构建块。选择高级架构后,Autokeras 会自动调整模型。

全自动化机器学习建模!效果吊打初级炼丹师! ⛵

关于AutoKeras的资料可以在它的 📘 文档 和官方 📘 GitHub 查看。示例使用方法如下:

import autokeras # 初始化分类器 search = autokeras.StructuredDataClassifier(max_trials=15) # 拟合与寻找最佳网络结构和超参数 search.fit(x=X_train, y=y_train, verbose=0) # 预估 y_pred = search.predict(X_new) 💡 Auto-ViML

Auto-ViML(自动变量可解释机器学习)是一个开源 Python 库,可以训练多个模型并自动识别最佳超参数。它内置大量的数据预处理和可解释性功能:

自动化数据处理与清洗:给定数据集(通常是Dataframe格式),Auto_ViML 会尽量自动化处理缺失值、格式化变量、添加变量等。 特征选择:Auto-ViML自动选择特征变量,当我们特征维度特别高的时候,非常有用。

全自动化机器学习建模!效果吊打初级炼丹师! ⛵

关于Auto-ViML的资料可以在它的 📘 文档 和官方 📘 GitHub 查看。示例使用方法如下:

from autoviml.Auto_ViML import Auto_ViML #包含所有参数的一个示例代码 model, features, trainm, testm = Auto_ViML( train, target, test, sample_submission, hyper_param="GS", feature_reduction=True, scoring_parameter="weighted-f1", KMeans_Featurizer=False, Boosting_Flag=False, Binning_Flag=False, Add_Poly=False, Stacking_Flag=False, Imbalanced_Flag=False, verbose=0, ) 💡 AutoGluon

AutoGluon 是一个由 AWS 开源的为深度学习开发优化而生的 autoML 框架。除了结构化表格数据,它还支持图像分类、目标检测和自然语言处理任务。

全自动化机器学习建模!效果吊打初级炼丹师! ⛵

AutoGluon 的核心功能包括:

自动化寻找性能最佳的深度学习架构和超参数。 模型选择和自动超参数调优。 自动化数据预处理。

关于 AutoGluon 的资料可以在它的 📘 文档 和官方📘 GitHub 查看。示例使用方法如下:

from autogluon.tabular import TabularDataset, TabularPredictor # 构建训练集与测试集表格数据 train_data = TabularDataset('https://autogluon.s3.amazonaws.com/datasets/Inc/train.csv') test_data = TabularDataset('https://autogluon.s3.amazonaws.com/datasets/Inc/test.csv') # 自动拟合与优化 predictor = TabularPredictor(label='class').fit(train_data=train_data) # 预估 predictions = predictor.predict(test_data) 💡 MLBox

MLBox 是一个开源的 AutoML Python 库。覆盖如下的强大功能:

特征选择、缺失值填充和异常值检测。 更快效果更好的数据预处理。 自动超参数优化。 用于分类和回归的自动模型选择。 模型预测与模型可解释性。

全自动化机器学习建模!效果吊打初级炼丹师! ⛵

关于MLBox的资料可以在它的 📘 文档 和官方 📘 GitHub 查看。示例使用方法如下:

import mlbox as mlb # 数据自动化预处理 data = mlb.preprocessing.Drift_thresholder().fit_transform(data) # 优化与拟合预估 best = mlb.optimisation.Optimiser().evaluate(None, data) mlb.prediction.Predictor().fit_predict(best, data) 参考资料 📘 Pycaret 文档:https://pycaret.gitbook.io/ 📘 Pycaret GitHub:https://www.github.com/pycaret/pycaret 📘 Pycaret 教程:https://pycaret.gitbook.io/docs/get-started/tutorials 📘 H2O AutoML:https://docs.h2o.ai/h2o/latest-stable/h2o-docs/welcome.html 📘 TPOT 文档:http://epistasislab.github.io/tpot/ 📘 TPOT 官方 GitHub:https://github.com/EpistasisLab/tpot 📘 Auto-sklearn 文档:https://automl.github.io/auto-sklearn/master/ 📘 Auto-sklearn 官方 GitHub:https://github.com/automl/auto-sklearn 📘 FLAML 文档:https://microsoft.github.io/FLAML/ 📘 FLAML 官方 GitHub:https://github.com/microsoft/FLAML 📘 Featuretools:https://featuretools.featurelabs.com/ 📘 Compose:https://compose.featurelabs.com/ 📘 EvalML 文档:https://evalml.alteryx.com/en/stable/ 📘 EvalML 官方 GitHub:https://github.com/alteryx/evalml 📘 AutoKeras 文档:https://autokeras.com/ 📘 AutoKeras 官方 GitHub:https://github.com/keras-team/autokeras 📘 Auto-ViML 文档:https://readthedocs.org/projects/auto-viml/ 📘 Auto-ViML 官方 GitHub:https://github.com/AutoViML/Auto_ViML 📘 AutoGluon 文档:https://auto.gluon.ai/stable/index.html 📘 AutoGluon 官方 GitHub:https://github.com/awslabs/autogluon 📘 MLBox 文档:https://mlbox.readthedocs.io/en/latest/ 📘 MLBox 官方 GitHub:https://github.com/AxeldeRomblay/MLBox 📘 AutoML 自动化机器学习建模:https://www.showmeai.tech/article-detail/210

全自动化机器学习建模!效果吊打初级炼丹师! ⛵

Original: https://www.cnblogs.com/showmeai/p/16567012.htmlAuthor: ShowMeAITitle: 全自动化机器学习建模!效果吊打初级炼丹师! ⛵

相关阅读 Title: python –Matplotlib详解 安装 pip install matplotlib 导包 import matplotlib.pyplot as plt 绘制散点图

如果输入的是两个列表,一个表示 x 轴的值,一个表示 y 轴的值,那么就可以在直角坐标系中划出很多个点,然后将这些点用指定的线段连接起来就得到了散点图。

可以使用 plt.plot(x, y, 风格) 来达到目的,其中的风格有很多种,如点状、小叉、圆圈、不同颜色等。

import matplotlib.pyplot as plt x = [1, 2, 3, 4] y = [2, 4, 2, 6] y1 = [e+1 for e in y] y2 = [e+2 for e in y] plt.plot(x, y, "b.") # b:蓝色,.:点 plt.plot(x, y1, "ro") # r:红色,o:圆圈 plt.plot(x, y2, "kx") # k:黑色,x:x字符(小叉) plt.show() # 在窗口显示该图片

全自动化机器学习建模!效果吊打初级炼丹师! ⛵我们可以看到不同颜色、不同线型和不同点的形状。 [En]

We can see the shapes of different colors, different linetypes and different points.

上述代码的第 9 行用来显示图片,但这并不是最好的使用方式。本章后面的部分会将产生的图片保存到 png 文件中。可以使用下面的代码来替换第 9 行的代码:

plt.savefig("demo1.png") 绘制折线图

折线图类似于点图,但在样式上有所不同。我们需要指定线型,例如“-”表示实线,“-”表示虚线,“-”表示虚线。表示虚线,“:”表示完全由点组成的虚线。

[En]

A line chart is similar to a dot chart, but it is different in style. We need to specify linetypes, such as “-” for solid lines, “-” for dashed lines, “-.” Represents a dotted line, and “:” represents a dotted line made entirely of dots.

import matplotlib.pyplot as plt x = [1, 2, 3, 4] y = [1, 2, 3, 4] y1 = [e+1 for e in y] # 计算y的值 y2 = [e+2 for e in y] y3 = [e+3 for e in y] plt.plot(x, y, "b.-") # b:蓝色,.:点,-:线 plt.plot(x, y1, "ro--") # r:红色,o:圆圈,--:短线连接起来 plt.plot(x, y2, "kx-.") # k:黑色,x:x字符,-.:点和线 plt.plot(x, y3, "c*:") # c:蓝绿色,*:*字符,::点组成的线 plt.savefig("demo1.png") # 将图片保存到文件中

全自动化机器学习建模!效果吊打初级炼丹师! ⛵其实参数 x 是可选的,如果不填写,那么 x=[1,2,3,…]。例如上面的代码可以写成下面的样子,而含义没有任何差别; import matplotlib.pyplot as plt y = [1, 2, 3, 4] # 4组数据 y1 = [e+1 for e in y] y2 = [e+2 for e in y] y3 = [e+3 for e in y] plt.plot(y, "b.-") # 没有x参数 plt.plot(y1, "ro--") # r:红色,o:圆圈,--:短线连接起来 plt.plot(y2, "kx-.") # k:黑色,x:x字符,-.:点和线 plt.plot(y3, "c*:") # c:蓝绿色,*:*字符,::点组成的线 plt.savefig("demo3.png")

颜色的表示法对应关系

表示法颜色’b’蓝色’g’绿色’r’红色’c’蓝绿色’m’品红’y’黄色’k’黑色

点的样式对应关系

表示法颜色’o’小圆圈’v’朝下的三角形’^’朝上的三角形’>’朝右的三角形’

Original: https://blog.csdn.net/weixin_44634704/article/details/126269614Author: 像风一样的男人@Title: python –Matplotlib详解

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/370495/

转载文章受原作者版权保护。转载请注明原作者出处!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有