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