对于熟悉数据库操作的同学来说,写出漂亮的SQL语句,试图从数据库中找到自己需要的数据,是家常便饭的操作。对于熟悉机器学习的同学来说,获取数据,对数据进行预处理,建立模型,确定训练集和测试集,并利用训练好的模型对未来进行一系列的预测,也是常规操作。那么,我们能否将这两种技术结合起来呢?我们看到数据存储在数据库中,预测需要根据过去的数据。如果我们通过数据库中已有的数据来查询未来的数据,是否可行?基于这样的想法,MindsDB诞生了。MindsDB是一种将机器学习引入现有SQL数据库、连接数据和模型的工具。它通过人工智能表(AI-Table)将机器学习模型集成到数据库中的一个虚拟表中,从而可以创建预测并使用简单的SQL语句进行查询。几乎即时地直接在数据库中进行时间序列、回归和分类预测。随着信息技术的发展,许多行业逐渐从基于历史数据分析的“发生了什么以及为什么”转变为基于机器学习预测模型的“我们预测会发生什么以及如何使其发生”。而MindsDB正是实现这一目标的工具。MindsDB可以直接在数据库中建模,省去了数据处理和建立机器学习模型的繁琐步骤。对于数据分析师和业务分析师,他们可以开箱即用,无需了解太多数据工程和建模知识。那么,我们来看看MindsDB是如何实现这样的操作的。比如我们有一个数据表,里面存储了一个城市的房价和GDP的数据。那么,如果我们要查询房价和GDP。您可以使用类似于以下查询的SQL:selectgdp,housepricefromcity;那么,我们可以看到gdp和房价可能呈现线性关系。如果我们要查询某个GDP值对应的房价,可以这样写:selectgdp,housepricefromcitywheregdp=10000;但是,如果要查询的GDP数据在数据库中不存在怎么办,那么显然是查询不到结果的。这时,人工智能手表出现了。我们可以先创建一个房价预测模型:createpredictormindsdb.price_modelfromcitypredicthouseprice;这样,MindsDB就会在后台自动创建模型。这时候如果我们再使用这个模型,就可以查询到数据库中没有的GDP数据对应的房价预测值。从mindsdb.price_model中选择houseprice,其中gpd=20000;这样,我们就可以得到基于历史数据的模型预测值。
