无法在 predict.rpart 中设置类型 = "class"

can't set type = "class" in predict.rpart

我正在尝试对我的数据集使用决策树分类,它包含 2 个特征和 1 个因变量,如下所示: 购买年龄工资(Y/N)

26 43000 0

17 57000 0

19 76000 0

27 58000 0

27 84000 0

32 150000 1

25 33000 0

如果我用

classifier = rpart(formula = Purchased ~ ., data = training_set)

我得到这样的结果

2 4 5 9
0.03296703 0.03296703 0.03296703 0.03296703

我需要的不是概率而是最有可能的结果。但是当我使用

y_pred = predict(classifier, newdata = test_set[-3], type = 'class')

我明白了

Error in predict.rpart(classifier, newdata = test_set[-3], type = "class") : Invalid prediction for "rpart" object

你能帮我吗?

得到解决方案。我应该将因变量编码为一个因素:

dataset$Purchased = factor(dataset$Purchased, levels = c(0, 1))

添加此行后一切正常。