【问题标题】:Should I split the only dataset to a train and test or I can use whole of it for regression problem?我应该将唯一的数据集拆分为训练和测试,还是可以将整个数据集用于回归问题?
【发布时间】:2020-12-23 08:12:33
【问题描述】:

在 Kaggle 比赛中,我们有一个训练和测试数据集。因此,我们通常在训练数据集上开发一个模型,并使用算法看不到的测试数据集对其进行评估。我想知道如果只给我们一个数据集而没有任何测试数据集,那么验证回归问题的最佳方法是什么。我认为可能有两种方法:

  1. 第一步,导入数据集后,将其转换为训练和测试数据集,使用这种方法,直到最后一步,算法才能看到测试集。在进行预处理和特征工程之后,我们可以在训练数据集上使用交叉验证技术或使用 train-test-split 来改善我们模型的误差。最后,可以通过看不见的数据来检验模型的质量。

  2. 另外,我看到对于回归问题,一些数据科学家使用整个数据集进行测试和验证,我的意思是他们同时使用所有数据。

你能帮我看看哪种策略更好吗?特别是当招聘人员只给我们一个数据集并要求我们开发一个模型来预测目标变量时。

谢谢, 医学

【问题讨论】:

    标签: regression data-science train-test-split


    【解决方案1】:
    1. 将您的 One 数据集分为训练数据集测试数据集
    2. 在训练您的模型时,将您的训练数据集划分为训练、验证和测试,然后运行模型并检查准确性并保存模型。
    3. 导入保存模型并预测测试数据集

    【讨论】:

    • 谢谢丽娜。您对测试数据集的大小有任何想法吗?我的原始数据集有 1000 个数据点。
    • 您可以将训练数据集划分为 90%,将测试数据集划分为 10%。您还可以检查不同的比率,例如 90%-10%、80%-20%、70%-30%。然后检查模型的准确性。
    【解决方案2】:

    您必须将Data set 分成两部分:Trainingvalidation 数据集。

    然后将您的模型训练到training data set。在validation data set 上验证模型。您拥有的数据越多,您的模型就越适合。模型的质量检查可以通过较早拆分的验证数据集来完成。您还可以通过准确性和评分参数检查模型的质量。

    在检查模型的质量时,您可以创建自己的自定义数据集,该数据集类似于原始数据集的值。

    当在 Kaggle 上,比赛即将结束时,他们将发布模型结果排名的实际test data set

    原因是当你有更多的数据时,算法会有更多的特征标签对来训练和验证。这将提高模型的效率。

    问题中描述的方法2更好。

    另外,我看到对于回归问题,一些数据科学家使用 用于测试和验证的整个数据集,我的意思是他们使用所有数据 同时。

    方法一不是首选,因为在竞争平台中,您的模型必须表现得更好。因此,训练和验证数据较少会影响准确性。

    【讨论】:

    • 谢谢,Aagam,请告诉我您对验证数据集大小的建议吗?第一个数据集有大约 1000 条记录。
    • 大约 20% 用于验证,80% 用于培训。
    • 这真的取决于数据集和模型。没有答案是正确的
    猜你喜欢
    • 2018-07-21
    • 2019-05-01
    • 2019-04-22
    • 1970-01-01
    • 2019-12-15
    • 2021-06-03
    • 1970-01-01
    • 1970-01-01
    • 2019-12-11
    相关资源
    最近更新 更多