当前位置: 首页 > 知识库问答 >
问题:

训练和交叉验证模型时效果良好,但测试数据集显示效果不佳

井翰
2023-03-14

我的问题是,我得到了一个结果非常好的模型(训练和交叉验证),但当我再次测试它(使用不同的数据集)时,会出现糟糕的结果。

我得到了一个经过训练和交叉验证测试的模型。模型显示AUC=0.933、TPR=0.90和FPR=0.04

我猜看图片时没有过度拟合,对应于学习曲线(错误)、学习曲线(分数)和偏差曲线:

问题是,当我用不同的测试数据集测试这个模型时,我得到的结果很差,与我的previus结果AUC=0.52、TPR=0.165和FPR=0.105无关

我使用梯度推进分类器来训练我的模型,学习率=0.01,最大深度=12,最大特征=auto,最小样本=3,n估计=750

我用斯穆特来平衡全班。它是二元模型。我将我的分类属性矢量化。我用75%的数据集进行训练,25%进行tot测试。我的模型训练误差很小,测试误差也很小,所以我想它并没有过度拟合。训练误差非常小,因此训练和cv测试数据集中没有异常值。从现在起我能做些什么来发现问题?谢谢

共有1个答案

柳奇希
2023-03-14

如果生成数据集的过程是非平稳的,则可能导致您描述的行为。在这种情况下,用于测试的数据集的分布没有用于培训

 类似资料:
  • *种子为重复性设置为123,我运行的是3.63 R。

  • 问题内容: 将NumPy数组随机分为训练和测试/验证数据集的好方法是什么?与Matlab中的或函数类似。 问题答案: 如果要将数据集分成两半,可以使用,或者需要跟踪索引: 要么 有多种方法可以重复分区同一数据集以进行交叉验证。一种策略是从数据集中重复采样: 最后,sklearn包含几种交叉验证方法(k折,nave -n-out等)。它还包括更高级的“分层抽样”方法,这些方法创建了针对某些功能平衡的

  • 我有一个3D模型展示的需求,单独做的时候效果是这样的: 但是当我把代码迁移到平台上时,模型预览的效果变成了这样: 整体比较发暗且丢失了模型的一些细节(保证两次导入的文件数据是一样的,仅仅是迁移了代码) 求解决方法 模型代码如下所示:

  • 为了评估我们的监督模型的泛化能力,我们可以将数据分成训练和测试集: from sklearn.datasets import load_iris iris = load_iris() X, y = iris.data, iris.target 考虑如何正常执行机器学习,训练/测试分割的想法是有道理的。真实世界系统根据他们拥有的数据进行训练,当其他数据进入时(来自客户,传感器或其他来源),经过训

  • 本文向大家介绍scikit-learn 使用交叉验证训练分类器,包括了scikit-learn 使用交叉验证训练分类器的使用技巧和注意事项,需要的朋友参考一下 示例 使用虹膜数据集: 数据分为训练集和测试集。要做到这一点,我们使用train_test_split效用函数来分割双方X和y(数据和目标矢量)用随机选择train_size=0.75(训练集包含数据的75%)。 训练数据集被输入到k最近邻

  • 训练效益为您提供每次训练效果的文字反馈信息,帮您更好地了解训练的有效性。您可以在 Flow 应用程式与 Flow 网络服务上查看反馈信息。要获得反馈信息,您需要在心率区中一共至少训练 10 分钟。 训练效益反馈信息是基于心率区。它反映了您在每个心率区花费的时间与消耗的卡路里数。 下表列出了不同训练效益选项的描述。 评估信息 效益 Maximum training+(最强训练+) 非常棒的训练!您的