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