摘要: 目前,机器学习领域建模的主要语言是 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。 现在我们使用 csvtojson 的 fromFile 方法加载数据文件: 3. 打包数据,准备执行 JSON 对象被存储在 csvData 中,我们还需要输入数据点数组和输出数据点。我们通过一个填充 X 和 Y 变量的 dressData 函数来运行数据。 原文链接