python - 如何在没有交叉验证的情况下检查机器学习的准确性

标签 python machine-learning scikit-learn neural-network random-forest

我有训练样本X_trainY_train来训练和X_estimated。 我的任务是让我的分类器尽可能准确地学习,然后通过 X_estimated 预测结果向量,以获得接近 Y_estimated 的结果(我现在已经有了,并且我必须尽可能精确)。如果我将训练数据分成 75/25 之类的比例来训练和测试它,我可以使用 sklearn.metrics.accuracy_score 和混淆矩阵获得准确性。但我丢失了 25% 的样本,这将使我的预测更加准确。

有什么办法,我可以通过使用 100% 的数据来学习,并且仍然能够看到准确度分数(或百分比),这样我就可以多次预测它,并保存最佳 (%) 结果? 我使用具有 500 个估计器的随机森林,通常可以获得 90% 的准确度。我想为我的任务尽可能保存最佳预测向量,而不分割任何数据(不浪费任何东西),但仍然能够通过多次尝试计算准确性(这样我可以保存最佳预测向量)(随机森林总是显示不同的结果)

谢谢

最佳答案

分割数据对于评估至关重要。 除非扩展数据集,否则不可能在 100% 的数据上训练模型并获得正确的评估精度。我的意思是,你可以改变你的训练/测试分割,或者尝试以其他方式优化你的模型,但我想你的问题的简单答案是否定的。

关于python - 如何在没有交叉验证的情况下检查机器学习的准确性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58964954/

相关文章:

python - 如何对一个简单的类进行单元测试?

python-3.x - 支持向量回归

python - 在 K 均值聚类中组织聚类

python - django 1.8.6 - ModuleNotFoundError : No module named 'django_smtp_ssl'

python - 不同操作系统导入模块的路径是否不同?

stream - 流数据的标准化方法

machine-learning - Liblinear 与 Pegasos

scikit-learn - sklearn随机森林未并行化

python - 在 scikit-learn 中,load_files 函数正在读取不需要的文本文件

python - TypeError: printName1() 采用 0 个位置参数,但给出了 1 个