【问题标题】:Is it possible to train data on 4 features and test on only using features?是否可以在 4 个特征上训练数据并仅使用特征进行测试?
【发布时间】:2020-06-03 04:41:39
【问题描述】:

我已经完成了四个特征的训练,包括月、日、小时和温度,它们预测了一些值,我想做的是根据月、小时和第二天的天来预测值,只是因为我没有知道第二天的温度(这将是未在训练中使用的看不见的数据),因此这使得仅使用 3 个特征对数据进行测试。 使用的分类器是 SVR。 我是机器学习的初学者。

您的回复将不胜感激

【问题讨论】:

    标签: machine-learning regression training-data train-test-split


    【解决方案1】:

    如果您要预测温度,那么月、日和小时是您的特征(x_train),温度是您的目标(y_train)。您应该使用监督学习中的特征和目标来训练您的模型。 [regressor.fit(x_train, y_train)]

    对于测试,您应该使用您的特征 (x_test),模型将预测目标 (y_predict),即第二天的温度。 [y_predict = regressor.predict(x_test)]。 因此,您使用相同数量的功能进行培训和测试。

    【讨论】:

    • 感谢您的回复。我正在使用 4 个特征来训练和预测一些值(目标变量名称),但在测试数据中我只想提供 3 个特征来预测一个值
    • 您应该使用与训练相同数量的特征进行测试。月、日和小时是您的特征,温度是您的目标。您使用特征和目标进行训练。在测试期间,您使用特征来预测目标。希望对您有所帮助。
    【解决方案2】:

    您的想法行不通,SVR 将接受 4 个功能的训练,而您无法使用 3 个功能运行它。如此简短的回答:没有

    更长的答案:如果您想预测该值,仅使用 3 个已知特征训练算法:月、日、小时(顺便说一句,这是一个特征:时间),您将不得不使用时间序列。

    【讨论】:

      【解决方案3】:

      这很明显,您的测试集/实际生产集中不会有因变量(在一般情况下部署之后)。 因此,在训练时,您可以将数据集分为训练和测试,例如: df_x = df[:-1](自变量) df_y = df[-1] (因变量,在你的情况下是温度) 现在您可以将其划分为训练和测试(用于 train_test_split 中的基本使用比率),并在训练集上进行训练并在测试集上进行预测。 参考:https://medium.com/@contactsunny/how-to-split-your-dataset-to-train-and-test-datasets-using-scikit-learn-e7cf6eb5e0d 希望这会有所帮助!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-03-18
        • 2021-03-30
        • 1970-01-01
        • 1970-01-01
        • 2021-09-21
        • 2020-02-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多