ml.js - JavaScript 中的机器学习工具
简介
这个库是 mljs 组织开发的工具集合。
它主要用于在浏览器中使用。如果您使用 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 格式。
包含的库列表
无监督学习
监督学习
- 朴素贝叶斯:
ML.NaiveBayes
- K-近邻 (KNN):
ML.KNN
- 偏最小二乘法 (PLS):
ML.PLS
- K-OPLS:
ML.KOPLS
- 交叉验证:
ML.CrossValidation
- 混淆矩阵:
ML.ConfusionMatrix
- 决策树分类器:
ML.DecisionTreeClassifier
- 随机森林分类器:
ML.RandomForestClassifier
人工神经网络 (ANN)
回归
- 简单线性回归:
ML.SimpleLinearRegression
- 多项式回归:
ML.PolynomialRegression
- 多元线性回归:
ML.MultivariateLinearRegression
- 幂回归:
ML.PowerRegression
- 指数回归:
ML.ExponentialRegression
- 泰尔-森回归:
ML.TheilSenRegression
- 稳健多项式回归:
ML.RobustPolynomialRegression
- 决策树回归:
ML.DecisionTreeRegression
- 随机森林回归:
ML.RandomForestRegression
优化
- 列文伯格-马夸特算法:
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.Array.min
ML.Array.max
ML.Array.median
ML.Array.mean
ML.Array.mode
ML.Array.normed
ML.Array.rescale
ML.Array.sequentialFill
ML.Array.standardDeviation
ML.Array.variance
ML.ArrayXY
处理包含 x 和 y 两个属性(均为数组)的对象的函数。
示例:
let result = ML.ArrayXY.sortX({ x: [2, 3, 1], y: [4, 6, 2] });
// result = {x: [1,2,3], y: [2,4,6]}
-
ML.ArrayXY.weightedMerge:合并相似纵坐标上的横坐标值,并对横坐标组进行加权
-
ML.ArrayXY.maxMerge:合并相似纵坐标上的横坐标值,并保留纵坐标值较大的横坐标
-
ML.ArrayXY.closestX:获取特定横坐标值的最接近点
-
ML.ArrayXY.centroidsMerge:如果纵坐标值在中心点列表中,则合并横坐标值
-
ML.ArrayXY.sortX:基于横坐标值对点集进行排序
-
ML.ArrayXY.maxY:基于横坐标值对点集进行排序
-
ML.ArrayXY.uniqueX:确保横坐标值唯一
统计
- 性能(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