r - 拟合分类树并使用测试集
问题描述
library(tree)
library(ISLR)
data("Carseats")
High<-ifelse(Carseats$Sales<=8,'No','Yes')
Carseats<-data.frame(Carseats,High)
tree.Carseats<-tree(as.factor(High)~.-Sales, data = Carseats)
summary(tree.Carseats)
plot(tree.Carseats)
text(tree.Carseats,pretty=0)
set.seed(1)
train=sample(1:nrow(Carseats),200)
我写信是为了询问代码train=sample(1:nrow(Carseats),200)
。
这段代码的结果只是显示了数据,我不能用它View(train)
来查看数据集。
IMO,我认为对于sample
,我们将选择数据集的行data(Carseats)
,每个元素都应包含一些标签,例如销售,收入......
也许我对背后的理论思想感到困惑。
解决方案
那train=...
行代码只是创建了一个包含 200 个随机数(介于 1 和 之间nrow(Carseats)
)的整数向量。您实际上需要对数据进行子集化。像这样的东西:
train_index <- sample(nrow(Carseats), 200)
training_data <- Carseats[train_index, ]
然后你会希望你的测试数据有剩余的观察结果,例如,
test_data <- Carseats[-train_index, ]
推荐阅读
- scheme - 为什么当我尝试标记化时,Racket 的吹牛给我一个解析错误?
- python - Spark - 地图功能是否可用于 Dataframe 或仅适用于 RDD?
- c++ - 如何禁用 Xcode C++ 编译器扩展?
- xpath - Google 表格中的 XPath 生成 #N/A
- python-3.x - TypeError: '<' in put items into priority queue
- xcode - Xcode 11 不会打开新的编辑器窗格
- html - 如何隐藏 Angular 中其他页面的登录和注册链接
- java - 如何消除 util 类上 2 个不同类的重复项
- json - 通过 Streamer 获取 Twitch VOD ID 列表
- android - 如何更改 Android 中各个片段的 ActionBar 颜色?