題記:
近來關於數據挖掘學習過程中,學習到朴素貝葉斯運算ROC曲線。也是本節實驗課題,roc曲線的計算原理以及如果統計TP、FP、TN、FN、TPR、FPR、ROC面積等等。往往運用ROC面積評估模型准確率,一般認為越接近0.5,模型准確率越低,最好狀態接近1,完全正確的模型面積為1.下面進行展開介紹:
ROC曲線的面積計算原理
一、朴素貝葉斯法的工作過程框架圖
二、利用weka工具,找到訓練的預處理數據
1、利用朴素貝葉斯算法對weather.nominal.arff文件進行處理,然后選擇temperature打開,選擇編輯找到預處理數據如圖1-1所示:
圖1-1 完整天氣數據信息圖
2、根據上面的訓練元組計算每個類的先驗概率,公式為P(C)
2.1、計算先驗概率
P(play=yes)=9/14=0.643
P(play=no)=5/14=0.357
2.2、 計算條件概率,根據公式P(X|C)
3、再根據公式(展示其中一個元組進行概率分類X= (outlook=sunny,temperature=mid,humidity=yes,windy=sunny))代入上述數據:
3.1、 P(X|paly=yes)=P(outlook=sunny|play=yes)* P(temperature=mid|play=yes)* P(humidity=yes|play=yes)* P (outlook=sunny|play=yes))
同理計算:P(X|paly=no)
3.2、通過結果比較,得出元組play
3.3、然后進行概率的計算
4、再引用《數據挖掘概念與技術》中P244頁方法,如圖1-2所示:
圖1-2 返回數據樣例
如上圖為樣例非真實數據:因為根據3.3可以計算每個元組的概率,利用概率大小進行類的排序。再根據先驗概率進行TP、FP、TN、FN的真實數據,並且不難算出TPR和FPR的數據
5、再引用《數據挖掘概念與技術》中P245頁知識,以FPR作為x軸,TPR作為Y軸,繪制數據的ROC曲線,將4中的數據分別代入進去,得到如圖1-3所示:
圖1-3 返回數據圖
根據以上圖形,利用數學方法得到ROC曲線面積為0.9222.然后再利用weka查看工具數據,如圖1-4所示:
圖1-4 weka返回數據
。
參考資料:
[1] 使用Weka進行數據挖掘(http://www.cnblogs.com/bluewelkin/p/3538599.html)
[2] WEKA使用(基礎配置+垃圾郵件過濾+聚類分析+關聯挖掘) (http://www.cnblogs.com/bitpeach/p/3770606.html)
[3] ROC曲線下面積的計算方法(http://wenku.baidu.com/view/3d2ac9202f60ddccda38a07a.html?re=view)
[4] 韓家煒,數據挖掘概念與技術,P243-P245。