FLAML框架学习干货整理

server/2024/9/23 11:15:34/

一、FLAML介绍

        FLAML (Fast and Lightweight AutoML) 是一个用于自动机器学习(AutoML)的 Python 库,旨在快速且资源效率高地找到机器学习任务的最优模型和其超参数。它由微软研究院开发,适用于广泛的机器学习任务,如分类、回归和时间序列预测。

二、FLAML 的特点包括

  1. 效率:FLAML 专注于在有限的计算资源下快速找到高性能模型。
  2. 易用性:提供简单的 API,用户只需几行代码就可以启动 AutoML 过程。
  3. 自适应:它会根据数据的特征自动调整学习过程,无需手动微调。
  4. 多样性:支持多种机器学习框架,如 Scikit-learn、XGBoost、LightGBM、CatBoost 等。
  5. 可扩展性:用户可以自定义搜索空间或添加新的学习器以扩展 FLAML 的功能。

三、 快速开始示例

以下是一个使用 FLAML 进行分类任务的简单示例:

首先,你需要安装 FLAML。可以通过 pip 进行安装:

#首先,你需要安装 FLAML。可以通过 pip 进行安装:
pip install flaml#然后,你可以使用以下代码示例来运行一个简单的 AutoML 任务:
from flaml import AutoML
from sklearn.datasets import load_iris# 加载数据
X, y = load_iris(return_X_y=True)# 初始化 AutoML 对象
automl = AutoML()# 设置自动机器学习任务和时间限制
automl.fit(X_train=X, y_train=y, task="classification", time_budget=60)# 输出最佳模型
print(automl.model)

        在这个例子中,AutoML 类自动处理了模型选择和超参数调优的过程,而你只需要提供数据和指定任务类型(如分类)及时间预算(单位为秒)。

        FLAML 是一个强大的工具,适合那些希望快速实现高效机器学习模型的数据科学家和开发者。它的设计考虑到了实际应用中计算资源的限制,使其成为处理各种机器学习任务的理想选择。

四、metric参数设置

        在使用 FLAML 或其他机器学习模型进行回归任务时,选择一个合适的评估指标(metric)对于优化模型表现非常关键。当你处理的回归任务中目标变量的离散度(变异性)较小,即目标值比较接近时,选择一个能够敏感地反映误差变化的指标尤为重要。

常见的回归评估指标
        以下是一些常用的回归评估指标,可以根据你的具体需求选择适用的一个:

        1、均方误差(MSE, Mean Squared Error):

               定义为预测值与实际值之差的平方的平均值。
               对大的误差给予更大的惩罚,但在目标变量离散度小的情况下,它可能对小的误差变化                   不够敏感。

        2、均方根误差(RMSE, Root Mean Squared Error):

         是 MSE 的平方根,相比 MSE 有更直观的物理意义(与目标变量同单位),对离群值敏感。
        3、平均绝对误差(MAE, Mean Absolute Error):
        计算预测值与实际值之差的绝对值的平均。
        相比 MSE 和 RMSE,MAE 对异常值的敏感度较低,适用于目标变量的离散度较小。
        4、R² 或决定系数:
        衡量模型对数据变异性的解释程度。
        当离散度较小时,即使是小的改善也可能导致 R² 的显著变化。

如何在 FLAML 中设置评估指标:
       在 FLAML 中,你可以通过 metric 参数来指定使用哪种评估指标。根据你的描述,若目标变量的离散度较小,可以考虑使用 MAE,因为它对小的差异更为敏感,而不会过分放大大的误差,这在数值相近的数据中尤为重要。

以下是如何在 FLAML 中设置 MAE 作为评估指标的示例:

from flaml import AutoML
from sklearn.datasets import load_boston# 加载数据
X, y = load_boston(return_X_y=True)# 初始化 AutoML 对象
automl = AutoML()# 设置自动机器学习任务、时间限制和评估指标
automl.fit(X_train=X, y_train=y, task="regression", metric='mae', time_budget=120)# 输出最佳模型
print(automl.model)

       通过这样的设置,FLAML 将使用 MAE 来评估不同模型的性能,帮助你找到在预测精度上更为精细的模型。选择合适的评估指标可以显著影响 AutoML 的搜索效率和最终模型的性能。


http://www.ppmy.cn/server/11804.html

相关文章

VUE-列表

VUE-列表 列表功能 如下例子 列表展示 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv&qu…

AUTOSAR-COMStack-003_SignalGroup如何发送接收

1. Ref Ref.1 AUTOSAR_RS_Main.pdf Ref.1 AUTOSAR_RS_Features.pdf Ref.2 AUTOSAR_SRS_COM.pdf Ref.3 AUTOSAR_SWS_COM.pdf 2. 为什么要使用Signal Group&#xff1f; 2.1 Traceabilty [RS_PO_00004] AUTOSAR shall define an open architecture for automotive software.…

python基本语法与使用

Python是一种高级编程语言&#xff0c;它被广泛应用于各种领域&#xff0c;包括Web开发、数据科学、人工智能等。以下是Python的基本语法和使用方法&#xff1a; 1.注释 使用#来添加单行注释&#xff0c;多行注释可以使用或"""来包围。 # 这是一个单行注释…

Mac 安装pnpm报错

npm install -g pnpm 报错截图&#xff1a; 报错原因&#xff1a;权限 解决方法&#xff1a;sudo npm install -g pnpm --allow-root 输入密码即可

第二篇、SD真人视频转卡通动画 学习笔记

接着第一篇 2K转4K 生成玩卡通视频后&#xff0c;如何转换成更高分辨率的视频 1、将第一篇生成的工作目录下的output目录改成output-old&#xff0c;新建一个output目录 2、进入0&#xff0c;1子目录&#xff0c;把EbSynth生成的Outputxxx都删掉&#xff0c;frames和keys下…

右键文件夹添加指定打开的程序(如:IDEA、PyCharm等)

一.打开注册表 使用winR打开运行界面(默认为左下角)输入regedit 二.进入指定目录 1.找不到可直接复制路径: 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell 2.在当前路径shell下右键->新建->项->命名IDEA &#xff08;名字任意即可&#xff09;,修…

十、使用repo管理yocto各个layer

文章目录 使用repo管理yocto各个layer一、创建repo环境二、创建rpi robot的manifest三、实践 使用repo管理yocto各个layer 本篇文章为基于raspberrypi 4B单板的yocto实战系列的第十篇文章&#xff1a; 一、yocto 编译raspberrypi 4B并启动 二、yocto 集成ros2(基于raspberrypi…

【刷题】代码随想录算法训练营第二十一天|530、二叉搜索树的最小绝对差,501、二叉搜索树种的众数,236、二叉树的最近公共祖先

目录 530、二叉搜索树的最小绝对差501、二叉搜索树种的众数236、二叉树的最近公共祖先 530、二叉搜索树的最小绝对差 讲解&#xff1a;https://programmercarl.com/0530.%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E6%9C%80%E5%B0%8F%E7%BB%9D%E5%AF%B9%E5%B7%AE…