介绍
如果我们谈论Automl,那么我想到的最令人惊叹的开源产品之一就是MindSDB。 MindSDB增强了现有数据库并修改它们中的表,以充当能够使用存在的数据来训练可靠预测模型的AI表。
所有这一切都没有学习如何在Python中编码此类模型的麻烦,或者在以后阶段处理依赖项或维护它们。使用MindSDB,您可以使用简单的类似SQL的语句并在单击中获得准确的预测。
在本教程中,我们将学习如何使用MindSDB预测特斯拉的股价。您可以从本教程中使用here下载所需的数据集。
将数据导入MindSDB云
我们将使用MindSDB云来完成本教程。确保您遵循以下所有步骤以完成培训预测模型。
步骤1: Log in to MindSDB帐户带有您的凭据。您也可以使用一个新帐户的sign up,它是绝对免费的。
步骤2:签名后,MindSDB云控制台就会打开。现在,从右上角单击Add data
按钮。这应该打开Select your datasource
页。
步骤3:现在从顶部选项卡而不是Databases
中选择Files
,然后击中Import File
部分。
步骤4:现在浏览并打开我们刚刚下载的.CSV
文件,在Table Name
字段中提供表格的名称,然后按Save and Continue
按钮创建它。
步骤5:创建表后,控件将我们带回MindSDB云控制台。您现在可以在查询编辑器中找到两个简单的查询。让我们一个人执行它们以确认数据导入是否成功。
SHOW TABLES FROM files;
找到我们在返回表名的列表中创建的表的名称。
SELECT * FROM files.Tesla LIMIT 10;
这应该从表Tesla
返回10个数据记录。
这确认我们有正确的数据记录,现在我们可以继续进入本教程的下一部分。
创建预测模型
使用MindSDB创建预测模型就像启动简单的SQL查询一样容易。因此,让我们看看我们如何容易创建此模型。
步骤1: MindSDB提供了一个CREATE PREDICTOR
,现在我们想使用数据集创建和训练新模型,我们与我们同在。您可以在下面找到查询。
CREATE PREDICTOR mindsdb.tesla_predictor (Name of the Predictor)
FROM files
(SELECT * FROM Tesla) (Name of the Table)
PREDICT Close (Target Value)
ORDER BY value_date (Ordering data based on Date)
WINDOW 120 (Model picks up last 120 records)
HORIZON 60; (To Predict the future 60 outcomes)
查询应返回成功的状态。
步骤2:模型可能需要一些时间才能准备好。同时,我们可以使用下面的命令检查其状态。
SELECT status
FROM mindsdb.predictors
WHERE name = 'tesla_predictor';
如果状态为complete
,则该模型已准备就绪。但是,如果状态为generating
或training
,请等待一段时间,直到获得complete
的状态。
注意:这种预测指标是一个高级的预测指标,因为我们将使用它来根据数据集中拥有的历史数据来预测未来的结果值。这种预测属于时间剧类别。
了解预测指标模型
现在准备好预测器模型,让我们首先了解引擎盖下的内容。因此,MindSDB为我们提供了三种描述我们模型以检索进一步见解的方法。
- 通过功能
- 模型
- 模型合奏
通过功能
如果您有兴趣找出每个列为模型或在其上使用的编码器服务的角色,则可以尝试根据IT功能来描述预测变量。
DESCRIBE mindsdb.tesla_predictor.features;
按模型
,如果您想找出在培训期间使用的基础候选模型以及最终为预测变量选择的基础候选模型,则可以选择通过模型来描述它。选定的候选人将在其selected
列中具有值1
。
DESCRIBE mindsdb.tesla_predictor.model;
通过模型合奏
如果您有兴趣进一步潜水并了解如何选择候选模型,那么您可以尝试通过合奏来描述预测变量。这将返回一个带有所有参数的JSON结果,这些参数有助于确定可用模型的最佳候选模型。
DESCRIBE mindsdb.tesla_predictor.ensemble;
我们现在已经完成了了解刚刚训练的模型。是时候开始预测事情了!
预测目标值
像往常一样,MindSDB还提供了简单的SQL语句来预测模型的值。因此,让我们弄清楚我们如何预测值。
在进行继续之前,我们需要在这里了解基本情况。因此,我们有一个数据集,该数据集列出了一段时间内特斯拉的截止库存值。现在,使用此预测模型,我们将尝试预测数据集中最新记录后的关闭值。我们可以通过使用另一个关键字LATEST
进行日期来做到这一点。
查询将是简单的选择类型,我们将在其中加入预测器模型以及数据表并获取预测。
SELECT T.value_date as date,
T.Closing as Forecast,
Closing_explain
FROM mindsdb.tesla_predictor as T
JOIN files.Tesla as P
WHERE P.value_date > LATEST
LIMIT 60;
此查询应返回我们的预测数据集中最多2个月(60天)。此数据集中的最后一个可用日期是16-09-2022
,从那天开始的60天在14-11-2022
结束,这是结果表中的最后一个预测日期。
注意:您可以通过简单地将
HORIZON
的价值增加到60天以上来预测未来日期的值。为了提高准确性,您还可以选择将WINDOW
的价值增加到120天以上。
结论
我们现在已经到达本教程的结尾。让我们总结以下列表上面所做的所有任务。
- 我们创建了一个MindSDB云帐户。
- 我们将数据集导入MindSDB云。
- 我们创建并培训了时间工程预测的预测模型。
- 我们使用描述获得了有关模型的见解。
- 我们预测了未来日期的特斯拉股价。
现在,是时候让所有人创建自己的模型并尝试预测一些有趣的值了。如果您需要一些建议,那么我很想放弃一些想法,例如Bitcoin Value Prediction
,Ethereum Value Prediction
,Gold Price Prediction
等。要创造性,训练一些时髦的东西并与社区分享。
最后,在您关闭此页面之前,如果您喜欢本教程,请不要忘记丢弃LIKE
,也让我知道您是否有任何反馈。您还可以建议您想了解MindSDB的特定内容,我也会尝试掩盖它。