12 个版本 (6 个重大变更)

0.7.0 2023 年 10 月 16 日
0.6.1 2022 年 12 月 3 日
0.6.0 2022 年 6 月 15 日
0.5.1 2022 年 2 月 27 日
0.1.0 2018 年 4 月 5 日

#49机器学习

Download history 7043/week @ 2024-04-22 5749/week @ 2024-04-29 7815/week @ 2024-05-06 7627/week @ 2024-05-13 7231/week @ 2024-05-20 6038/week @ 2024-05-27 8473/week @ 2024-06-03 6256/week @ 2024-06-10 7216/week @ 2024-06-17 5587/week @ 2024-06-24 4686/week @ 2024-07-01 7058/week @ 2024-07-08 8202/week @ 2024-07-15 9608/week @ 2024-07-22 8170/week @ 2024-07-29 6702/week @ 2024-08-05

32,809 每月下载量
用于 27 个crate(26 个直接使用)

MIT/Apache

200KB
3.5K SLoC

Linfa mascot icon

Linfa

crates.io Documentation DocumentationLatest Codequality Run Tests

linfa(意大利语)/ sap(英语)

植物中的**重要**循环液体。

linfa旨在提供一套全面的工具集,用于使用 Rust 构建机器学习应用。

与 Python 的 scikit-learn 精神相契合,它侧重于日常机器学习任务中的常见预处理任务和经典 ML 算法。

网站 | 社区聊天

当前状态

linfa目前提供以下算法的子包: 我们在学习吗?

linfa目前提供以下算法的子包

名称 用途 状态 类别 备注
clustering 数据聚类 测试/基准 无监督学习 无标签数据的聚类;包含 K-Means、高斯混合模型、DBSCAN 和 OPTICS
kernel 数据转换的核方法 测试 预处理 将特征向量映射到高维空间
linear 线性回归 测试 部分拟合 包含普通最小二乘法(OLS)、广义线性模型(GLM)
elasticnet Elastic Net 测试 监督学习 带有弹性网约束的线性回归
logistic 逻辑回归 测试 部分拟合 构建二分类逻辑回归模型
reduction 降维 测试 预处理 扩散映射和主成分分析(PCA)
trees 决策树 测试/基准 监督学习 线性决策树
svm 支持向量机 测试 监督学习 对标记数据集进行分类或回归分析
hierarchical 层次聚类 测试 无监督学习 聚类并构建聚类层次
bayes 朴素贝叶斯 测试 监督学习 包含高斯朴素贝叶斯
ica 独立成分分析 测试 无监督学习 包含快速 ICA 实现
pls 偏最小二乘法 测试 监督学习 包含用于降维和回归的 PLS 估计器
tsne 降维 测试 无监督学习 包含精确解和Barnes-Hut 近似 t-SNE
预处理 标准化与矢量化 测试/基准 预处理 包含数据标准化/白化以及计数矢量化和tf-idf
nn 最近邻与距离 测试/基准 预处理 空间索引结构和距离函数
ftrl 跟随正则化领导者 - 近似 测试/基准 部分拟合 包含L1和L2正则化。可能进行增量更新

我们相信,只有显著的社区努力才能培养、构建和维持Rust中的机器学习生态系统 - 没有其他前进的道路。

如果这触动了你的心弦,请查看路线图并参与其中!

BLAS/Lapack后端

某些算法需要使用外部库进行线性代数例程。默认情况下,我们使用纯Rust实现。然而,你也可以通过启用blas功能以及与你的BLAS后端相对应的功能,选择外部BLAS/LAPACK后端库。目前你可以选择以下BLAS/LAPACK后端:openblasnetblasintel-mkl

后端 Linux Windows macOS
OpenBLAS ✔️ - -
Netlib ✔️ - -
Intel MKL ✔️ ✔️ ✔️

每个BLAS后端都有两个功能可用。该功能允许你选择在系统中链接BLAS库或静态构建库。例如,intel-mkl后端的功能是intel-mkl-staticintel-mkl-system

以下是一个示例Cargo标志集,用于在算法库上启用Intel MKL后端:--features blas,linfa/intel-mkl-system。注意,BLAS后端功能在linfa库中定义,并且应仅针对最终可执行文件指定。

许可证

双授权以兼容Rust项目。

根据您的选择,许可在Apache许可证版本2.0 https://apache.ac.cn/licenses/LICENSE-2.0或MIT许可证 http://opensource.org/licenses/MIT下。此文件不得根据这些条款复制、修改或分发。

依赖项

~2–31MB
~402K SLoC