# 範例說明 R圖形化使用者介面 rattle 套件 執行 ROC curve 比較
步驟 1
安裝並執行 rattle 套件-資料探勘使用者介面
install.packages(“rattle”)
library(rattle)
rattle()
步驟 2
匯入kernlab套件的資料集spam, 一般採用 spam
{kernlab} 表示, 步驟如下:
Data \ Source: 選取 Library \ Data
Name: 選取 「spam:kernlab:Spam E-mail Database」 \ 按 執行.
匯入 spam 資料結果, 此為垃圾郵件資料集, 其中第58個變數是目標變數且為類別型資料, 在R中屬於因子(factor)資料物件, 在最下列訊息區顯示全部有 4601筆觀測值, 58個輸入變數, 可使用分類模型.
步驟 3
Rattle 的Support Vector Machines 方法, 採用 kernlab 套件的ksvm方法, 在 R console 視窗中輸入以下指令可查詢其使用說明.
library(kernlab)
?ksvm
Model \ Type 選取 SVM \
Kernel 採用預設值 Radial Basis (rbfdot) \ 按 執行.
步驟 4
使用 Neural Network 方法, Rattle 採用 nnet 套件的nnet 方法, 該方法採用Feed-forward neural networks 且為一個隱藏層 (hidden layer),
預設節點數是十個.
Model \ Type 選取 Neural Net
\ 按
執行.
步驟 5
模式比較主要採用 ROC curve 方法.
參考:
ROC簡介 https://github.com/rwepa/DataDemo/blob/master/roc_introduction.pdf
ROCR套件說明 https://github.com/rwepa/DataDemo/blob/master/roc_r_example.pdf
ROC簡介 https://github.com/rwepa/DataDemo/blob/master/roc_introduction.pdf
ROCR套件說明 https://github.com/rwepa/DataDemo/blob/master/roc_r_example.pdf
Rattle 會針對之前已完成的模型進行效益評估.
Evaluate \ Type: 選取 ROC \ Model: SVM , Neural Net 打勾 \ 按 執行.
步驟 6
考慮實際結果有二種情形(Yes, No), 在 ROC curve視窗中x軸表示 False Positive (FP) rate (實際為N, 但預模型分類為Y, 此時FP愈小愈好), y軸表示 TP rate (實際為Y, 且預模型分類為Y, 此時FP愈大愈好), 因此, ROC曲線愈偏向左上角愈好,即曲線以下面積較大者較佳. 由圖形可知 ksvm 較偏向於左上角位置, 因此採用 svm 較佳。
下載說明: r-rattle-ROCcurve.pdf
# end
沒有留言:
張貼留言