machine-learning - 随机森林火车/测试意义
问题描述
我有以下内容:
rf = RandomForestClassifier(n_estimators=500, criterion='entropy', random_state=42)
rf.fit(X_train, y_train)
由此,我得到:
- 1.0 训练集准确率
- 0.6990116801437556 在测试集上的准确率
由于我们没有设置max_depth
,因此这些树似乎对训练数据过度拟合。
我的问题是:这告诉我们关于训练数据的什么信息?它具有合理的准确性这一事实是否意味着测试数据与训练数据非常相似,这是我们获得如此准确性的唯一原因?
解决方案
由于您没有指定树的 max_depth,它会一直增长,直到您拥有所有纯节点。因此,在训练集上过度拟合和纠正/预期具有 100%(或者如果节点的最小样本数不太大,则相当高)的准确性是很自然的。这个事实对训练集不是很有洞察力。
您在测试集上具有“如此好的”准确性这一事实确实可以指出训练/测试集分布的相似性(如果它们来自同一现象,则可以预期这一点)并且树具有一定程度的泛化性。
作为一般规则,我会说从单个结果推断结论以及训练集过度拟合时是错误的。此外,考虑到 0.69 的准确度,“良好”的准确度与手头的问题有关。在许多应用程序中,训练集和测试集之间 30% 的差异可能是一个巨大的差距。
为了更好地理解您的问题和更可靠的结果,最好使用交叉验证方法和随机森林。
推荐阅读
- javascript - 获取 blob javascript 的进度
- javascript - Javascript if 语句未设置 ELSE 的值
- eclipse - 如何防止 HTTP localhost 预览问题?
- python - 如何使用 Python 将每日数据转换为每周、每月和每季度
- python - IndexError:在Python中追加到列表时列表索引超出范围
- sqlalchemy - 为特定行更新 SQL 中的记录
- python - AttributeError:“QuantumCircuit”对象没有属性“config”
- keycloak - 管理 keycloak 资源
- angular - 使用 ngFor 和角顶点图的多个图表
- date - Power BI:在 DAX 中按 YearMonth 排序数据