본문 바로가기

카테고리 없음

support vector machine

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
반응형