• 一个超强的机器学习库


    1

       

    简介

    PyCaret 是一个用于机器学习的 Python 库,它旨在简化机器学习流程并提供一个易于使用的接口。它为用户提供了一个高级的 API,可以在几行代码中完成常见的机器学习任务,如数据预处理、特征工程、模型选择、调参和模型评估。PyCaret 本质上是对 scikit-learn、XGBoost、LightGBM、CatBoost、Optuna、Hyperopt、Ray 等多个机器学习库和框架的 Python 封装。PyCaret 的灵感来源于 R 编程语言中的 caret 库。

    想象一下你正在烹饪一道美食。你需要准备食材、切割、炒煮、调味和品尝。PyCaret 就像是你的私人厨师助手,它会帮助你自动完成这些步骤,让你能够专注于享受美食。

    2

       

    基本使用

    让我们通过一个例子来说明 PyCaret 的使用方法。

    使用之前需要安装一下,要求 python 3.7 版本以上

    pip install pycaret

    这里有一份加州房屋的数据集(来自 csv 文件,文末有下载地址),其中包含房屋的各种特征(如经度、纬度、房间数、卧室数量、中位价格等)。

    首先,你需要加载数据集并进行预处理。使用 PyCaret,你只需要一行代码就可以完成这个步骤,这里用到了 pandas

    1. import pandas as pd
    2. from pycaret.regression import *
    3. data = pd.read_csv('housing.csv')

    接下来,你需要选择一个模型来训练。PyCaret 提供了许多常见的机器学习模型供你选择。你可以通过一行代码来选择一个线性回归模型

    model = setup(data, target='median_house_value')

    这将自动进行特征工程、数据划分和模型训练。PyCaret 会根据你的数据集自动选择最佳的特征转换方法和模型。

    38585a71485c24b56f035669eedbfbcb.jpeg

    然后,你可以使用 PyCaret 的自动调参功能来优化模型的超参数。它会自动尝试不同的参数组合,并选择表现最好的模型

    1. dt = create_model('lr')
    2. best_model = tune_model(dt)

    最后,你可以使用 PyCaret 的评估功能来评估模型的性能。它会提供各种指标,如均方误差、R 平方等,帮助你了解模型的表现

    evaluate_model(best_model)

    f48bd037d205ff1ac745b92ab48542c7.jpeg

    保存模型文件

    1. # 模型文件 best_pipeline.pkl,同时还有日志文件 logs.log
    2. save_model(best_model, 'best_pipeline')

    通过这些简单的步骤,你就能够构建一个机器学习模型,并使用 PyCaret 轻松完成整个流程。

    3

       

    GPU 加速

    要想使用 GPU 来加速模型训练,只需要在 setup 方法中传递 use_gpu = True 即可。其它 API 的使用没有任何变化。

    4

       

    常见使用案例

    官方提供了一些常见场景下的代码示例,大家可以参考参考

    4.1

       

    Anomaly Detection

    cfcbf46a2efdda3625a8b088d5917c28.jpeg

    4.2

       

    Classification

    aad10e54905f4a9df1d6b1bdda13a862.jpeg

    4.3

       

    Time Series

    91670cb31f76f3709152b566bcba82ae.jpeg

    4.4

       

    Clustering

    4f7e0707fc3bfe5255fd129211997f56.jpeg

    5

       

    数据集下载地址

    链接:https://pan.quark.cn/s/1d55880ca74e

    6

       

    参考资料

    • https://github.com/pycaret/pycaret/tree/master

    • https://github.com/ageron/handson-ml/tree/master/datasets/housing

    7

       

    免费社群

    784c7cb7cc13da7cb3fd5bccc47f9bfa.jpeg

    f16fca2c1e77908fb4bad98522cbcbc9.gif

  • 相关阅读:
    TypeScript算法题实战——剑指 Offer篇(5)
    禅道的原理及应用详解(五)
    多路转接(使用epoll实现)
    数据结构笔记——自用
    Java IO包中字符流Piped和CharArray简介说明
    Cisco语音网关
    【iOS】引用计数
    IDEA 优质 插件 Translation 跟随 IDEA 2022.3 版 更新翻译引擎啦
    LIN总线入门
    【线性代数】P8 逆矩阵&矩阵方程以及逆矩阵的性质
  • 原文地址:https://blog.csdn.net/djstavaV/article/details/133663325