使用MindSDB预测特斯拉的股票价格
#教程 #database #machinelearning #mindsdb

Cover

介绍

如果我们谈论Automl,那么我想到的最令人惊叹的开源产品之一就是MindSDB。 MindSDB增强了现有数据库并修改它们中的表,以充当能够使用存在的数据来训练可靠预测模型的AI表。

所有这一切都没有学习如何在Python中编码此类模型的麻烦,或者在以后阶段处理依赖项或维护它们。使用MindSDB,您可以使用简单的类似SQL的语句并在单击中获得准确的预测。

在本教程中,我们将学习如何使用MindSDB预测特斯拉的股价。您可以从本教程中使用here下载所需的数据集。

将数据导入MindSDB云

我们将使用MindSDB云来完成本教程。确保您遵循以下所有步骤以完成培训预测模型。

步骤1: Log in to MindSDB帐户带有您的凭据。您也可以使用一个新帐户的sign up,它是绝对免费的。

MindsDB Sign Up

步骤2:签名后,MindSDB云控制台就会打开。现在,从右上角单击Add data按钮。这应该打开Select your datasource页。

Add Data

步骤3:现在从顶部选项卡而不是Databases中选择Files,然后击中Import File部分。

Import File

步骤4:现在浏览并打开我们刚刚下载的.CSV文件,在Table Name字段中提供表格的名称,然后按Save and Continue按钮创建它。

Import File

步骤5:创建表后,控件将我们带回MindSDB云控制台。您现在可以在查询编辑器中找到两个简单的查询。让我们一个人执行它们以确认数据导入是否成功。

SHOW TABLES FROM files;

找到我们在返回表名的列表中创建的表的名称。

Show tables

SELECT * FROM files.Tesla LIMIT 10;

这应该从表Tesla返回10个数据记录。

Table Records

这确认我们有正确的数据记录,现在我们可以继续进入本教程的下一部分。

创建预测模型

使用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)

查询应返回成功的状态。

Create Predictor

步骤2:模型可能需要一些时间才能准备好。同时,我们可以使用下面的命令检查其状态。

SELECT status
FROM mindsdb.predictors
WHERE name = 'tesla_predictor';

如果状态为complete,则该模型已准备就绪。但是,如果状态为generatingtraining,请等待一段时间,直到获得complete的状态。

Predictor Status

注意:这种预测指标是一个高级的预测指标,因为我们将使用它来根据数据集中拥有的历史数据来预测未来的结果值。这种预测属于时间剧类别。

了解预测指标模型

现在准备好预测器模型,让我们首先了解引擎盖下的内容。因此,MindSDB为我们提供了三种描述我们模型以检索进一步见解的方法。

  • 通过功能
  • 模型
  • 模型合奏

通过功能

如果您有兴趣找出每个列为模型或在其上使用的编码器服务的角色,则可以尝试根据IT功能来描述预测变量。

DESCRIBE mindsdb.tesla_predictor.features;

Model Features

按模型

,如果您想找出在培训期间使用的基础候选模型以及最终为预测变量选择的基础候选模型,则可以选择通过模型来描述它。选定的候选人将在其selected列中具有值1

DESCRIBE mindsdb.tesla_predictor.model;

Predictor Model

通过模型合奏

如果您有兴趣进一步潜水并了解如何选择候选模型,那么您可以尝试通过合奏来描述预测变量。这将返回一个带有所有参数的JSON结果,这些参数有助于确定可用模型的最佳候选模型。

DESCRIBE mindsdb.tesla_predictor.ensemble;

Model 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结束,这是结果表中的最后一个预测日期。

Result

注意:您可以通过简单地将HORIZON的价值增加到60天以上来预测未来日期的值。为了提高准确性,您还可以选择将WINDOW的价值增加到120天以上。

结论

我们现在已经到达本教程的结尾。让我们总结以下列表上面所做的所有任务。

  • 我们创建了一个MindSDB云帐户。
  • 我们将数据集导入MindSDB云。
  • 我们创建并培训了时间工程预测的预测模型。
  • 我们使用描述获得了有关模型的见解。
  • 我们预测了未来日期的特斯拉股价。

现在,是时候让所有人创建自己的模型并尝试预测一些有趣的值了。如果您需要一些建议,那么我很想放弃一些想法,例如Bitcoin Value PredictionEthereum Value PredictionGold Price Prediction等。要创造性,训练一些时髦的东西并与社区分享。

最后,在您关闭此页面之前,如果您喜欢本教程,请不要忘记丢弃LIKE,也让我知道您是否有任何反馈。您还可以建议您想了解MindSDB的特定内容,我也会尝试掩盖它。

MindsDB Sponsor

Sponsorship Badge