【问题标题】:How to apply machine learning to a csv file to predict future values如何将机器学习应用于 csv 文件以预测未来值
【发布时间】:2023-01-02 23:49:55
【问题描述】:

我对 ML 很好奇,我想知道你们中的一些人是否可以帮助我入门。 ii 有一个像这样的 csv 格式的数据集:

|日期 |第一 |第二 |第三 | | 2022-12-30 | 5402 | 8694 | 8648 | | 2022-12-29 | 3804 | 8529 | 6690 | | 2022-12-28 | 3192 | 2779 |第2166章

我想预测未来时间的第一个、第二个和第三个值。 2022-12-31。 什么样的算法适合做这个工作? 我必须如何在我的 jupyter notebook 中实现它? 这个问题的任何例子和/或参考都会对我很有帮助。 这是为了预测 4 位数的彩票游戏。

我让熊猫读取我的 csv 文件并将其设置为名为“dataset”的变量

import pandas as pd
import numpy as np
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split

dataset=pd.read_csv("C:/Users/Administrator/Desktop/data.csv")

dataset['Date'] = pd.to_datetime(dataset.Date)


【问题讨论】:

  • 我认为这个问题对于 SO 来说是广泛的,并且可能会被关闭。然而,我的建议是从绘制数字与时间的关系开始,看看它们是什么样子的。不同的 ML 算法通常适用于不同类型的问题,要知道您需要什么类型的算法,我们需要知道它是什么类型的数据。很吵吗?它看起来是线性的吗?它看起来完全随机吗?

标签: pandas datetime machine-learning scikit-learn predict


【解决方案1】:

在这里,您要预测随机中奖号码的趋势,因此线性回归将是这种情况的理想选择

【讨论】:

    【解决方案2】:

    一种流行的时间序列预测方法是 ARIMA(自回归积分移动平均)模型。您可以使用 Python 中的 statsmodels 库在 Jupyter notebook 中实现 ARIMA 模型。

    下面是一个示例,说明如何使用 statsmodels 库将 ARIMA 模型拟合到时间序列数据并进行预测:

    import pandas as pd
    import statsmodels.api as sm
    
    # Load the DataFrame
    df = pd.read_csv("data.csv")
    
    # Set the Date column as the index
    df.set_index('Date', inplace=True)
    
    # Fit the ARIMA model
    model = sm.tsa.ARIMA(df, order=(1,1,1)).fit()
    
    # Make predictions
    predictions = model.predict(start='2022-12-31', end='2022-12-31', dynamic=True)
    print(predictions)
    
    

    此代码将使 ARIMA 模型适合您的时间序列数据,并对“第一”、“第二”和“第三”列的值进行预测

    您可以在 statsmodels documentation 中找到有关时间序列预测和 ARIMA 模型的更多信息

    【讨论】:

      猜你喜欢
      • 2018-02-04
      • 2018-04-14
      • 2020-12-12
      • 1970-01-01
      • 1970-01-01
      • 2019-09-23
      • 1970-01-01
      • 2020-03-16
      • 1970-01-01
      相关资源
      最近更新 更多