首页 前端开发 值得探索的 8 个机器学习 JavaScript 框架

值得探索的 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><!-- or --><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>

下面是一些重要的页面:

  • 用于ConvNetJS的NPM软件包
  • 入门
  • 文档

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框架有任何疑问或建议?欢迎在评论中留下你的看法并提出问题来共同探讨。

站心网

JavaScript开发人员倾向于寻找可用于机器学习模型训练的JavaScript框架。下面是一些机器学习算法,基于这些..

为您推荐

.NET C# 过滤从富文本编辑器html里的Javascript脚本

富文本编辑器在允许用户输入丰富内容的同时,也带来了跨站脚本攻击(XSS)的风险。过滤提交的 HTML 中的 <script> 脚本是防止跨站脚本攻击(XSS)的关键步骤。在 .NET C# 服务端过滤 <script> 脚本主要有以下几种方..

轻松学习 JavaScript函数中的默认参数

JavaScript函数可以有默认参数值。通过默认函数参数,你可以初始化带有默认值的正式参数。如果不初始化具有某些值的参数,则该参数的默认值为undefined。请看下列代码:function foo(num1){console.log(num1);}foo()..

JavaScript API 设计原则详解

前言本篇博文来自一次公司内部的前端分享,从多个方面讨论了在设计接口时遵循的原则,总共包含了七个大块。系卤煮自己总结的一些经验和教训。本篇博文同时也参考了其他一些文章,相关地址会在后面贴出来。很难做到详..

JavaScript 中精度问题以及解决方案

JavaScript 中的数字按照 IEEE 754 的标准,使用 64 位双精度浮点型来表示。其中符号位 S,指数位 E,尾数位M分别占了 1,11,52 位,并且在ES5 规范中指出了指数位E的取值范围是[-1074, 971]。精度问题汇总想用有限..

JavaScript 六种继承方式

继承是面向对象编程中又一非常重要的概念,JavaScript支持实现继承,不支持接口继承,实现继承主要依靠原型链来实现的。原型链首先得要明白什么是原型链,在一篇文章看懂proto和prototype的关系及区别中讲得非常详细..

JavaScript 事件委托详解

基本概念事件委托,通俗地来讲,就是把一个元素响应事件(click、focus……)的函数委托到另一个元素;一般来讲,会把一个或者一组元素的事件委托到它的父层或者更外层元素上,真正绑定事件的是外层元素,当事件响应..

JavaScript 中的遍历详解

编程这么多年,要是每次写遍历代码时都用 for 循环,真心感觉对不起 JavaScript 语言~对象遍历为了便于对象遍历的测试,我在下面定义了一个测试对象obj。测试对象// 为 Object 设置三个自定义属性(可枚举)Object.p..

JavaScript 保留两位小数

以下我们将为大家介绍 JavaScript 保留两位小数的实现方法:四舍五入以下处理结果会四舍五入:var num =2.446242342;num = num.toFixed(2); // 输出结果为 2.45不四舍五入以下处理结果不会四舍五入:第一种,先把小数边..

JavaScript 页面跳转、页面重定向

JavaScript 实现页面跳转重定向可以使用以下两种方法:window.location.replace("url")类似 HTTP 重定向将地址替换成新 url,该方法通过指定 URL 替换当前缓存在历史里(客户端)的项目,因此当使用 replace 方法之..

在 Javascript 中 声明时用 var 与不用 var 的区别

avascript 声明变量的时候,虽然用 var 关键字声明和不用关键字声明,很多时候运行并没有问题,但是这两种方式还是有区别的。可以正常运行的代码并不代表是合适的代码。var num = 1;是在当前域中声明变量。如果在方..

javascript中call()、apply()、bind()的用法终于理解

其实是一个很简单的东西,认真看十分钟就从一脸懵B 到完全 理解!先看明白下面:例 1obj.objAge; // 17obj.myFun() // 小张年龄 undefined例 2shows() // 盲僧 比较一下这两者 this 的差别,第一个打印里面的 this ..

5 个顶级的 JavaScript Ajax 组件和库

在这篇文章中,我们将介绍一些用于AJAX调用的最好的JS库,包括jQuery,Axios和Fetch。欢迎查看代码示例!AJAX是用来对服务器进行异步HTTP调用的一系列web开发技术客户端框架。 AJAX即Asynchronous JavaScript and XM..

5 分钟掌握 JavaScript 实用窍门

简评:一开始 JavaScript 只是为网页增添一些实时动画效果,现在 JS 已经能做到前后端通吃了,而且还是年度流行语言。本文分享几则 JS 小窍门,可以让你事半功倍 ~1. 删除数组尾部元素一个简单方法就是改变数组的len..

BotSharp 基于 .NET 平台的开源 AI 聊天机器人框架

BotSharp 是一个开源的、基于 .NET 平台的 AI 聊天机器人框架,旨在简化构建智能对话系统的过程。它主要通过自然语言处理(NLP)技术,帮助开发者构建具备语言理解和对话能力的应用。BotSharp 提供了丰富的功能和扩..

javascript 6种连接数组的方法和对比

在 JavaScript 中,有多种方法可以用来连接数组,以下是常见的几种:1. concat() 方法用于连接两个或多个数组,返回一个新的数组,不修改原数组。const arr1 = [1, 2, 3];const arr2 = [4, 5, 6];const result = arr..

JavaScript中字典的常用操作

字典是一种以键值对存在的数据结构,他的底层是Array数组字典初始化和数组初始化的区别:数组的初始化:var arr = [1,2,3,4,5];//使用中括号字典的初始化: var names = {“a”:“aaa”,“b”:“bbb”,“c”:“ccc”}..

.NET 游戏开发框架有哪些?

在游戏开发领域,.NET 框架因其强大的功能和灵活性而广受欢迎。对于希望使用 .NET 进行游戏开发的开发者来说,了解可用的框架是至关重要的。以下是一些流行的 .NET 游戏开发框架:1. Unity: 尽管 Unity 主要使用 C# ..

通过js修改tinymce的编辑器的内容

在网页开发中,TinyMCE是一个流行的富文本编辑器。它允许用户轻松地创建和编辑HTML内容,而无需直接操作代码。然而,有时我们可能需要通过JavaScript来动态修改编辑器中的内容。本文将介绍如何使用JavaScript来修改T..

PluginCore 基于 ASP.NET Core 的轻量级插件框架

项目概述PluginCore 是一个基于 ASP.NET Core 的轻量级插件框架,旨在简化插件的集成与管理。通过最少的配置,开发者可以快速集成并专注于业务逻辑的开发。它支持动态 WebAPI、插件隔离与共享、前后端分离、热插拔等..

常用的javascript网页数字滚动插件

在网页开发中,数字滚动效果广泛用于展示统计数据、计数器、动画化的数字效果等。以下是几款常用的 JavaScript 数字滚动插件:1. CountUp.js简介: CountUp.js 是一个轻量级的数字滚动插件,提供平滑的数字滚动动画效..

发表回复

返回顶部