繁体   English   中英

R SVM预测

[英]R SVM Prediction

我是R的新人,请帮助我理解错误。 我试图预测一些数据,但是预测函数返回的对象(它是奇怪的类(因子))包含低数据。 测试装置尺寸为5886 obs。 160个变量,当预测对象长度为110时...我预期的预测类或数据帧的向量。 我怎么理解错了?

library(MASS)
library(e1071)
set.seed(333)

data <- read.csv(file="D:\\MaсhLearningAssign\\pml-training.csv", head=TRUE, sep=",")

index <- 1:nrow(data)
testindex <- sample(index, trunc(length(index)*30/100))
train <- data[-testindex, ]
test <- data[testindex, ]

model  <- svm(classe~., data = train, kernel="radial", gamma=0.001, cost=10)
prediction <- predict(model, test)
summary(prediction)



Output:
    A  B  C  D  E 
    28 24 25 12 22 

数据集在这里

svm不会处理缺少的观察结果,并且您的数据集中充满了NA:

> dim(data[complete.cases(data), ])
[1] 406 160

您可以尝试删除具有NA的列,然后训练svm

> data <- data[, which(colSums(apply(data, 2, is.na)) == 0)]
> dim(data)
[1] 19622    93

现在,您可以尝试拆分数据并使其适合svm 我会小心的。 它仍然是相当大的数据集和svm相当资源饥饿。

提示:我查看了您的数据,如果是我认为的那样,请务必仔细阅读数据集说明。 您有两种完全不同的行类型。 它不仅应该解释NA的丰富程度,还应该给出对于测试集合有用的预测的想法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM