随机森林训练/测试含义

时间:2018-11-06 19:19:20

标签: machine-learning scikit-learn

我有以下内容:

rf = RandomForestClassifier(n_estimators=500, criterion='entropy', random_state=42)
rf.fit(X_train, y_train)

由此,我得到:

  • 1.0训练集的准确性
  • 测试集上的精度为0.6990116801437556

由于我们未设置max_depth,因此似乎树已过度拟合训练数据。

我的问题是:这对培训数据有什么启示?它具有合理的准确性是否意味着测试数据与训练数据非常相似,这是我们获得如此准确性的唯一原因吗?

1 个答案:

答案 0 :(得分:0)

由于未指定树的max_depth,因此它会一直增长,直到您拥有所有纯节点为止。因此,过拟合和校正/期望在训练集上具有100%(如果节点的样本的min_number不太大,则为较高)是很自然的。 这个事实对训练集并不十分有见识。

您在测试集上具有“非常好的”准确性的事实确实可以指出训练/测试集的分布相似(如果从同一现象中得出,则期望一点)并且该树具有一定程度的泛化性。

作为一般规则,我会说从单个结果和训练集过度拟合中得出结论是错误的。另外,考虑到0.69精度,“好”精度与当前的问题有关。在许多应用中,训练集和测试集之间30%的差异可能是巨大的差距。

为了更好地了解您的问题并获得更可靠的结果,最好使用交叉验证方法和随机森林。