天天看點

如何使用JavaScript建構機器學習模型

目前,機器學習領域模組化的主要語言是 python 和 r,前不久騰訊推出的機器學習架構 angel 則支援 java 和 scala。本文作者 abhishek soni 則用行動告訴我們,開發機器學習模型,javascript 也可以。

如何使用JavaScript建構機器學習模型

javascript?我不是應該使用 python 嗎?甚至 scikit-learn 在 javascript 上都不工作。

這是可能的,實際上,連我自己都驚訝于開發者對此忽視的态度。就 scikit-learn 而言,javascript 的開發者事實上已經推出了适用的庫,它會在本文中有所提及。那麼,讓我們看看 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,輸入以下代碼。

如何使用JavaScript建構機器學習模型

我把檔案放在了項目的根目錄下,如果你想放在其他地方,請記得更新 csvfilepath。

現在我們使用 csvtojson 的 fromfile 方法加載資料檔案:

如何使用JavaScript建構機器學習模型

3. 打包資料,準備執行

json 對象被存儲在 csvdata 中,我們還需要輸入資料點數組和輸出資料點。我們通過一個填充 x 和 y 變量的 dressdata 函數來運作資料。

如何使用JavaScript建構機器學習模型

4. 訓練模型開始預測

資料已經打包完畢,是時候訓練我們的模型了。

為此,我們需要寫一個 performregression 函數:

如何使用JavaScript建構機器學習模型

performregression 函數有一個方法 tostring,它為浮點輸出擷取一個名為 precision 的參數。predictoutput 函數能讓你輸入數值,然後将模型的輸出傳到控制台。它是這樣的(注意,我使用的是 node.js 的 readline 工具):

如何使用JavaScript建構機器學習模型

以下是為了增加閱讀使用者的代碼

如何使用JavaScript建構機器學習模型

5. 大功告成!

到你的終端上運作 node index.js,得到的輸出會是這樣:

如何使用JavaScript建構機器學習模型

恭喜!你剛剛在 javascript 中訓練了第一個線性回歸模型。(ps. 你注意到速度了嗎?)

文章來源:機器之心

<a href="https://www.jiqizhixin.com/articles/e2a4be9d-4b00-48d5-bccf-cc5a3582dd9b" target="_blank">原文位址</a>

歡迎關注個人公衆号,檢視更多好文。

如何使用JavaScript建構機器學習模型
如何使用JavaScript建構機器學習模型