2014-08-22 2 views
0

В следующей команде «Default_On_Payment» есть категориальная переменная, и в результате дерево должно быть деревом классификации. Но после построения дерева, когда я делаю обобщение, он показывает дерево регрессии, хотя я упомянул метод как «класс».Дерево классификации зданий

Не могли бы вы объяснить необычное явление.

predict_model<-tree(Default_On_Payment~Credit_History+Purposre_Credit_Taken+Property,data=tree_model,method="class") 
> summary(predict_model) 

Regression tree: 
tree(formula = Default_On_Payment ~ Credit_History + Purposre_Credit_Taken + 
    Property, data = tree_model, method = "class") 
Number of terminal nodes: 5 
Residual mean deviance: 0.1916 = 957.1/4995 
Distribution of residuals: 
    Min. 1st Qu. Median Mean 3rd Qu. Max. 
-0.5955 -0.3069 -0.1706 0.0000 0.4045 0.8294 

ответ

0

Если это функция tree из пакета tree то параметр method не для указания, какой из классификации и регрессии должна быть выполнена, а скорее выбирать между "recursive.partition" и "model.frame". См. ?tree.

Вы получите дерево классификации, если ответ является фактором. Убедитесь, что это так, и проблема, вероятно, будет исправлена.

+0

Спасибо за ваш быстрый ответ, но, как объяснялось, моя переменная ответа - «Default_On_Payment», которая является категорной переменной (фактором) .., но все же после запуска команды tree показывает дерево регрессии. –

+0

Если 'is.factor (Default_On_Payment)' возвращает 'TRUE', то' tree' будет строить дерево классификации. Возможно ли, что даже если вы намерены категоризировать его, он все еще имеет числовой тип? Посмотрите на 'str (Default_On_Payment)', чтобы увидеть. – Chaconne

Смежные вопросы