一文讀懂人工智能表:從MindsDB說起
本文轉載自微信公眾號「活在信息時代」,作者活在信息時代。轉載本文請聯系活在信息時代公眾號。
對于熟悉數據庫操作的同學來說,編寫優美的SQL語句,從數據庫中想方設法找出自己需要的數據,是常規操作了。
而對于熟悉機器學習的同學來說,獲取數據,對數據進行預處理,建立模型,確定訓練集和測試集,用訓練好的模型對未來進行一系列的預測,也是一種常規操作了。
那么,我們能否將兩種技術結合起來呢?我們看到數據庫里存儲了數據,而進行預測需要基于以往的數據。如果我們通過數據庫里現有的數據,對于未來的數據進行查詢的話,那么是否可行呢?
基于這樣的思路MindsDB就誕生了。
MindsDB是一種將機器學習引入現有的SQL數據庫的工具,它連接了數據與模型。它通過人工智能表(AI-Table)這種方式,將機器學習模型集成為數據庫中的虛擬表,從而可以創建預測,并能夠使用簡單的SQL語句進行查詢。幾乎可以立即在數據庫中直接進行時間序列、回歸和分類預測。
隨著信息技術的發展,很多行業慢慢從基于歷史數據分析的“發生了啥和為啥發生”向機器學習預測模型的“我們預測會發生什么和怎樣使其發生”轉變。而MindsDB就是實現這一目標的一個工具。
MindsDB可直接在數據庫中進行建模,省去了數據處理、搭建機器學習模型等頭疼的步驟。對于數據分析師、商業分析師無須了解過多數據工程、建模知識,即可開箱使用。
那么,我們來看看MindsDB是怎樣實現這樣的操作的。
比如說我們有一個數據表里,存儲一個城市的房價與GDP的數據,那么,如果我們想查詢房價和GDP。就可以采用類似于下面的SQL進行查詢:
那么,我們可以看到gdp與房價可能呈現一個線性的關系。如果我們想查詢某個GDP值對應的房價的話,我們可以寫
但是,如果查詢的GDP數據并不存在于數據庫中怎么辦,那么顯然,是查詢不出來結果的。
這個時候,人工智能表就出現了。
我們可以先創建一個房價預測模型:
這樣,MindsDB就會在后臺自動創建模型。此時,我們再用這個模型,就可以查詢數據庫中沒有的GDP數據對應的房價預測值了。
select houseprice from mindsdb.price_model where gpd=20000;
這樣,我們就會獲取到基于歷史數據的模型預測值了。