光是 SQL 就可以搞機器學習

PHPz
發布: 2023-04-11 19:31:23
轉載
1127 人瀏覽過

最近在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
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!