R e1071 svm预测输出似乎具有错误的类别(“数值”而不是“因子”)

R e1071 svm预测输出似乎具有错误的类别(“数值”而不是“因子”),r,svm,R,Svm,如果我使用第52页上的示例代码,我将获得类“factor”的pred变量 这很好;但是,当我对数据使用相同的命令时,我会获得一个“numeric”类的pred变量: 这似乎是错误的;这个预测似乎根本不起作用 我的代码是: # create variables to store the path to the files you downloaded: data.dir <- "c:/kaggle/scikit/" train.file <- paste0(data.dir, 't

如果我使用第52页上的示例代码,我将获得类“factor”的
pred
变量

这很好;但是,当我对数据使用相同的命令时,我会获得一个“numeric”类的pred变量:

这似乎是错误的;这个预测似乎根本不起作用

我的代码是:

# create variables to store the path to the files you downloaded:
data.dir   <- "c:/kaggle/scikit/"
train.file <- paste0(data.dir, 'train.csv')
trainLabels.file <- paste0(data.dir, 'trainLabels.csv')


# READ DATA - CAREFUL IF THERE IS A HEADER OR NOT
train <- read.csv(train.file, stringsAsFactors=F, header=FALSE)
trainLabels <- read.csv(trainLabels.file, stringsAsFactors=F, header=FALSE)


# LOADING LIBRARY e1071
install.packages('e1071') 
library('e1071')


## classification mode
model <- svm(train, trainLabels)

summary(model)

# test with train data
pred <- predict(model, train)
#创建变量以存储下载文件的路径:

data.dirOk,问题是我的类是作为data.frame而不是factor给出的

我修复了它,多亏了上的另一个问题

所以我的工作代码是:

data.dir   <- "c:/xampp/htdocs/Big Data/kaggle/scikit/"
train.file <- paste0(data.dir, 'train.csv')
trainLabels.file <- paste0(data.dir, 'trainLabels.csv')


# READ DATA - CAREFUL IF THERE IS A HEADER OR NOT
train <- read.csv(train.file, stringsAsFactors=F, header=FALSE)
trainLabels <- read.csv(trainLabels.file, stringsAsFactors=F, header=FALSE)

# Make the trainLabels a factor
trainLabels <- as.factor(trainLabels$V1)


# APPLYING SVM TO KAGGLE DATA
install.packages('e1071') 
library('e1071')


## classification mode
model <- svm(train, trainLabels)

summary(model)

# test with train data
pred <- predict(model, train)

# Check accuracy:
table(pred, trainLabels)
data.dir
# create variables to store the path to the files you downloaded:
data.dir   <- "c:/kaggle/scikit/"
train.file <- paste0(data.dir, 'train.csv')
trainLabels.file <- paste0(data.dir, 'trainLabels.csv')


# READ DATA - CAREFUL IF THERE IS A HEADER OR NOT
train <- read.csv(train.file, stringsAsFactors=F, header=FALSE)
trainLabels <- read.csv(trainLabels.file, stringsAsFactors=F, header=FALSE)


# LOADING LIBRARY e1071
install.packages('e1071') 
library('e1071')


## classification mode
model <- svm(train, trainLabels)

summary(model)

# test with train data
pred <- predict(model, train)
data.dir   <- "c:/xampp/htdocs/Big Data/kaggle/scikit/"
train.file <- paste0(data.dir, 'train.csv')
trainLabels.file <- paste0(data.dir, 'trainLabels.csv')


# READ DATA - CAREFUL IF THERE IS A HEADER OR NOT
train <- read.csv(train.file, stringsAsFactors=F, header=FALSE)
trainLabels <- read.csv(trainLabels.file, stringsAsFactors=F, header=FALSE)

# Make the trainLabels a factor
trainLabels <- as.factor(trainLabels$V1)


# APPLYING SVM TO KAGGLE DATA
install.packages('e1071') 
library('e1071')


## classification mode
model <- svm(train, trainLabels)

summary(model)

# test with train data
pred <- predict(model, train)

# Check accuracy:
table(pred, trainLabels)