我尝试在数据集上拟合随机森林。花了几个小时,但最终安装。使用的命令是: model< - train(classe~。,data = training,method =“rf”,prox = F)
模型报告如下:
#随机森林
13737个样本 52个预测因子 5个班级:'A','B','C','D','E'
无需预处理 重新采样:自举(25次重复)
样本量摘要:13737,13737,13737,13737,13737,13737,......
跨调整参数重新取样结果:
mtry Accuracy Kappa Accuracy SD Kappa SD
2 0.9888012 0.9858367 0.001844763 0.002329859
27 0.9882821 0.9851812 0.001874991 0.002365894
52 0.9820495 0.9773000 0.003680805 0.004649905
准确度用于使用最大值选择最佳模型。 用于模型的最终值是mtry = 2.
#当我对训练数据进行预测时,我得到了100%的准确度。
预测< - 预测(模型,培训)
表(预测,培训$ classe)
预测A B C D E
A 3906 0 0 0 0
B 0 2658 0 0 0
C 0 0 2396 0 0
D 0 0 0 2252 0
E 0 0 0 0 2525
我预计模特报告它会达到98.9%。
我错过了什么?
谢谢和问候,
答案 0 :(得分:0)
此问题的答案相同:https://stackoverflow.com/a/51690010/9684157
您可以将这些值分别解释为样本内的准确度,而无需重新采样。
当您拟合模型时,包插入符会执行25次重复的自举重采样,这可以在模型输出中看到。因此,精度值基于25 x 13737观测值。为了创建混淆矩阵,您使用的是最终模型(mtry = 2的模型)来预测训练样本的结果,该样本的长度为13737。因此,在相应样本中略有差异是正常的准确性。
在评估拟合优度时,您需要小心,因为您正在使用同一数据集训练和评估模型。毫不奇怪,您可以获得很高的准确性。最好使用看不见的数据集评估最终模型,以确保其性能并发现可能的过度拟合问题。