【发布时间】:2016-02-05 12:11:18
【问题描述】:
我正在尝试为 SVM 创建 ROC 曲线,这是我使用的代码:
#learning from training
#tuned <- tune.svm(y~., data=train, gamma = 10^(-6:-1), cost = 10^(1:2))
summary(tuned)
svmmodel<-svm(y~., data=train, method="C-classification",
kernel="radial", gamma = 0.01, cost = 100,cross=5, probability=TRUE)
svmmodel
#predicting the test data
svmmodel.predict<-predict(svmmodel,subset(test,select=-y),decision.values=TRUE)
svmmodel.probs<-attr(svmmodel.predict,"decision.values")
svmmodel.class<-predict(svmmodel,test,type="class")
svmmodel.labels<-test$y
#analyzing result
svmmodel.confusion<-confusion.matrix(svmmodel.labels,svmmodel.class)
svmmodel.accuracy<-prop.correct(svmmodel.confusion)
#roc analysis for test data
svmmodel.prediction<-prediction(svmmodel.probs,svmmodel.labels)
svmmodel.performance<-performance(svmmodel.prediction,"tpr","fpr")
svmmodel.auc<-performance(svmmodel.prediction,"auc")@y.values[[1]]
但是ROC曲线的问题是这样的:
【问题讨论】:
-
这是非常特定于数据的,没有人可以在没有看到调整后的内容的情况下说太多。见stackoverflow.com/questions/5963269/…
标签: r machine-learning svm roc