數據挖掘18大算法實現以及其他相關經典DM算法

jopen 9年前發布 | 63K 次閱讀 算法

18大經典DM算法

18大數據挖掘的經典算法以及代碼實現,涉及到了決策分類,聚類,鏈接挖掘,關聯挖掘,模式挖掘等等方面,后面都是相應算法的博文鏈接,希望能夠幫助大家學。目前追加了其他的一些經典的DM算法,在others的包中涉及聚類,分類,圖算法,搜索算等等,沒有具體分類。

  • C4.5

    C4.5算法與ID3算法一樣,都是數學分類算法,C4.5算法是ID3算法的一個改進。ID3算法采用信息增益進行決策判斷,而C4.5采用的是增益率。詳細介紹鏈接

  • CART

    CART算法的全稱是分類回歸樹算法,他是一個二元分類,采用的是類似于熵的基尼指數作為分類決策,形成決策樹后之后還要進行剪枝,我自己在實現整個算法的時候采用的是代價復雜度算法,詳細介紹鏈接

  • KNN

    K最近鄰算法。給定一些已經訓練好的數據,輸入一個新的測試數據點,計算包含于此測試數據點的最近的點的分類情況,哪個分類的類型占多數,則此測試點的分類與此相同,所以在這里,有的時候可以復制不同的分類點不同的權重。近的點的權重大點,遠的點自然就小點。詳細介紹鏈接

  • Naive Bayes

    樸素貝葉斯算法。樸素貝葉斯算法是貝葉斯算法里面一種比較簡單的分類算法,用到了一個比較重要的貝葉斯定理,用一句簡單的話概括就是條件概率的相互轉換推導。詳細介紹鏈接

  • SVM

    支持向量機算法。支持向量機算法是一種對線性和非線性數據進行分類的方法,非線性數據進行分類的時候可以通過核函數轉為線性的情況再處理。其中的一個關鍵的步驟是搜索最大邊緣超平面。詳細介紹鏈接

  • EM

    期望最大化算法。期望最大化算法,可以拆分為2個算法,1個E-Step期望化步驟,和1個M-Step最大化步驟。他是一種算法框架,在每次計算結果之后,逼近統計模型參數的最大似然或最大后驗估計。詳細介紹鏈接

  • Apriori

    Apriori算法是關聯規則挖掘算法,通過連接和剪枝運算挖掘出頻繁項集,然后根據頻繁項集得到關聯規則,關聯規則的導出需要滿足最小置信度的要求。詳細介紹鏈接

  • FP-Tree

    頻繁模式樹算法。這個算法也有被稱為FP-growth算法,這個算法克服了Apriori算法的產生過多侯選集的缺點,通過遞歸的產生頻度模式樹,然后對樹進行挖掘,后面的過程與Apriori算法一致。詳細介紹鏈接

  • PageRank

    網頁重要性/排名算法。PageRank算法最早產生于Google,核心思想是通過網頁的入鏈數作為一個網頁好快的判定標準,如果1個網頁內部包含了多個指向外部的鏈接,則PR值將會被均分,PageRank算法也會遭到LinkSpan攻擊。詳細介紹鏈接

  • HITS

    HITS算法是另外一個鏈接算法,部分原理與PageRank算法是比較相似的,HITS算法引入了權威值和中心值的概念,HITS算法是受用戶查詢條件影響的,他一般用于小規模的數據鏈接分析,也更容易遭受到攻擊。詳細介紹鏈接

  • K-Means

    K-Means算法是聚類算法,k在在這里指的是分類的類型數,所以在開始設定的時候非常關鍵,算法的原理是首先假定k個分類點,然后根據歐式距離計算分類,然后去同分類的均值作為新的聚簇中心,循環操作直到收斂。詳細介紹鏈接

  • BIRCH

    BIRCH算法利用構建CF聚類特征樹作為算法的核心,通過樹的形式,BIRCH算法掃描數據庫,在內存中建立一棵初始的CF-樹,可以看做數據的多層壓縮。詳細介紹鏈接

  • AdaBoost

    AdaBoost算法是一種提升算法,通過對數據的多次訓練得到多個互補的分類器,然后組合多個分類器,構成一個更加準確的分類器。詳細介紹鏈接

  • GSP

    GSP算法是序列模式挖掘算法。GSP算法也是Apriori類算法,在算法的過程中也會進行連接和剪枝操作,不過在剪枝判斷的時候還加上了一些時間上的約束等條件。詳細介紹鏈接

  • PreFixSpan

    PreFixSpan算法是另一個序列模式挖掘算法,在算法的過程中不會產生候選集,給定初始前綴模式,不斷的通過后綴模式中的元素轉到前綴模式中,而不斷的遞歸挖掘下去。詳細介紹鏈接

  • CBA

    基于關聯規則分類算法。CBA算法是一種集成挖掘算法,因為他是建立在關聯規則挖掘算法之上的,在已有的關聯規則理論前提下,做分類判斷,只是在算法的開始時對數據做處理,變成類似于事務的形式。詳細介紹鏈接

  • RoughSets

    粗糙集算法。粗糙集理論是一個比較新穎的數據挖掘思想。這里使用的是用粗糙集進行屬性約簡的算法,通過上下近似集的判斷刪除無效的屬性,進行規制的輸出。詳細介紹鏈接

  • GSpan

    gSpan算法屬于圖挖掘算法領域。,主要用于頻繁子圖的挖掘,相較于其他的圖算法,子圖挖掘算法是他們的一個前提或基礎算法。gSpan算法用到了DFS編碼,和Edge五元組,最右路徑子圖擴展等概念,算法比較的抽象和復雜。詳細介紹鏈接

