数据库|一文读懂人工智能表:从MindsDB说起

数据库|一文读懂人工智能表:从MindsDB说起

文章图片



对于熟悉数据库操作的同学来说 , 编写优美的SQL语句 , 从数据库中想方设法找出自己需要的数据 , 是常规操作了 。
而对于熟悉机器学习的同学来说 , 获取数据 , 对数据进行预处理 , 建立模型 , 确定训练集和测试集 , 用训练好的模型对未来进行一系列的预测 , 也是一种常规操作了 。
【数据库|一文读懂人工智能表:从MindsDB说起】那么 , 我们能否将两种技术结合起来呢?我们看到数据库里存储了数据 , 而进行预测需要基于以往的数据 。 如果我们通过数据库里现有的数据 , 对于未来的数据进行查询的话 , 那么是否可行呢?
基于这样的思路MindsDB就诞生了 。

MindsDB是一种将机器学习引入现有的SQL数据库的工具 , 它连接了数据与模型 。 它通过人工智能表(AI-Table)这种方式 , 将机器学习模型集成为数据库中的虚拟表 , 从而可以创建预测 , 并能够使用简单的SQL语句进行查询 。 几乎可以立即在数据库中直接进行时间序列、回归和分类预测 。
随着信息技术的发展 , 很多行业慢慢从基于历史数据分析的“发生了啥和为啥发生”向机器学习预测模型的“我们预测会发生什么和怎样使其发生”转变 。 而MindsDB就是实现这一目标的一个工具 。
MindsDB可直接在数据库中进行建模 , 省去了数据处理、搭建机器学习模型等头疼的步骤 。 对于数据分析师、商业分析师无须了解过多数据工程、建模知识 , 即可开箱使用 。
那么 , 我们来看看MindsDB是怎样实现这样的操作的 。
比如说我们有一个数据表里 , 存储一个城市的房价与GDP的数据 , 那么 , 如果我们想查询房价和GDP 。 就可以采用类似于下面的SQL进行查询:
select gdp houseprice from city;
那么 , 我们可以看到gdp与房价可能呈现一个线性的关系 。 如果我们想查询某个GDP值对应的房价的话 , 我们可以写
select gdp houseprice from city where gdp=10000;
但是 , 如果查询的GDP数据并不存在于数据库中怎么办 , 那么显然 , 是查询不出来结果的 。
这个时候 , 人工智能表就出现了 。
我们可以先创建一个房价预测模型:
create predictor mindsdb.price_model from city predict houseprice;
这样 , MindsDB就会在后台自动创建模型 。 此时 , 我们再用这个模型 , 就可以查询数据库中没有的GDP数据对应的房价预测值了 。
select houseprice from mindsdb.price_model where gpd=20000;
这样 , 我们就会获取到基于历史数据的模型预测值了 。

喜欢本文的话 , 欢迎关注活在信息时代哦:)