【发布时间】:2019-01-04 15:10:55
【问题描述】:
我正在尝试通过 GridSearchCV 评估回归器的性能。在我的实现中,cv 是一个 int,所以我应用了 K-fold 验证方法。看着cv_results_['mean_test_score'],
k-fold unseen data 的最佳平均分数约为 0.7,而 train 分数要高得多,例如 0.999。这很正常,我可以接受。
好吧,按照这个概念背后的推理,当我将best_estimator_ 应用于整个数据集时,我希望看到至少部分数据预测得不完美,对吧?相反,对于所有数据点,预测量和实际值之间的数值偏差几乎为零。这有过拟合的味道。
我不明白,因为如果我删除一小部分数据并将 GridSearchCV 应用于其余部分,我会发现与上述几乎相同的结果,但应用于完全看不见的数据的最佳回归器预测值要高得多错误,例如 10%、30% 或 50%。这是我所期望的,至少在某些方面,根据 k-fold 测试集的结果将 GridSearchCV 拟合到整个集合上。
现在,我知道这会强制预测器查看所有数据点,但最好的估计器是 k 次拟合的结果,它们中的每一个都没有看到 1/k 部分的数据。作为 mean_test_score 这些 k 分数之间的平均值,我希望看到一堆预测(取决于 cv 值),这些预测显示错误分布在平均错误周围,证明 0.7 分数是合理的。
【问题讨论】:
标签: python-3.x scikit-learn grid-search