728x90
반응형
svm_model=svm(subtype ~ ., data=tm2,method='C-classification',kernel='linear',scale = F,probability=T)
tm2 는 matrix로 row는 sample, column은 variable과 class label들임
scale은 Z-score normalization했으면 안해도됨
ROC curve그리기
pred_svm <-predict(svm_model,tm2,decision.values = T,probability = T,class=T) # training data에 대한 정보를 추출함.
# ROC curve
pred_probs=attr(pred_svm,'probabilities') # probability계산
predictions=as.vector(pred_probs[,2])
pred=prediction(predictions = predictions,subs)
# AUC
perf_auc=performance(pred,'auc')
perf_auc@y.values[[1]]
pdf('a3_v1_svm_ROC_plot_20170902_v2.pdf',paper = 'letter')
perf_roc=performance(pred,'tpr','fpr')
plot(perf_roc,main='ROC plot')
text(0.5,0.5,paste0('AUC=',round(perf_auc@y.values[[1]],3)))
dev.off()
728x90
반응형