在我的预测开始时,我有5个变量(预测变量=数据类型数值)和一个目标变量(具有6个级别的飞利浦=数据类型因子)。预测正常,树的大小约为35,但结果(准确性)不够好。因此,我尝试将目标的6个级别降低到2个级别(大括号= 1,小括号= 2)。但是,当我尝试预测那些2时,C5.0根本无法预测,并且树的大小为=1。这就像他忽略了5个预测变量一样。我做了如下预测。
1. Changing the 6 levels to 2 (orignal dataframe):
cdf$Philips[cdf$Philips == 2] <- 1
cdf$Philips[cdf$Philips == 3] <- 1
cdf$Philips[cdf$Philips == 4] <- 6
cdf$Philips[cdf$Philips == 5] <- 6
还原到2级过程中是否有错误? 在下一步中,我创建了一个仅包含5个预测变量和目标变量(Philips)的新数据框训练数据框(train)。我还检查了它的结构,以查看每一列是否具有正确的数据类型。
data.frame': 139 obs. of 6 variables:
BFI_Extraversion : num 1.38 2.25 4.12 3.5 4.12 ...
BFI_Agreeableness : num 3.78 3.89 4.33 3.33 4.22 ...
BFI_Conscientiousness: num 4.11 4.22 4.56 3.67 4.22 ...
BFI_Neuroticism : num 2.57 2.71 2.14 2.86 1.57 ...
BFI_Openness : num 1.89 3.67 3.89 3.56 4.11 ...
Philips : Factor w/ 2 levels "1","6": 1 1 2 2 2 2 1 1 2 2 ...
在最后一步中,我建立了这样的预测模型,并查看了该模型的摘要:
C50ModelPhilips <- C5.0(train[,1:5], train$Philips)
summary(C50ModelPhilips)
摘要:
Decision Tree
----------------
Size Errors
1 65(46.8%) <<
(a) (b) <-classified as
---- ----
65 (a): class 1
74 (b): class 6
谢谢您的帮助!