最近在GitHub 上看到的這個 MindsDB[1] 專案讓我眼前一亮,它可以在資料庫中執行機器學習相關的操作,也就是說,僅用SQL 就可以建置、訓練、最佳化和部署機器學習模型,要獲得預測,只需查詢資料和ML 模型就可以。
MindsDB 透過採用 AI 表的概念將機器學習引入資料庫。 AI 表是作為虛擬表儲存在資料庫中的機器學習模型。它們有助於根據數據進行預測。你可以在資料庫中執行時間序列、迴歸和分類預測,並透過使用簡單的 SQL 語句查詢 AI 表幾乎立即獲得輸出。
接下來,我們來看一個官方提供的簡單範例。
CREATE DATABASE example_data WITH ENGINE = "postgres", PARAMETERS = { "user": "demo_user", "password": "demo_password", "host": "3.220.66.106", "port": "5432", "database": "demo" };
執行之後可以得到下面的結果:
Query OK, 0 rows affected (3.22 sec)
CREATE PREDICTOR mindsdb.home_rentals_predictor FROM example_data (SELECT * FROM demo_data.home_rentals) PREDICT rental_price;
執行後:
Query OK, 0 rows affected (9.79 sec)
SELECT status FROM mindsdb.predictors WHERE name='home_rentals_predictor';
會得到正在訓練或完成的狀態:
+----------+ | status | +----------+ | training | +----------+
或
+----------+ | status | +----------+ | complete | +----------+
SELECT 語句允許你基於特徵進行預測,其中特徵是用於進行預測的輸入變數或輸入列。現在來預測一棟兩間浴室的 1000 平方英尺房屋的租金是多少。
SELECT rental_price FROM mindsdb.home_rentals_predictor WHERE number_of_bathrooms=2 AND sqft=1000;
得到結果如下:
+--------------+ | rental_price | +--------------+ | 1130 | +--------------+
到了這一步,你已經成功地使用 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
以上是光是 SQL 就可以搞機器學習的詳細內容。更多資訊請關注PHP中文網其他相關文章!