项目介绍 - ml.js:JavaScript中的机器学习工具
介绍
ml.js 是一个 JavaScript 的机器学习工具库,由 mljs 组织开发和维护。这个库主要为浏览器使用而开发,尽管它也可以在 Node.js 项目中使用。对于 Node.js 用户,建议直接添加所需的库,因为这些库通常在 npm 上更新更频繁。库中的所有 npm 包均以 ml-
开头,方便查找(例如,ml-matrix)。
要在网页中包含 ml.js 库,可以通过以下方式引入:
<script src="https://www.lactame.com/lib/ml/6.0.0/ml.min.js"></script>
引入后,全局变量 ML
即可用。这个包使用 UMD 格式发布。
包含的库列表
无监督学习
- 主成分分析 (PCA):
ML.PCA
- 层次聚类:
ML.HClust
- K 均值聚类:
ML.KMeans
监督学习
- 朴素贝叶斯分类器:
ML.NaiveBayes
- K 近邻算法 (KNN):
ML.KNN
- 偏最小二乘回归 (PLS):
ML.PLS
- K-OPLS:
ML.KOPLS
- 交叉验证:
ML.CrossValidation
- 混淆矩阵:
ML.ConfusionMatrix
- 决策树分类器:
ML.DecisionTreeClassifier
- 随机森林分类器:
ML.RandomForestClassifier
人工神经网络 (ANN)
- 前馈神经网络:
ML.FNN
- 自组织映射/科赫网络:
ML.SOM
回归
- 简单线性回归:
ML.SimpleLinearRegression
- 多项式回归:
ML.PolynomialRegression
- 多变量线性回归:
ML.MultivariateLinearRegression
- 幂回归:
ML.PowerRegression
- 指数回归:
ML.ExponentialRegression
- Theil-Sen 回归:
ML.TheilSenRegression
- Robust 多项式回归:
ML.RobustPolynomialRegression
- 决策树回归:
ML.DecisionTreeRegression
- 随机森林回归:
ML.RandomForestRegression
优化
- Levenberg-Marquardt 算法:
ML.levenbergMarquardt
- 快速组合非负最小二乘法:
ML.FCNNLS
数学
- 矩阵类:
ML.Matrix
- 奇异值分解 (SVD):
ML.SVD
- 特征值分解 (EVD):
ML.EVD
- 切列斯基分解:
ML.CholeskyDecomposition
- LU 分解:
ML.LuDecomposition
- QR 分解:
ML.QrDecomposition
- 稀疏矩阵:
ML.SparseMatrix
- 核函数:
ML.Kernel
- 距离函数:
ML.Distance
- 相似度函数:
ML.Similarity
- 距离矩阵:
ML.distanceMatrix
- XORShift-add 随机数生成器:
ML.XSadd
- 非负广义形态分量分析:
ML.nGMCA
数组操作
在 ML.Array
和 ML.ArrayXY
中,有多种数组处理功能,如最小值、最大值、平均值、标准差等计算,排序和合并点集,确保 x 值唯一,以及加权合并等操作。
统计
- 性能(ROC 曲线):
ML.Performance
数据处理
- 主成分分析 (PCA):
ML.PCA
- Savitzky-Golay 滤波器:
ML.savitzkyGolay
- 全局光谱解卷积 (GSD):
ML.GSD
工具
- 位数组操作:
ML.BitArray
- 哈希表:
ML.HashTable
- 填充数组:
ML.padArray
- 二分查找:
ML.binarySearch
- 数字比较函数用于排序:
ML.numSort
- 随机数生成:
ML.Random