Others目錄下的算法:

  • GA

    遺傳算法。遺傳算法運用了生物進化理論的知識來尋找問題最優解的算法,算法的遺傳進化過程分選擇,交叉和變異操作,其中選擇操是非常關鍵的步驟,把更適應的基于組遺傳給下一代。詳細介紹鏈接

  • DbScan

    基于空間密度聚類算法。dbScan作為一種特殊聚類算法,彌補了其他算法的一些不足,基于空間密,實現聚類效果,可以發現任意形狀的聚簇。詳細介紹鏈接

  • GA_Maze

    遺傳算法在走迷宮游戲中的應用。將走迷宮中的搜索出口路徑的問題轉化為遺傳算法中的問題通過構造針對此特定問題的適值函數,基因移動方向的定位,巧的進行問題的求解。詳細介紹鏈接

  • CABDDCC

    基于連通圖的分裂聚類算法。也是屬于層次聚類算法主要分為2個階段,第一階段構造連通圖。第二個階段是分裂連通圖,最終形成聚類結果。詳細介紹鏈接

  • Chameleon

    兩階段聚類算法。與CABDDCC算法相反,最后是通過對小簇集合的合并,形成最終的結果,在第一階段主要是通過K近鄰的思想形成小規模的連通圖,第二階段通過RI(相對互連性)和RC(相對近似性)來選一個最佳的簇進行合并。詳細介紹鏈接

  • RandomForest

    隨機森林算法。算法思想是決策樹+boosting.決策樹采用的是CART分類回歸數,通過組合各個決策樹的弱分類器,構成一個最終的強分類器,在構造決策樹的時候采取隨機數量的樣本數和隨機的部分屬性進行子決策樹的構建,避免了過分擬合的現象發生。詳細介紹鏈接

  • KDTree

    K-Dimension Tree。多維空間劃分樹,數據在多維空間進行劃分與查找。主要用于關鍵信息的搜索,類似于在空間中的二分搜索,大大提高了搜索效率,在尋找目標元素時,使用了DFS深度優先的方式和回溯進行最近點的尋找。詳細介紹鏈接

  • MS-Apriori

    基于多支持度的Apriori算法。是Apriori算法的升級算法,彌補了原先Apriori算法的不足,還增加了支持度差別限制以及支持度計數統計方面的優化,無須再次重新掃描整個數據集,產生關聯規則的時候可以根據子集的關系避免一些置信度的計算。詳細介紹鏈接

  • ACO

    蟻群算法。蟻群算法又稱為螞蟻算法。同GA遺傳算法類似,也是運用了大自然規律的算法,用于在圖中尋找最優路徑的概率型算法。靈感來源于螞蟻在尋找食物時會散播信息素的發現路徑行為。詳細介紹鏈接

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!