1 背景
隨著信息技術的迅猛發展,人們可以利用計算機方便地獲取和存儲大量的數據。但是,僅僅停留在對于已獲得的數據進行一些表層的處理(如查詢、統計等)已越來越不能滿足日常工作的需要,因而人們把需要深入挖掘數據之間的內在關系和隱含的信息作為下一步的研究目標。人們迫切需要一種能夠智能的、自動的將數據轉換成有用信息和知識的技術和工具,這種對強有力數據分析工具的迫切需求使得數據挖掘技術成為了信息技術中的一個前沿的焦點。
2 數據挖掘的相關理論
2.1 數據挖掘的概念
數據挖掘從大量的,不完整的,有噪聲進行模糊隨機在原始數據,提取隱瞞,人們事先不知道,而且是潛在有用的,可信的,新穎的信息和知識的過程。數據挖掘由三個步驟組成:數據預處理階段、模型設計階段和數據分析階段(見圖1)。
圖1 數據挖掘流程
(1)數據預處理階段(Data Preprocessing Phase)中,特定的業務問題必須得到明確的定義,否則數據挖掘將變得漫無目的。在業務問題的域知識基礎上,該階段的任務包括驗證、選擇和準備被要求用來論述問題的數據。在構造良好的數據倉庫環境里,這些步驟相對簡單些,但是仍然會涉及到對采樣和平衡數據的考慮。
(2)模型設計階段(Model Design Phase)需要深入地檢查數據,并從中選擇那些顯示與問題最有關系的字段,它也需要選擇一個正確的數據挖掘算法以應用于數據(如:決策樹、規則歸納)。然后,最小化地細分數據,一般需要將數據分為一個調整集或者多個測試集。
(3)數據分析階段(Data Analysis Phase)典型地包括一個附加的準備活動(數據轉換)來重組數據,以求更好地匹配己選擇的算法和業務問題(例如,處理數據中缺少的值)。此后將已經選擇好的數據挖掘工具應用于數據,典型情況下包括創建一個采用數據修正集的模型,然后用至少一個測試數據的獨立集來證明這個模型。模型的準確性和有效性需有效地評估。初始的模型將很可能沒法達到數據挖掘的目的,許多反復是有必要的,尤其是在模型設計和數據分析階段中。
2.2 決策樹的概念
決策樹是作為與樣本屬性結點,用屬性的取值作為分支的樹型結構。它是進行了分析和歸納利用信息理論的原則,分析大規模的樣本屬性而產生的。決策樹的根節點是最大的屬性信息的內容,在所有樣本。樹的中間節點是在示例子集的根樹包含的信息內容最大的屬性點。決策樹的葉點是樣品類別的價值。決策樹使用新的樣本分類,即通過新的決策樹屬性值測試的樣本,從樹的根節點開始,根據樣本屬性值逐漸向下沿決策樹,直到樹的葉子點,這一點表現的類是新的樣本類別。決策樹方法是在數據挖掘中非常有效的方法。決策樹是一種知識的一種表現形式,它是所有高采樣數據摘要,即決策樹能準確識別所有的樣本類別,也可以有效識別地新樣本的類別。
決策樹包含許多不同的算法,主要分為3類:
(1)基于統計論的方法,以CART為代表,在這類算法中,對于非終端結點來說,有兩個分枝。
(2)基于信息論的方法,以D13算法為代表,此類算法中,非終端結點的分枝數由樣本類別個數決定。
(3)以AID,CHAIN為代表的算法,在此類算法中,非終端結點的分枝數在兩個到樣本類別個數范圍內分布。
選擇決策樹算法的優點有:在學習過程中不需要使用者了解很多的背景知識這同時是它的能夠直接體現數據的特點,很容易被人理解。速度快。易改造分類規則。只要沿樹的根葉向下,沿途可以只確定一個分類規則的裂變條件。更高的精度。同時,它也有許多不足之處,以處理設置每個算法(離散,樣品),不僅增加了排序算法的開銷,而且降低了大型數據分類的準確性。
2.3 決策樹的主要步驟
決策樹算法構造決策樹來發現數據中蘊涵的分類規則,如何構造精度高、規模小的決策樹是決策樹算法的核心內容。決策樹構造可以分兩步進行:
第一步,決策樹的生成:由訓練樣本集生成決策樹的過程。一般情況下,訓練樣本數據集是據實際需要有歷史的、有一定綜合程度的、用于數據分析處理的數據集;
第二步,決策樹的剪枝:決策樹的剪枝是對上一階段生成的決策樹進行檢驗、校正和修正的過程。主要是用新的樣本數據集作為測試數據集中的數據校驗決策樹生成過程中產生的初步規則,將那些影響預測準確性的分枝剪除。
(1)樹以代表訓練樣本的單個結點開始。
(2)如果樣本都在同一個類,則該結點成為樹葉,并用該類標記。
(3)否則,算法選擇最有分類能力的屬性作為決策樹的當前結點。
(4)根據當前決策結點屬性取值的不同,將訓練樣本數據集劃分為若干子集。每個取值形成一個分枝,有幾個取值形成幾個分枝。
(5)針對上一步得到的一個子集,重復進行先前步驟,階梯形成每個劃分樣本上的決策樹。每當某個屬性出現在結點上的時候,在該結點上就不需要做后續考慮了。
(6)階梯劃分步驟僅當下列條件之一發生時停止:
①給定結點的所有樣本屬于同一類。
②當剩余屬性無法可以用做進一步劃分樣本。
此時需要使用多數表決,把給定的結點轉換成樹葉,并以樣本中元組個數最多的類別作為類別標記,同時也可以存放該結點樣本的類別分布。
③如果某一分枝test-attribute=a*沒有樣本,則以樣本的多數類創建一個樹葉。
3 數據挖掘技術在實際中的應用——以客戶關系系統為例
在競爭全球化的環境下,信息化浪潮推動了動態聯盟的生產,也同時改變了競爭方式,導致競爭不再是單一企業的競爭,而是整個供應鏈的競爭。這要求傳統管理模式向供應鏈管理方式的轉變。在連鎖店的各企業供應是一個利益共同體,已經當通過優勝劣汰和協同效應不能生產優勢企業的獨立性,也使得兩家從通過雙方建立合作伙伴關系提高生產力,節約資源,以降低成本,獲得效益,同時創造更大的客戶價值。這也決定了客戶關系是企業的重要決定,如何進行排序管理、篩選客戶關系對企業的健康發展有重要意義。
3.1 以數據挖掘為核心的系統架構
數據挖掘是一個非常復雜的過程。每個類型的數據挖掘技術都有自己的特點與實現方法,輸入輸出數據的形式要求、結構、參數設置、培訓、測試和模型評價方法等都有不同要求,分別該算法的應用程序域的意義和能力也有差異。數據挖掘和具體適用問題密切相關的,每個數據挖掘問題的應用程序必須實現的目標,數據收集完整程度,問題領域專家的支持程度,等等算法的選擇沒有任何共同之處。
針對客戶信息進行挖掘,需要建立決策樹,然后對客戶重要性做出判別,最后指導公司決策。現采用以下的流程來建立決策樹的模型,如圖2所示。
圖2 決策樹建模流程圖
3.2 系統數據結構的設計與實現
3.2.1 數據的選擇
挖掘后確定的目標,必須對數據挖掘做出準備。數據行為的制備根據需求的挖掘,收集數據,并建立了數據庫,良好的可發掘。數據占用的制備在整個數據挖掘過程中,規模最大的一次。在選擇數據庫從SQL senrer的客戶信息桌前進行數據挖掘的對象。在客戶信息表中有大量的客戶信息,選擇部分原始數據進行數據挖掘。客戶信息表中包含的屬性,如表1所示。
表1 客戶信息屬性表
其中,客戶類別的取值為:{個人,團體};信譽度的取值為:{高,一般};消費水平的取值為:{高,中,低};購買能力的取值為:{強,一般,差};付款方式的取值為:{現金,匯付,本票,支票,其他};付款能力的取值為:{按時,推遲};單位性質的取值為:{國有,私營,個體}客戶級別的取值為:{vip,普通,不重要}。
3.2.2 數據預處理
數據預處理在數據挖掘過程中是一個重要步驟,尤其是在對包含有噪音,不完全,甚至是不一致的數據進行數據挖掘,需要對數據進行預處理,提高數據挖掘對象和數據挖掘滿圖案的質量。數據預處理技術的技術和數據轉換等,數據清理,數據集成,數據真實出售和購買埃斯蓋特在同一個家庭。預處理后,可以提高數據挖掘算法的精度和有效性,并保存數據處理的時間。在客戶關系管理系統的特點認為,現提出以下圖3的數據預處理模型。選取客戶信息表500多個樣本作為研究的對象,并在這些原始的客戶數據進行預處理。
圖3 數據預處理
(1)數據轉換,我們必須繼續就不斷離散屬性的處理。這個實驗涉及的不斷屬性——消費水平的項目,經過分析,我們將其單獨的變化(0,50萬):低,(50萬,100萬):(100萬):高。違規約預處理是過程中的重要步驟,其目的是消除一些挖掘沒有意義的屬性。在多數情況下,我們選擇挖掘屬性不好,對我們的挖掘,在挖掘時,進行幫助,我們要按照不同的數據情況,有關于客戶信息表,例如選擇之前,應進行的維吾爾族條款一般以消除領域的第一次和客戶的序列號等,客戶姓名,地址,電話,傳真號碼,請注意,因為這些信息可能沒有到數據挖掘的意義。
(2)數據清理,在之前的數據進行了挖掘,需要進行干凈的第一個數據。通過客戶關系系統的日常運作發現,在數據表存在的空缺和數據復制的價值。通常關于空缺值數據,它使用的處理方法包括:忽略行、人工填寫空缺值、平均值法等。
3.2.3 數據建模
用決策樹流程進行建模,決策樹生成算法描述如下:
對原始數據經過預處理,抽取其中部分數據進行數據挖掘,得到條件屬性集合C={信譽度,消費水平,購買能力,購買能力,付款能力,單位性質,客戶類別},決策屬性集合D={客戶級別}。
經過基于信息增益的ID3算法構建決策樹,我們得到如圖4的決策樹結果:
圖4 初步決策樹
3.2.4 數據挖掘的實現
在Analysis Senrices中設置將要訓練數據的數據挖掘模型。然后使用客戶端工具對受訓數據運行高級分析,創建數據挖掘模型的步驟如下:
(1)在“客戶分析”樹窗格中右擊“挖掘模型”文件夾,然后選擇“新建挖掘模型”。
(2)打開挖掘模型向導,在“歡迎使用挖掘模型向導”中,選擇“下一步”。
(3)在“選擇源類型”中,選擇“關系數據”。然后“下一步”。
(4)在“選擇事例表”中,選擇“單個表包含數據”,在“可用的表”中選“客戶分析”,然后選擇“下一步”。
(5)在“選擇數據挖掘技術”中選擇“技術”中的“Micmsoft決策樹”,然后選擇“下一步”。
(6)在“選擇鍵列”中選擇“事例鍵列”中的“ID”,然后選“下一步”。
(7)在“選擇輸入與可預測列”中選擇“重要性分析”,然后用“>”按鈕移動到“可預測列”框中。
(8)這些列還將用作輸入列。選擇“單位性質”、“購買能力”、“信譽度”、“付款能力”、“付款方式”和“聯系電話”,并通過“輸入列”列表旁邊的“>”按鈕將其移動到“輸入列”框中。單擊“下一步”按饑。
(9)最后在“模型名稱”框中輸入“重要客戶預測”。確保選擇了“保存并立即處理”,然后“完成”。
(10)出現“處理”窗口,顯示正在處理的模型。處理完成之后出現一則消息,說明“已成功完成處理”,選擇“關閉”。
下面使用代碼通過DSO去創建了一個關系型數據挖掘模型。
4 算法評估
本研究采用UCI公共數據庫中的3個數據庫來進行仿真試驗,并將本研究中提出的決策樹算法得出的結果和C4.5算法相應結果進行比較。表2為數據庫的基本信息:
表2 數據庫基本信息
表3 試驗結果
通過對比發現決策樹算法明顯減少了建立決策樹所用的屬性個數,決策樹的計算成本正比于建樹所用屬性個數,因此,本文提出的算法明顯減少了計算成本。同時,由于算法復雜度較小,構建決策樹的效率也將有所提高。實驗表明,在建樹規模相當的情況下,本決策樹算法的預測精度比C4.5有所提高。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:基于決策樹的數據挖掘算法的應用與研究
本文網址:http://www.guhuozai8.cn/html/consultation/1083934857.html