R 分层抽样分解决策树学习的数据框架
我想使用分层抽样创建一个培训和测试样本集。我试着四处看看,但是我找到的所有包都返回一个数据帧而不是一个表达式。我用来构建树的树包要求子集作为表达式给出 示例代码:R 分层抽样分解决策树学习的数据框架,r,dplyr,decision-tree,R,Dplyr,Decision Tree,我想使用分层抽样创建一个培训和测试样本集。我试着四处看看,但是我找到的所有包都返回一个数据帧而不是一个表达式。我用来构建树的树包要求子集作为表达式给出 示例代码: library(tree) library(ISLR) library(dplyr) Carseats <- Carseats %>% mutate(High = factor(ifelse(Sales <= 8, "No", "Yes"))) set.seed(2) train_sample <- sam
library(tree)
library(ISLR)
library(dplyr)
Carseats <- Carseats %>% mutate(High = factor(ifelse(Sales <= 8, "No", "Yes")))
set.seed(2)
train_sample <- sample(nrow(Carseats), nrow(Carseats) * 0.7)
carseats_test <- Carseats[-train_sample,]
tree.carseats <- tree(High~ . -Sales, Carseats, subset = train_sample)
库(树)
图书馆(ISLR)
图书馆(dplyr)
车座百分比变异(高=系数)(如果其他(销售您可以:
library(tree)
library(ISLR)
library(dplyr)
Carseats <- Carseats %>% mutate(High = factor(ifelse(Sales <= 8, "No", "Yes")))
mean(Carseats$High == "Yes")
[1] 0.41
train_sample <- Carseats %>%
tibble::rownames_to_column() %>%
group_by(High) %>%
sample_n(0.7*n()) %>%
mutate(rowname = as.numeric(rowname)) %>%
pull(rowname)
carseats_test <- Carseats[-train_sample,]
mean(carseats_test$High == "Yes")
[1] 0.4132231
tree.carseats <- tree(High~ . -Sales, Carseats, subset = train_sample)
库(树)
图书馆(ISLR)
图书馆(dplyr)
车座百分比变化(高=系数)(如果其他(销售%)
组别(高)%>%
样本n(0.7*n())%>%
变异(rowname=as.numeric(rowname))%>%
拉动(行名称)
您可以执行以下操作:
library(tree)
library(ISLR)
library(dplyr)
Carseats <- Carseats %>% mutate(High = factor(ifelse(Sales <= 8, "No", "Yes")))
mean(Carseats$High == "Yes")
[1] 0.41
train_sample <- Carseats %>%
tibble::rownames_to_column() %>%
group_by(High) %>%
sample_n(0.7*n()) %>%
mutate(rowname = as.numeric(rowname)) %>%
pull(rowname)
carseats_test <- Carseats[-train_sample,]
mean(carseats_test$High == "Yes")
[1] 0.4132231
tree.carseats <- tree(High~ . -Sales, Carseats, subset = train_sample)
库(树)
图书馆(ISLR)
图书馆(dplyr)
车座百分比变化(高=系数)(如果其他(销售%)
组别(高)%>%
样本n(0.7*n())%>%
变异(rowname=as.numeric(rowname))%>%
拉动(行名称)
Caru测试正如我试图描述的,tree()函数不接受数据帧作为输入。这对我来说似乎是一个数据帧。确定。然后添加一个行名。正如我试图描述的,tree()函数不接受数据帧作为输入。这对我来说似乎是一个数据帧。确定。然后添加一个行名即可。