gpt4 book ai didi

machine-learning - 训练测试拆分后不平衡数据的欠采样

转载 作者:行者123 更新时间:2023-12-04 15:27:35 26 4
gpt4 key购买 nike

我是机器学习的新手,目前正在处理一个数据不平衡的项目。
我想使用随机欠采样来平衡数据。
我很困惑,如果我应该在测试火车拆分后进行欠采样,还是应该先进行欠采样,然后再进行火车测试拆分?

我的方法:
1.我使用train test split得到:X_train, y_train for training and X_test and y_test for testing.
2. 我将 X_train 和 y_train 组合成一个数据集并进行欠采样。
3. 欠采样后,我根据 F1 分数进行交叉验证和模型选择,并使用 X_test.,Y_test 进行预测。

我的方法正确吗?
如果我错了,请纠正我。

最佳答案

让我们来看看你的方法:

I used train test split to get : X_train, y_train for training and X_test and y_test for testing. I combined X_train and y_train into one data set and did the undersampling.



这是正确的。应应用任何重采样技术 只有在火车上。这将确保测试集反射(reflect)现实。在这样的测试集上获得的模型性能将很好地估计您的模型的泛化能力。如果对整个数据集执行重采样,您的模型的性能将过于乐观。

After undersampling, i performed Cross validation and model selection based on F1



如果没有代码,很难理解到底做了什么,但您似乎已经在 上完成了交叉验证。已经重新采样的火车数据。这是错误的,在交叉验证期间,应该在每个测试折叠上进行欠采样。让我们考虑一下 3-fold CV 应该怎么做:
  • 火车集分为 3 折。 2 折用于训练,1 折用于测试。
  • 您在这 2 折上应用重采样,训练您的模型,然后估计未触及的 1 折的性能。
  • 重复步骤 1-2,直到每个折叠都用作测试集。

  • 因此,你应该做的是:
    1. 在训练和测试上拆分数据。
    2. 在您的火车组上执行简历。仅在测试折叠上应用欠采样。
    3. 在 CV 的帮助下选择模型后,对训练集进行欠采样并训练分类器。
    4. 在未触及的测试集上估计性能。

    关于machine-learning - 训练测试拆分后不平衡数据的欠采样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61959422/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com