功能描述:
分析流程如下所示,根據本課題的數據以及所需要的結果形式,其結果符合要求的為1,不符合的為空,這里我們將不符合數據的定義為0,那么整個系統其實可以等效為一個分類算法,即通過數據挖掘進行分類,即符合需求類1和不符合需求類0,基于這個思路進行設計。
一般數據挖掘算法流程如下所示:
第一步,建立模型,確定數據表中哪些列是要用于輸入,哪些是用于預測,選擇用何種算法。這時建立的模型內容是空的,在模型沒有經過訓練之前,計算機是無法知道如何分類數據的。
第二步,準備模型數據集,例子中的模型數據集就是1000個會員數據。通常的做法是將模型集分成訓練集和檢驗集,比如從1000個會員數據中隨機抽取700個作為訓練集,剩下300個作為檢驗集。
第三步,用訓練數據集填充模型,這個過程是對模型進行訓練,模型訓練后就有分類的內容了,像例子圖中的樹狀結構那樣,然后模型就可以對新加入的會員事例進行分類了。比如前兩年的數據訓練之后預測第三年的,當進入第四年的時候,使用第二年和第三年的數據進行訓練,從而不斷的更新模型。
第四步,使用模型對預測集進行預測。
整個算法的理論如下所示:
首先,我們需要建立的是一個函數f,該函數滿足如下的需求:
其中f可以是一個數學公式,也可以是一個抽象的網絡。這里,根據各種實戰經驗,一般對于復雜的情況,一般最后得到的函數f為一個抽象的網絡。
決策樹是一樹狀結構,它從根節點開始,對數據樣本進行測試,根據不同的結果將數據樣本劃分成不同的數據樣本子集,每個數據樣本子集構成一子節點。生成的決策樹每個葉節點對應一個分類。構造決策樹的目的是找出屬性和類別間的關系,用它來預測將來未知類別的記錄的類別。
根據決策樹分為分類樹和回歸樹兩種,分類樹對離散變量做決策樹,回歸樹對連續變量做決策樹。
決策樹方法中分類的目的是分析輸入數據,通過在訓練集中的數據表現出來的特性,為每一個類找到一種準確的描述或者模型。由此生成的類描述用來對未來的測試數據進行分類。盡管這些未來的測試數據的類標簽是未知的,我們仍可以由此預測這些新數據所屬的類。我們也可以由此對數據中的每一個類有更好的理解;蛘哒f我們獲得了對這個類的知識。
構造一個決策樹通常分為兩步:樹的生成和剪枝。
決策樹的生成是一個從上至下,是一個遞歸的過程。設數據樣本集S,算法框為如果數據樣本集S中所有樣本都屬于同一類或者滿足其它終止準則, 則S不再劃分,形成葉節點;否則,根據某種策略選擇一個屬性,按照屬性的各個取值對S進行劃分,得到n個子樣本集,記為Si。再對每個Si迭代執行步驟1。經過n 次遞歸, 最后生成決策樹。從根到葉結點的一條路徑就對應著一條規則, 整棵決策樹就對應著一組析取表達式規則。樹構成步驟中, 主要就是找出節點的屬性和如何對屬性值進行劃分。
決策樹生成后面臨的問題是樹的過度細化,特別是存在噪聲數據或不規范屬性時更為突出,決策樹的修剪就是對過度細化的模型進行調整。修剪算法分為前剪枝算法和后剪枝算法兩種。前剪枝算法是在樹的生長過程完成前就進行剪枝。這類算法的優點是在樹的生長同時就進行了剪枝,因而效率高,但是它可能剪去了某些有用但還沒有生成的節點。后剪枝算法是當決策樹的生長過程完成后再進行剪枝。它分為需要單獨剪枝集和不需要單獨剪枝集兩種情況。后剪枝有一些優點,例如,當單個的兩個屬性似乎沒什么用處,但當結合在一起時卻有強大的預測能力,即一種結合效果,在兩個屬性值正確結合時是非常有用的,而單個屬性則沒有用。
聯系:highspeedlogic
QQ :1224848052
微信:HuangL1121
郵箱:1224848052@qq.com
網站:http://www.mat7lab.com/
網站:http://www.hslogic.com/
|