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