python-拆分数据集以获得高性能精度的最佳技术

我已经应用了这四种方法:

  1. 训练和测试集。
  2. K折交叉验证。
  3. 留出一个十字架
  4. 验证。重复随机测试训练拆分。

“训练和测试集”方法可以达到较高的精度,而其余方法可以达到相同的精度,但要比第一种方法低。

我想知道应该选择哪种方法?

python-拆分数据集以获得高性能精度的最佳技术

sgj00123 回答:python-拆分数据集以获得高性能精度的最佳技术

在某些情况下使用训练集和测试集交叉验证,如果要比较不同的模型,请使用交叉验证。如果您使用更大的训练数据,则总会增加,这就是为什么有时留出一个交叉的效果要优于 K折交叉验证的原因,这取决于您的数据集大小,有时取决于您使用的算法另一方面,如果您不比较不同的模型,并且如果运行交叉验证的时间要求不值得,则通常使用训练和测试集,这意味着不需要交叉验证。在大多数情况下,首选交叉验证,但是,您应该选择哪种方法?这通常取决于您在训练数据时的选择方式,例如处理数据和算法的方式,例如您正在使用 Random Forests 训练数据,通常不需要进行交叉验证,但是您可以并在需要更多操作的情况下使用Out of Bag estimate 时通常不进行 Random Forests 中的交叉验证的情况。

,

训练模型包括调整模型精度以及模型概括。如果模型不通用,则可能是欠拟合过度拟合模型。

在这种情况下,模型可能在训练数据上表现更好,但准确性可能会在测试或未知数据上降低。

我们使用训练数据来提高模型的准确性。随着训练数据大小的增加,模型的准确性也可能增加。

同样,我们使用不同的训练样本来概括模型。 因此, Train-Test 拆分方法取决于可用数据的大小和用于模型设计的算法。

第一个 train-test 方法具有固定大小的培训和测试数据。因此,在每次迭代中,我们使用相同的训练数据训练模型,并使用相同的测试数据进行模型的准确性评估。

第二种 k-fold 方法具有固定大小的训练和测试数据,但是在每次迭代中,测试和训练数据都会发生变化。因此,与数据大小无关,这可能是一种更好的方法。

留出一个 方法仅在数据量较小时才有用。在这里,我们将几乎所有数据用于培训目的。因此模型的训练精度会更好,但可能不是通用模型。

随机训练测试 方法也是一种训练和测试模型性能的好方法。在这里,我们每次随机选择训练和测试数据。因此,如果数据量较小,它可能比 留出一个 方法更好。

最后,每种拆分方法都各有利弊。因此,这取决于您哪种拆分方法适合您的模型。它还取决于数据大小,数据选择意味着我们在拆分时如何从样本中选择数据。

本文链接:https://www.f2er.com/3085773.html

大家都在问