文档章节

如何使用JavaScript构建机器学习模型

乱蓬头
 乱蓬头
发布于 2017/06/26 14:25
字数 670
阅读 3
收藏 0

摘要: 目前,机器学习领域建模的主要语言是 Python 和 R,前不久腾讯推出的机器学习框架 Angel 则支持 Java 和 Scala。本文作者 Abhishek Soni 则用行动告诉我们,开发机器学习模型,JavaScript 也可以。

目前,机器学习领域建模的主要语言是 Python 和 R,前不久腾讯推出的机器学习框架 Angel 则支持 Java 和 Scala。本文作者 Abhishek Soni 则用行动告诉我们,开发机器学习模型,JavaScript 也可以。

JavaScript?我不是应该使用 Python 吗?甚至 Scikit-learn 在 JavaScript 上都不工作。

这是可能的,实际上,连我自己都惊讶于开发者对此忽视的态度。就 Scikit-learn 而言,Javascript 的开发者事实上已经推出了适用的库,它会在本文中有所提及。那么,让我们看看 Javascript 在机器学习上能够做什么吧。

根据人工智能先驱 Arthur Samuel 的说法,机器学习为计算机提供了无需明确编程的学习能力。换句话说,它使得计算机能够自我学习并执行正确的指令,无需人类提供全部指导。

谷歌已经把自己移动优先的策略转换到人工智能优先很久了。

为什么 JavaScript 在机器学习界未被提及过?

 

· 慢(真的假的?)

· 矩阵操作很困难(这里有库,比如 math.js)

· 仅用于 Web 开发(然而这里还有 Node.js)

· 机器学习库通常是在 Python 上的(还好,JS   的开发者人数也不少)

 

在 JavaScript 中有一些可供使用的预制库,其中包含一些机器学习算法,如线性回归、SVM、朴素贝叶斯等等,以下是其中的一部分。

 

· brain.js(神经网络)

· Synaptic(神经网络)

· Natural(自然语言处理)

· ConvNetJS(卷积神经网络)

· mljs(一组具有多种功能的子库)

首先,我们将使用 mljs 回归库来进行一些线性回归操作。

参考代码:https://github.com/abhisheksoni27/machine-learning-with-js

1. 安装库

 

$ npm install ml-regression csvtojson

 

$ yarn add ml-regression csvtojson

 

ml-regression 正如其名,负责机器学习的线性回归。

csvtojson 是一个用于 node.js 的快速 CSV 解析器,它允许加载 CSV 数据文件并将其转换为 JSON。

2. 初始化并加载数据

下载数据文件(.csv),并将其加入你的项目。

链接:

http://www-bcf.usc.edu/~gareth/ISL/Advertising.csv

如果你已经初始化了一个空的 npm 项目,打开 index.js,输入以下代码。

我把文件放在了项目的根目录下,如果你想放在其他地方,请记得更新 csvFilePath。

本文转载自:http://click.aliyun.com/m/24035/

乱蓬头
粉丝 0
博文 382
码字总数 2595
作品 0
私信 提问
五个最热门的开源机器学习 JavaScript 框架

如果你是一位想要深入机器学习的 JavaScript 程序员或想成为一位使用 JavaScript 的机器学习专家,那么这些开源框架也许会吸引你。 开源工具的涌现使得开发者能够更加轻松地开发应用,这一点...

16%
2018/07/09
0
0
基于TensorFlow.js的JavaScript机器学习

Credits: aijs.rocks 虽然python或r编程语言有一个相对容易的学习曲线,但是Web开发人员更喜欢在他们舒适的javascript区域内做事情。目前来看,node.js已经开始向每个领域应用javascript,在...

【方向】
04/27
0
0
利用tensorflow.js实现JS中的AI

利用tensorflow.js实现JS中的AI(译) 来自https://javascriptweekly.com/link/57596/a956973cda 非常感谢Seth Juarez提供的这篇文章。 这不是一篇关于数学的文章,也不是一篇阐述邪恶的有知觉...

Wendydesigner
01/08
0
0
JavaScript 是如何工作的:JavaScript 的共享传递和按值传递

摘要: 原始数据类型和引用数据类型的副本作为参数传递给函数。 原文:JavaScript 是如何工作的:JavaScript 的共享传递和按值传递 作者:前端小智 Fundebug经授权转载,版权归原作者所有。 ...

Fundebug
04/18
0
0
JavaScript 是如何工作的:JavaScript 的内存模型

摘要: 从内存角度理解 let 和 const 的意义。 原文:JavaScript 是如何工作的:JavaScript 的内存模型 作者:前端小智 Fundebug经授权转载,版权归原作者所有。 这是专门探索 JavaScript 及...

Fundebug
04/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

哪些情况下适合使用云服务器?

我们一直在说云服务器价格适中,具备弹性扩展机制,适合部署中小规模的网站或应用。那么云服务器到底适用于哪些情况呢?如果您需要经常原始计算能力,那么使用独立服务器就能满足需求,因为他...

云漫网络Ruan
今天
10
0
Java 中的 String 有没有长度限制

转载: https://juejin.im/post/5d53653f5188257315539f9a String是Java中很重要的一个数据类型,除了基本数据类型以外,String是被使用的最广泛的了,但是,关于String,其实还是有很多东西...

低至一折起
今天
22
0
OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
11
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
9
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部