You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用rpart构建决策树预测时遇“object Rm not found”错误求助

解决决策树预测时的"object not found"错误

我来帮你拆解下问题根源,你其实误解了predict()函数的输入逻辑:

错误原因

你训练的决策树模型classifier是基于公式Medv ~ Rm + Lstat构建的,这意味着模型必须依赖**Rm和Lstat这两个特征变量**才能生成预测结果。但你调用predict()时传入的是test_set[3](也就是目标列Medv),这时候模型找不到它需要的输入特征,自然会抛出"object not found"的错误。

你想要预测的是test_set里的Medv值,但正确逻辑应该是:给模型传入test_set中的特征列(Rm和Lstat),让模型根据这些特征去推算对应的Medv,而不是反过来传入目标列。

修正后的代码

把预测部分的代码改成以下任意一种形式即可:

方式1:明确指定特征列

# 传入测试集的Rm和Lstat列,让模型预测对应的Medv
y_pred = predict(classifier, newdata = test_set[, c("Rm", "Lstat")])

方式2:排除目标列快速获取特征

# 直接排除第三列(Medv),剩下的就是模型需要的特征
y_pred = predict(classifier, newdata = test_set[-3])

额外注意事项

  • 如果你的Medv是连续数值(比如房价这类回归任务),不需要加type='class'参数——这个参数是给分类任务(目标为类别变量)用的。如果确实是分类任务,记得先把Medv转为因子类型:train_set$Medv <- factor(train_set$Medv)。
  • 可以用head(test_set)再确认下数据集列名是否正确,确保Rm、Lstat、Medv三个列名无误。

内容的提问来源于stack exchange,提问作者A-nak Wannapaschaiyong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:54:28