【发布时间】:2019-05-24 18:37:40
【问题描述】:
我有这段代码(如下),需要使用 CARET 并将数据集拆分为数据集中所有数据的 40% 应该在训练集中,其余的在测试集中;付款变量应该在拆分中平均分配,但是混淆矩阵行的代码给出了一个错误,上面写着:
“错误:数据和参考应该是同一水平的因素。”
编辑:支付变量是二项式变量,因此 0(否)和 1(是)。国内生产总值只是数字
示例数据集:(现在还不知道如何在此处制作表格)
payment gdp
0 838493
1 9303032
0 72738
1 38300022
1 283283
如何解决这个问题?
我的代码:
`index <- createDataPartition(y = dataset$payment, p = 0.40, list = F)
trainset <- dataset[index, ]
testset <- dataset[-index, ]
payment_knn <- train(payment ~ gdp, method = "knn", data = trainset,
trControl = trainControl(method = 'cv', number = 5))
predicted_outcomes <- predict(payment_knn, testset)
conMX_pay <- confusionMatrix(predicted_outcomes, testset$payment)
conMX_pay `
【问题讨论】:
-
首先不要使用
matrix作为变量名。二、请使用dput(head(dataset,20))提供样本数据。 -
@NelsonGon 还不知道如何让它成为一张合适的桌子..
-
您提供的样本数据不够。您可以使用 CTRL+K 进行编辑以格式化您的数据和/或代码。只需在我之前的评论中添加代码的输出即可。它应该以
structure(bla bla bla)开头 -
这似乎是一个二元分类问题。是否将付款设置为一个因素?
-
您需要确保训练和测试数据基本相同。
标签: r error-handling knn confusion-matrix