R中SVM模型的查准率和查全率计算

R中SVM模型的查准率和查全率计算,r,R,利用人口普查数据建立logistic回归模型和SVM模型,首先将50K转换为1,使数据二项化。我试图计算两种模型的精确度和召回率,并比较哪种模型表现更好。但是支持向量机模型的表(test$salary,pred1>0.5)只给出错误值,没有真值(FALSE) 0 26 1 8) . 有人知道问题出在哪里吗 我是R软件的新手,我希望我能从这里得到帮助。非常感谢。欢迎任何帮助。我希望这个问题足够清楚 #setwd("C:/Users/) Censusdata <- read.cs

利用人口普查数据建立logistic回归模型和SVM模型,首先将50K转换为1,使数据二项化。我试图计算两种模型的精确度和召回率,并比较哪种模型表现更好。但是支持向量机模型的
表(test$salary,pred1>0.5)
只给出错误值,没有真值(FALSE) 0 26 1 8) . 有人知道问题出在哪里吗

我是R软件的新手,我希望我能从这里得到帮助。非常感谢。欢迎任何帮助。我希望这个问题足够清楚

#setwd("C:/Users/)
Censusdata <- read.csv(file="census-data.csv", header=TRUE, sep=",")
library("dplyr", lib.loc="~/R/win-library/3.4")

# convert <=50K to 0, >50K to 1
data = Censusdata 
data$salary<-as.numeric(factor(data$salary))-1
library(lattice)
library(ggplot2)
library(caret)
data <- Censusdata
indexes <- sample(1:nrow(data),size=0.7*nrow(data))
test <- data[indexes,]
train <- data[-indexes,]

#logistic regression model fit
model <- glm(salary ~ education.num + hours.per.week,family = binomial,data = test)
pred <- predict(model,data=train)
summary(model)

# calculate precision and recall 
table(test$salary,pre >0.5)
#  I get 
      FALSE TRUE
  0   26    0
  1    6    2

# for SVM model 
model1 <- svm(salary ~ education.num + hours.per.week,family = binomial, data=test)
pred1 <- predict(model1,data=train)
table(test$salary,pred1 >0.5)
# I get the following 
   FALSE 
0    26
1     8
#setwd(“C:/Users/)

Censusdata问题的一部分可能源于数据重命名不一致。例如,您将
$salary
转换为
df
数值,而不是用于表的
数据。(顺便说一句:我建议不要使用
数据
作为变量名…或任何基本的R函数),谢谢你@r2evans的帮助。我将数据$salary转换为数字,这似乎有点有用,但我只得到SVM模型的假值,而没有真值。