gpt4 book ai didi

R SVM 预测

转载 作者:行者123 更新时间:2023-11-30 08:55:23 27 4
gpt4 key购买 nike

我是 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

Dataset here

最佳答案

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 的丰度,还应该给出对给定测试集进行预测有用的想法。

关于R SVM 预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27574580/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com