首頁  >  文章  >  科技週邊  >  光是 SQL 就可以搞機器學習

光是 SQL 就可以搞機器學習

PHPz
PHPz轉載
2023-04-11 19:31:231199瀏覽

最近在GitHub 上看到的這個 MindsDB[1] 專案讓我眼前一亮,它可以在資料庫中執行機器學習相關的操作,也就是說,僅用SQL 就可以建置、訓練、最佳化和部署機器學習模型,要獲得預測,只需查詢資料和ML 模型就可以。

MindsDB 透過採用 AI 表的概念將機器學習引入資料庫。 AI 表是作為虛擬表儲存在資料庫中的機器學習模型。它們有助於根據數據進行預測。你可以在資料庫中執行時間序列、迴歸和分類預測,並透過使用簡單的 SQL 語句查詢 AI 表幾乎立即獲得輸出。

接下來,我們來看一個官方提供的簡單範例。

1、申請一個免費的 MindsDB 雲端帳號,這樣就可以立刻體驗到了。如果你喜歡本地部署,可以安裝他們的 Docker 版本。

2、從 SQL 用戶端連線到 MindsDB。

3、使用 CREATE DATABASE 連接到資料庫。 MindsDB 有一個範例資料庫,可以立即使用。請使用CREATE DATABASE 語句,如下所示:

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)

4、可以使用標準SQL 來預覽數據,如下圖所示:

光是 SQL 就可以搞機器學習

5、使用CREATE PREDICTOR 建立預測器:

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)

6、檢查預測器的狀態:

SELECT status
FROM mindsdb.predictors
WHERE name='home_rentals_predictor';

會得到正在訓練或完成的狀態:

+----------+
| status |
+----------+
| training |
+----------+

+----------+
| status |
+----------+
| complete |
+----------+

7、執行預測

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 就可以搞機器學習

#最後的話

只用SQL 就可以使用機器學習真的很方便,MindsDB 的技術細節可以存取官方文件[2],如果有幫助請點在看分享給更多的朋友。

參考資料:

[1]MindsDB: https://github.com/mindsdb/mindsdb

[2]文件: docs.mindsdb.com

以上是光是 SQL 就可以搞機器學習的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除