本文转载自微信公众号「活在信息时代」,作者活在信息时代。转载本文请联系活在信息时代公众号。
对于熟悉数据库操作的同学来说,编写优美的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;
这样,我们就会获取到基于历史数据的模型预测值了。