僅用 SQL 就可以搞機(jī)器學(xué)習(xí)
最近在 GitHub 上看到的這個(gè) MindsDB[1] 項(xiàng)目讓我眼前一亮,它可以在數(shù)據(jù)庫(kù)里執(zhí)行機(jī)器學(xué)習(xí)相關(guān)的操作,也就是說(shuō),僅用 SQL 就可以構(gòu)建、訓(xùn)練、優(yōu)化和部署機(jī)器學(xué)習(xí)模型,要獲得預(yù)測(cè),只需查詢(xún)數(shù)據(jù)和 ML 模型就可以。
MindsDB 通過(guò)采用 AI 表的概念將機(jī)器學(xué)習(xí)引入數(shù)據(jù)庫(kù)。AI 表是作為虛擬表存儲(chǔ)在數(shù)據(jù)庫(kù)中的機(jī)器學(xué)習(xí)模型。它們有助于根據(jù)數(shù)據(jù)進(jìn)行預(yù)測(cè)。你可以在數(shù)據(jù)庫(kù)中執(zhí)行時(shí)間序列、回歸和分類(lèi)預(yù)測(cè),并通過(guò)使用簡(jiǎn)單的 SQL 語(yǔ)句查詢(xún) AI 表幾乎立即獲得輸出。
接下來(lái),我們來(lái)看一個(gè)官方提供的一個(gè)簡(jiǎn)單示例。
1、申請(qǐng)一個(gè)免費(fèi)的 MindsDB 云賬號(hào),這樣就可以立刻體驗(yàn)到了。如果你更喜歡本地部署,可以安裝他們的 Docker 版本。
2、從 SQL 客戶(hù)端連接到 MindsDB。
3、使用 CREATE DATABASE 連接到數(shù)據(jù)庫(kù)。MindsDB 有一個(gè)示例數(shù)據(jù)庫(kù),可以立即使用。請(qǐng)使用 CREATE DATABASE 語(yǔ)句,如下所示:
執(zhí)行之后可以得到下面的結(jié)果:
4、可以使用標(biāo)準(zhǔn) SQL 來(lái)預(yù)覽數(shù)據(jù),如下圖所示:
5、使用 CREATE PREDICTOR 創(chuàng)建預(yù)測(cè)器:
執(zhí)行后:
6、檢查預(yù)測(cè)器的狀態(tài):
會(huì)得到正在訓(xùn)練或者已完成的狀態(tài):
或者
7、執(zhí)行預(yù)測(cè)
SELECT 語(yǔ)句允許你基于特征進(jìn)行預(yù)測(cè),其中特征是用于進(jìn)行預(yù)測(cè)的輸入變量或輸入列?,F(xiàn)在來(lái)預(yù)測(cè)一棟帶兩間浴室的 1000 平方英尺房屋的租金是多少。
得到結(jié)果如下:
到了這一步,你已經(jīng)成功地使用 SQL 訓(xùn)練了一個(gè)預(yù)測(cè)模型并獲得了預(yù)測(cè)的數(shù)據(jù)!
特性
1、自動(dòng)數(shù)據(jù)預(yù)處理、特征工程和編碼
2、分類(lèi)、回歸、時(shí)間序列任務(wù)
3、無(wú)需“傳統(tǒng)部署”即可將模型投入生產(chǎn)
4、獲取每個(gè)預(yù)測(cè)的模型準(zhǔn)確度評(píng)分和置信區(qū)間
5、可以將 ML 模型與現(xiàn)有數(shù)據(jù) Join
6、異常檢測(cè)
7、模型可解釋性分析
8、支持 GPU 訓(xùn)練
支持和以下數(shù)據(jù)庫(kù)集成:
最后的話
僅用 SQL 就可以使用機(jī)器學(xué)習(xí)真的很方便,MindsDB 的技術(shù)細(xì)節(jié)可以訪問(wèn)官方文檔[2],如果有幫助請(qǐng)點(diǎn)在看分享給更多的朋友。
參考資料:
[1]MindsDB: https://github.com/mindsdb/mindsdb
[2]文檔: docs.mindsdb.com