最近由于需求翻閱了一些數據挖掘相關資料,對數據挖掘過程中的分類技術進行了理解和研究,遂記錄如下。 1、數據挖掘概述 數據挖掘,就是提取或者挖掘數據,主要通過對已獲得的大量數據進行深度整理和分析,其分析結果可以反映過去結果和預測未來趨勢。目前幾
最近由于需求翻閱了一些數據挖掘相關資料,對數據挖掘過程中的分類技術進行了理解和研究,遂記錄如下。
1、數據挖掘概述
數據挖掘,就是提取或者挖掘數據,主要通過對已獲得的大量數據進行深度整理和分析,其分析結果可以反映過去結果和預測未來趨勢。目前幾種典型的數據挖掘研究有:關聯規則、分類、聚類、預測、web挖掘等。分類挖掘可以從數據中提取相關特征,然后建立相應模型或者函數,并把數據中的每個對象歸類到特定分類。例如: 可以檢測郵件是否為垃圾郵件,檢測數據是否為攻擊數據,樣本是否為惡意程序等等這些都可以通過分類挖掘實現,而分類挖掘中又分為決策樹方法、統計學方法、貝葉斯網絡、神經網絡等其他分類技術。
2、樸素貝葉斯算法
貝葉斯分類是一種基于統計學的分類方法,就是大學學的概率統計神馬的。樸素貝葉斯算法是在貝葉斯算法上基于獨立假設的貝葉斯定理的簡單概率分類器,因此這里談到技術的就是數據挖掘中很小的一部分了。其主要基本思路如下:
需求分析——>提取特征——->訓練樣本——–>檢測特征——->計算后驗概率——>判定
首先是需求分析,我們需要清楚自己的目的:即對這些數據分析能夠得出什么結果?我們需要什么結果?一個分類模型;還是其他。例如:我們需要對大量的郵件進行分析處理,最終需要建立一個模型能夠自動判定一封郵件是夠為垃圾郵件或者正常郵件,因此,最終我們只有兩個類別,即垃圾郵件、正常郵件。這就是我們的需要。
其次是提取特征,需要對待分析的數據進行詳細分析,提取不同點。例如,我們需要研究正常郵件與垃圾郵件有哪些方面的不同,垃圾郵件具有哪些特性,而正常郵件具有額外的哪些特性。一般來講,垃圾郵件內容中往往含有圖片、鏈接、郵件頭、多個收件人、HTML標簽問題等比較特殊的特征,而正常郵件一般沒有這些特征。
再次是訓練樣本,這個步驟一般是提取大量樣本按照其上一步提取的特征值進行分析并統計,得到一個比較詳細的特征統計表。例如:隨機從郵件服務器中提取1000封郵件,然后對每封郵件內容按照前面提到的特征進行統計分析。
再次是檢測特征,通過前面的過程我們已經建立了一個樸素貝葉斯模型,我們可以通過編寫代碼實現自動檢測特征。例如,可以通過python或者c++實現文本的特征匹配,這里可以采用其他文本匹配算法。
再次是計算后驗概率,根據樸素貝葉斯算法,可以計算在已知分類情況下的特征概率,即先驗概率。例如,我們可以計算在假定為正常郵件情況下,文本特征有:圖片、鏈接、多個收件人的情況下概率P(圖片|垃圾郵件)、P(鏈接|垃圾郵件)等,然后我們在計算假定為垃圾郵件情況下,文本特征有圖片、鏈接、多個收件人的情況下概率P(圖片|正常郵件)、P(鏈接|正常郵件)等.
最后,我們可以通過比較先驗概率的值和概率來判定該樣本屬于哪種類型。例如:分別計算P(垃圾郵件)*P(圖片|垃圾郵件)*P(鏈接|垃圾郵件)*….與P(正常郵件)*P(圖片|正常郵件)*P(鏈接|正常郵件)*….,然后看那個值比較大,從而判定屬于這個類別。
系統性能指標一般會通過正確率、準確率、召回率這三個指標進行評定。
3、總結
整體來說,整個過程還是比較復雜,特別是樣本特征方面,需要考慮比較周全然后其效果才會更加明顯,而訓練樣本的值也會影響最終結果。網上也有一個比較簡單的實例,python實現的Naive Bayes[文獻3],大伙可以參考。附帶幾篇比較好的文章。
4、參考資料
(1)范明.范宏建《數據挖掘導論》
(2)焦李成.《智能數據挖掘與知識發現》
(3)Naive Bayes的Python實現
(4)基于樸素貝葉斯分類器的文本分類算法(上)
(5)貝葉斯推斷及其互聯網應用(一):定理簡介
(6)貝葉斯推斷及其互聯網應用(二):過濾垃圾郵件
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com