值得探索的 8 个机器学习 JavaScript 框架

JavaScript开发人员倾向于寻找可用于机器学习模型训练的JavaScript框架。下面是一些机器学习算法,基于这些算法可以使用本文中列出的不同JavaScript框架来模型训练:

  • 简单的线性回归
  • 多变量线性回归
  • 逻辑回归
  • 朴素贝叶斯
  • k最近邻算法(KNN)
  • K-means
  • 支持向量机(SVM)
  • 随机森林
  • 决策树
  • 前馈神经网络
  • 深度学习网络

在这篇文章中,你将学习针对机器学习的不同JavaScript框架。具体内容为:

1.DeepLearn.js

Deeplearn.js是Google发布的一个开源的机器学习JavaScript库,可用于不同的目的,例如在浏览器中训练神经网络,理解ML模型,用于教育目的等。你可以在推理模式中运行预先训练的模型。可以在Typescript(ES6 JavaScript)或ES5 JavaScript中编写代码。通过在HTML文件的head标签中包含以下代码并编写用于构建模型的JS程序,可以实现快速入门。

<script src="https://cdn.jsdelivr.net/npm/deeplearn@latest">script><script src="https://unpkg.com/deeplearn@latest">script>

2.PropelJS

Propel,一个JavaScript库,为科学计算提供了GPU支持的类似numpy的基础架构。它可以用于NodeJS app和浏览器。以下是浏览器的设置代码:

<script src="https://unpkg.com/propel@3.1.0">script>

以下代码可用于NodeJS app:

npm install propelimport { grad } from "propel";

PropelJS 文档(Propel doc)。Propel的GitHub页面。

3.ML-JS

ML-JS提供了用于使用NodeJS和浏览器的机器学习工具。ML JS工具可以使用以下代码进行设置:

<script src="https://www.lactame.com/lib/ml/2.2.0/ml.min.js">script>

支持以下机器学习算法:

  • 无监督学习
  • 主成分分析(PCA)
  • K均值聚类
  • 监督学习
  • 简单线性回归
  • 多变量线性回归
  • 支持向量机(SVM)
  • 朴素贝叶斯
  • K最近邻算法(KNN)
  • 偏最小二乘算法(PLS)
  • 决策树:CART
  • 随机森林
  • 逻辑回归
  • 人工神经网络
  • 前馈神经网络

4.ConvNetJS

ConvNetJS是一个JavaScript库,完全用于在浏览器中深度学习模型训练(神经网络)。这个库也可以用在NodeJS app中。

可以从ConvNetJS简化库中获取ConvNetJS的简化版本入门。ConvNetJS的发布页面。

<script src="convnet-min.js">script>

5.KerasJS

通过KerasJS,你可以在浏览器中运行Keras模型,并使用WebGL得到GPU支持。模型也可以在Node.js中运行,但只能在CPU模式下运行。Keras的GitHub页面。以下是可以在浏览器中运行的Keras模型列表:

  • MNIST的基本convnet
  • 卷积变分自编码器,在MNIST上训练
  • MNIST上的辅助分类器生成式对抗网络(AC-GAN)
  • 50层残差网络,在ImageNet上训练
  • Inception v3,在ImageNet上训练
  • DenseNet-121,在ImageNet上训练
  • SqueezeNet v1.1,在ImageNet上训练
  • IMDB情绪分类的双向LSTM

6.STDLIB

STDLib是一个JavaScript库,可用于构建高级统计模型和机器学习库。它也可以用于数据可视化和探索性数据分析的绘图和图形功能。

以下是与ML有关的库列表:

  • 通过随机梯度下降进行线性回归(@ stdlib / ml / online-sgd-regression)
  • 通过随机梯度下降进行二元分类(@ stdlib / ml / online-binary-classification)
  • 自然语言处理(@ stdlib / nlp)

7.Limdu.js

Limdu.js是Node.js的机器学习框架。它支持以下一些内容:

  • 二元分类
  • 多标签分类
  • 特征工程
  • SVM

可以使用以下命令来安装limdu.js:

npm install limdu

8.Brain.js

Brain.js是一套用于训练神经网络和朴素贝叶斯分类器的JavaScript库。以下代码可用于安装Brain.js:

npm install brain.js

也可以使用以下代码在浏览器中引入该库:

<script src="https://raw.githubusercontent.com/harthur-org/brain.js/master/browser.js">script>

以下内容可用于安装朴素贝叶斯分类器:

npm install classifier

总结

在这篇文章中,我们了解了可用于在浏览器和Node.js app中机器学习模型训练的不同JavaScript库。

这篇文章对你有帮助吗?或者你对文中有关机器学习的JavaScript框架有任何疑问或建议?欢迎在评论中留下你的看法并提出问题来共同探讨。

原文发布于微信公众号 - IT派(transfer_3255716726)

原文发表时间:2018-03-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏决胜机器学习

机器学习(十) ——使用决策树进行预测(离散特征值)

机器学习(十)——使用决策树进行预测(离散特征值) (原创内容,转载请注明来源,谢谢) 一、绘制决策树 决策树的一大优点是直观,但是前提是其以图像形式展示。如...

41860
来自专栏FreeBuf

AI安全初探:利用深度学习检测DNS隐蔽通道

DNS 隐蔽通道简介 DNS 通道是隐蔽通道的一种,通过将其他协议封装在DNS协议中进行数据传输。 由于大部分防火墙和入侵检测设备很少会过滤DNS流量,这就给D...

36450
来自专栏数据派THU

手把手教你用Keras进行多标签分类(附代码)

本文将通过拆解SmallVGGNet的架构及代码实例来讲解如何运用Keras进行多标签分类。

8.3K110
来自专栏Petrichor的专栏

图像处理: jpg格式 存储-读写 时 像素值 微小变化 探究

在做项目的过程中,想比较 同一幅图像 的 二值化处理结果 和 人工标注的ground_truth图 之间的差异。

18640
来自专栏机器之心

教程 | 如何利用TensorFlow.js部署简单的AI版「你画我猜」图像识别应用

我们将使用卷积神经网络(CNN)来识别不同类型的手绘图像。这个卷积神经网络将在 Quick Draw 数据集(https://github.com/google...

38540
来自专栏AI科技大本营的专栏

OpenCV特征提取与图像检索实现(附代码)

翻译 | AI科技大本营 参与 | 张蔚敏 审校 | reason_W “拍立淘”“一键识花”“街景匹配”……不知道大家在使用这些神奇的功能的时候,有没有好奇过...

78960
来自专栏文武兼修ing——机器学习与IC设计

harr特征加级联分类器的目标检测系统1.识别系统架构2.训练方法3.加速方法4.代码实践参考文献

20530
来自专栏人工智能头条

模仿人类智慧——“多任务学习”动手实践

10830
来自专栏专知

【实战】最新Deep Learning with Keras图书加代码,教你从零开发一个复杂深度学习模型(附下载)

Deep Learning with Keras 这个代码库是《Deep Learning with Keras》的配套代码。它包含全书从头到尾所有所需要用到的...

60150
来自专栏深度学习那些事儿

TensorFlow中滑动平均模型介绍

其中a的取值范围[0,1],具体就是:本次滤波结果=(1-a)*本次采样值+a*上次滤波结果,采用此算法的目的是:

55690

扫码关注云+社区

领取腾讯云代金券