R 中的分类树限制为 32 级
Classification tree in R limit to 32 levels
我正在尝试使用包树在 R 中创建分类树。
这是我正在使用的数据集的摘录(包括header):
CENTRO_EXAMEN,NOMBRE_AUTOESCUELA,MES,TIPO_EXAMEN,NOMBRE_PERMISO,PROB
Alcal· de Henares,17APTOV,5,PRUEBA DESTREZA,A2 ,0
Alcal· de Henares,17APTOV,5,PRUEBA CONDUCCION Y CIRCULACION,B ,0.8
Alcal· de Henares,17APTOV,5,PRUEBA TEORICA,B ,0.333333333
Alcal· de Henares,2000,5,PRUEBA TEORICA,B ,0
这是我向 R 发出的命令:
madrid=read.csv("madrid.csv",header=T,na.strings="?")
#madrid=na.omit(madrid)
names(madrid)
dim(madrid)
fix(madrid)
library(tree)
attach(madrid)
#costruisce albero
High=ifelse(PROB<=0.5,"No","Yes")
madrid=data.frame(madrid,High)
tree.madrid=tree(High~CENTRO_EXAMEN+NOMBRE_AUTOESCUELA+MES+TIPO_EXAMEN+NOMBRE_PERMISO,madrid)
summary(tree.madrid)
plot(tree.madrid)
text(tree.madrid,pretty=0)
tree.madrid
R returns发出后出现如下错误tree.madrid
Error in tree(High ~ CENTRO_EXAMEN + NOMBRE_AUTOESCUELA + MES + TIPO_EXAMEN + :
factor predictors must have at most 32 levels
知道为什么吗?
基本上,在数据中创建如此多的拆分在计算上变得非常昂贵,因为您要从所有 2^32(大约)个可能的拆分中选择最佳拆分。
如果您能够使用随机森林,Ben 的评论 here 建议 randomForest
现在可以处理多达 53 个级别。如果您出于某种原因不能使用随机森林,您可以考虑折叠分类预测变量的级别。
我正在尝试使用包树在 R 中创建分类树。
这是我正在使用的数据集的摘录(包括header):
CENTRO_EXAMEN,NOMBRE_AUTOESCUELA,MES,TIPO_EXAMEN,NOMBRE_PERMISO,PROB
Alcal· de Henares,17APTOV,5,PRUEBA DESTREZA,A2 ,0
Alcal· de Henares,17APTOV,5,PRUEBA CONDUCCION Y CIRCULACION,B ,0.8
Alcal· de Henares,17APTOV,5,PRUEBA TEORICA,B ,0.333333333
Alcal· de Henares,2000,5,PRUEBA TEORICA,B ,0
这是我向 R 发出的命令:
madrid=read.csv("madrid.csv",header=T,na.strings="?")
#madrid=na.omit(madrid)
names(madrid)
dim(madrid)
fix(madrid)
library(tree)
attach(madrid)
#costruisce albero
High=ifelse(PROB<=0.5,"No","Yes")
madrid=data.frame(madrid,High)
tree.madrid=tree(High~CENTRO_EXAMEN+NOMBRE_AUTOESCUELA+MES+TIPO_EXAMEN+NOMBRE_PERMISO,madrid)
summary(tree.madrid)
plot(tree.madrid)
text(tree.madrid,pretty=0)
tree.madrid
R returns发出后出现如下错误tree.madrid
Error in tree(High ~ CENTRO_EXAMEN + NOMBRE_AUTOESCUELA + MES + TIPO_EXAMEN + :
factor predictors must have at most 32 levels
知道为什么吗?
基本上,在数据中创建如此多的拆分在计算上变得非常昂贵,因为您要从所有 2^32(大约)个可能的拆分中选择最佳拆分。
如果您能够使用随机森林,Ben 的评论 here 建议 randomForest
现在可以处理多达 53 个级别。如果您出于某种原因不能使用随机森林,您可以考虑折叠分类预测变量的级别。