#machine-learning #ai #smartcore

automl

自动化机器学习用于分类和回归

9 个版本

0.2.7 2023 年 5 月 29 日
0.2.6 2022 年 6 月 13 日
0.2.5 2022 年 3 月 6 日
0.2.4 2021 年 12 月 20 日
0.1.0 2021 年 11 月 12 日

#114 in 机器学习

Download history 19/week @ 2024-03-13 157/week @ 2024-03-20 31/week @ 2024-03-27 17/week @ 2024-04-03 6/week @ 2024-04-17 7/week @ 2024-04-24 5/week @ 2024-05-08 16/week @ 2024-05-15 18/week @ 2024-05-22 4/week @ 2024-06-05 17/week @ 2024-06-12 40/week @ 2024-06-19 65/week @ 2024-06-26

每月 126 次下载
用于 abd-clam

MIT/Apache

170KB
3.5K SLoC

Github CI Crates.io docs.rs

与 SmartCore 集成的 AutoML

AutoML 是 自动化机器学习,指的是使机器学习对普通大众更易于使用的过程和方法。此 crate 建立在 smartcore 机器学习框架之上,并提供了一些用于快速训练和比较模型的实用工具。

安装

要使用最新发布的 AutoML 版本,请将以下内容添加到您的 Cargo.toml

automl = "0.2.7"

要使用最新功能,请添加以下内容

automl = { git = "https://github.com/cmccomb/rust-automl" }

使用方法

运行以下命令

let dataset = smartcore::dataset::breast_cancer::load_dataset();
let settings = automl::Settings::default_classification();
let mut classifier = automl::SupervisedModel::new(dataset, settings);
classifier.train();

将使用交叉验证比较分类模型。打印分类对象将得到

┌────────────────────────────────┬─────────────────────┬───────────────────┬──────────────────┐
│ Model                          │ Time                │ Training Accuracy │ Testing Accuracy │
╞════════════════════════════════╪═════════════════════╪═══════════════════╪══════════════════╡
│ Random Forest Classifier       │ 835ms 393us 583ns   │ 1.00              │ 0.96             │
├────────────────────────────────┼─────────────────────┼───────────────────┼──────────────────┤
│ Logistic Regression Classifier │ 620ms 714us 583ns   │ 0.97              │ 0.95             │
├────────────────────────────────┼─────────────────────┼───────────────────┼──────────────────┤
│ Gaussian Naive Bayes           │ 6ms 529us           │ 0.94              │ 0.93             │
├────────────────────────────────┼─────────────────────┼───────────────────┼──────────────────┤
│ Categorical Naive Bayes        │ 2ms 922us 250ns     │ 0.96              │ 0.93             │
├────────────────────────────────┼─────────────────────┼───────────────────┼──────────────────┤
│ Decision Tree Classifier       │ 15ms 404us 750ns    │ 1.00              │ 0.93             │
├────────────────────────────────┼─────────────────────┼───────────────────┼──────────────────┤
│ KNN Classifier                 │ 28ms 874us 208ns    │ 0.96              │ 0.92             │
├────────────────────────────────┼─────────────────────┼───────────────────┼──────────────────┤
│ Support Vector Classifier      │ 4s 187ms 61us 708ns │ 0.57              │ 0.57             │
└────────────────────────────────┴─────────────────────┴───────────────────┴──────────────────┘

然后,您可以使用 predict 方法使用最佳模型进行推理。

功能

此 crate 有几个功能,添加了一些附加方法

功能 描述
nd 添加了使用 ndarray 预测/读取数据的函数。
csv 添加了使用 polars 从 .csv 文件预测/读取数据的函数。

功能

  • 特征工程
    • PCA
    • SVD
    • 交互项
    • 多项式项
  • 回归
    • 决策树回归
    • KNN 回归
    • 随机森林回归
    • 线性回归
    • 岭回归
    • LASSO
    • Elastic Net
    • 支持向量回归
  • 分类
    • 随机森林分类
    • 决策树分类
    • 支持向量分类
    • 逻辑回归
    • KNN 分类
    • 高斯朴素贝叶斯
  • 元学习
    • 融合
  • 保存和加载设置
  • 保存和加载模型

依赖项

约 6–10MB
约 191K SLoC