基于數(shù)據(jù)挖掘的經(jīng)濟普查數(shù)據(jù)分析_第1頁
基于數(shù)據(jù)挖掘的經(jīng)濟普查數(shù)據(jù)分析_第2頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、-莆 田 學 院畢 業(yè) 論 文題目基于數(shù)據(jù)挖掘的經(jīng)濟普查數(shù)據(jù)分析學生飛躍* 510704339 專業(yè)計算機科學與技術(shù)班級計算機2班 指導教師黃海二00九年四月二十一日目錄第1章 緒論···································

2、;··········31.1 數(shù)據(jù)挖掘技術(shù)·····································31.2 研

3、究問題分析·····································41.3 國經(jīng)濟普查實踐與數(shù)據(jù)分析現(xiàn)狀·········

4、··········41.4 本文研究容及方法·······························4第2章 聚類分析算法·····

5、·······························42.1 數(shù)據(jù)挖掘過程·················&

6、#183;···················42.2 聚類分析技術(shù)根底····························

7、·····52.3 數(shù)據(jù)挖掘?qū)垲惖囊?#183;····························52.4 聚類方法的分類···········

8、83;·······················6第3章 K均值算法·························

9、;···············63.1 K均值算法思想·································

10、;···63.2 K均值算法流程····································7第4章 K均值算法在經(jīng)普數(shù)據(jù)分析上的實現(xiàn)·····&#

11、183;············74.1 數(shù)據(jù)的采集、預處理·······························74.2 算法演示··

12、83;······································84.3 數(shù)據(jù)分析··········

13、································8第5章 K均值算法分析系統(tǒng)的設計···············&

14、#183;··········95.1 開發(fā)工具及運行環(huán)境簡介····························95.2 主界面·······&

15、#183;···································105.3 修改密碼············

16、83;····························115.4 運算模塊····················

17、;···················125.5 企業(yè)數(shù)據(jù)管理模塊····························

18、83;··205.6 退出登陸·······································265.7 下一步工作·····

19、································26第6章 完畢語················

20、83;·······················26第7章 致·························&#

21、183;················26參考文獻································&#

22、183;············27. z-基于數(shù)據(jù)挖掘的經(jīng)濟普查數(shù)據(jù)分析飛躍電子信息工程學系 指導教師:黃海摘要:隨著全國第二次經(jīng)濟普查數(shù)據(jù)的上報,面對普查之后的海量數(shù)據(jù),如何更好地利用這些數(shù)據(jù)資料,幫助國家在金融危機下制定更好的經(jīng)濟決策,成為目前社會各界關(guān)注的熱點。將數(shù)據(jù)挖掘技術(shù)應用于經(jīng)濟普查數(shù)據(jù)的分析,可以找出隱含在數(shù)據(jù)中的更深層次的信息,對決策者制定決策是很有參考價值的。關(guān)鍵詞:經(jīng)濟普查 數(shù)據(jù)挖掘 決策樹算法 K-均值算法 Abstract: With the cou

23、ntry's second economic census data to report, in the face of the huge amount of data after the survey, how to make better use of these data to help countries in financial crisis to develop better economic decision-making, bee the munity's concern about the hot spots. Data mining technology w

24、ill be applied to the analysis of economic census data, can be found in the data implied a deeper level of information, decision-making for policy makers is a good reference.keywords: Economic Census Data Mining Decision Tree Algorithm K-means algorithm第一章 緒論計算機技術(shù)的開展為工商企業(yè)、政府機構(gòu)和教育科研單位實現(xiàn)信息的數(shù)字化處理提供了機遇,

25、數(shù)據(jù)庫和數(shù)據(jù)倉庫已經(jīng)廣泛地應用于企業(yè)管理、產(chǎn)品的銷售、科學計算和信息效勞等領(lǐng)域。數(shù)據(jù)收集工具的進步使我們擁有數(shù)量龐大的數(shù)據(jù)。雖然數(shù)據(jù)庫系統(tǒng)可以高效地實現(xiàn)數(shù)據(jù)的錄入、查詢和統(tǒng)計等功能,但缺乏挖掘數(shù)據(jù)背后隱藏的知識的手段,難以發(fā)現(xiàn)數(shù)據(jù)中存在的關(guān)系和規(guī)則,無法預測未來的趨勢。 而傳統(tǒng)的數(shù)據(jù)分析方法已遠遠不能滿足現(xiàn)實對于數(shù)據(jù)分析的需求, 數(shù)據(jù)的迅速增加與數(shù)據(jù)的分析處理方法滯后的矛盾越來越大, 從而導致了大量的數(shù)據(jù)成為數(shù)據(jù)豐富,但信息貧乏的“數(shù)據(jù)墳墓。 而數(shù)據(jù)挖掘技術(shù)(DataMining)正是解決這一課題的重要方法。權(quán)威的Ga*toer調(diào)查報告顯示,數(shù)據(jù)挖掘?qū)⑹俏磥韼啄耆驀攸c投資研究的十大新技術(shù)之

26、一,它引起了學術(shù)界和工業(yè)界的廣泛關(guān)注,是當今數(shù)據(jù)庫系統(tǒng)研究和應用領(lǐng)域的一個熱點問題。1.1 數(shù)據(jù)挖掘技術(shù)數(shù)據(jù)挖掘技術(shù)出現(xiàn)于20世紀80年代后期,90年代有了突飛猛進的開展,并在21世紀持續(xù)繁榮。還有很多和這一術(shù)語相近的術(shù)語,如數(shù)據(jù)庫的知識發(fā)現(xiàn)(KDD)、數(shù)據(jù)分析、數(shù)據(jù)融合(Data Fusion)以及決策支持等。數(shù)據(jù)挖掘?qū)?shù)據(jù)庫管理系統(tǒng)和人工智能中機器學習兩種技術(shù)相結(jié)合,用數(shù)據(jù)庫管理系統(tǒng)來存儲數(shù)據(jù),用機器學習的方法來分析數(shù)據(jù),自發(fā)發(fā)現(xiàn)隱含在大量數(shù)據(jù)中的知識。它是一個萃取和展現(xiàn)新知識的流程。數(shù)據(jù)挖掘聚集了統(tǒng)計學、機器學習、數(shù)據(jù)庫、模式識別、人工智能等學科的容,是一門新興的穿插學科。數(shù)據(jù)挖掘從一開

27、場就是面向應用的,它不僅是面向特定數(shù)據(jù)庫的簡單查詢調(diào)用,而且要對這些數(shù)據(jù)進展微觀、宏觀的統(tǒng)計,分析、綜合和推理,以指導實際問題的求解,企圖發(fā)現(xiàn)事件間的相互關(guān)聯(lián),甚至利用已有的數(shù)據(jù)對未來的活動進展預測。數(shù)據(jù)挖掘更強調(diào)的是從海量數(shù)據(jù)中發(fā)現(xiàn)隱含的知道和算法的可伸縮性,是一門很接近使用的技術(shù)。目前數(shù)據(jù)挖掘技術(shù)主要運用于商業(yè)、醫(yī)學、科研領(lǐng)域,著眼于海量數(shù)據(jù)集存儲、檢索與處理,目標是幫助人們從繁冗復雜的數(shù)據(jù)中發(fā)現(xiàn)有價值的信息,從而挖掘出其潛在的價值,提高其利用率。1.2 研究問題分析我國第二次經(jīng)濟普查自2008年12月31日正式啟動以來,現(xiàn)在已根本完成普查數(shù)據(jù)的收集、處理與上報工作。本次經(jīng)濟普查是我國經(jīng)濟

28、開展進入21世紀后進展的一項重大國情國力調(diào)查,是黨中央、國務院為正確認識國情、準確把握國力、科學制定國策而采取的一項重要舉措。也是在全球金融危機大背景下正確把握我國當前經(jīng)濟狀況的重要渠道的。只有通過經(jīng)濟普查,才能比較準確地把握中國經(jīng)濟變化的規(guī)律和趨勢,正確制定經(jīng)濟政策和社會經(jīng)濟開展規(guī)劃,進一步控制經(jīng)濟增長,提高經(jīng)濟開展速度,促進經(jīng)濟和社會協(xié)調(diào)開展,推動可持續(xù)開展戰(zhàn)略的實施。在這次經(jīng)濟普查中,從國民經(jīng)濟行業(yè)分類的具體構(gòu)成來看,涉及到19個大的行業(yè)歸類,875個行業(yè)小類??梢哉f這次經(jīng)濟普查提供的數(shù)據(jù)是非常完整的。面對普查之后的海量數(shù)據(jù)存儲,國家更需要有力的數(shù)據(jù)分析工具以及方法將豐富的數(shù)據(jù)轉(zhuǎn)換成有價

29、值的知識,否則大量的數(shù)據(jù)將成為數(shù)據(jù)豐富,但信息貧乏的“數(shù)據(jù)墳墓。數(shù)據(jù)挖掘技術(shù)正是從大型數(shù)據(jù)庫或數(shù)據(jù)倉庫中提取有潛在應用價值的信息或模式,旨在幫助人們從海量數(shù)據(jù)中發(fā)現(xiàn)有價值的信息。如何從普查數(shù)據(jù)中及時發(fā)現(xiàn)有用的信息,從而挖掘出其潛在的價值,提高其利用率,是經(jīng)濟普查數(shù)據(jù)研究領(lǐng)域的一項重要課題。1.3 國經(jīng)濟普查實踐與數(shù)據(jù)分析現(xiàn)狀事實上,經(jīng)濟普查的主要目的就是分析企業(yè)的財務信息,也就是財務數(shù)據(jù)挖掘。財務數(shù)據(jù)挖掘其實是一類深層次的財務數(shù)據(jù)分析方法。目前的經(jīng)濟普查系統(tǒng)可以高效地實現(xiàn)數(shù)據(jù)錄入、查詢和統(tǒng)計,但卻無法發(fā)現(xiàn)數(shù)據(jù)中存在的關(guān)系和規(guī)則,無法根據(jù)現(xiàn)有的經(jīng)普數(shù)據(jù)分析結(jié)果預測未來經(jīng)濟開展趨勢。傳統(tǒng)的財務分析

30、只是停留在較淺層次的分析,比方:因素分析、比例分析、趨勢分析等,對決策的幫助并不大,究其原因,正式缺乏有效的挖掘知識和手段,導致了“數(shù)據(jù)爆炸但知識貧乏的現(xiàn)象。而隨著數(shù)據(jù)庫技術(shù)的迅速開展以及數(shù)據(jù)庫系統(tǒng)的廣泛應用,企業(yè)積累的數(shù)據(jù)越來越多,如自身業(yè)務運作的數(shù)據(jù),資金運作的數(shù)據(jù),對外投資的數(shù)據(jù)和整個市場相關(guān)行業(yè)狀況的各種數(shù)據(jù),激增的數(shù)據(jù)背后隱藏著許多重要的信息。這些數(shù)據(jù)不再是為了編制財務經(jīng)濟報表、分析財務狀況而收集,分析這些數(shù)據(jù)也不再單純?yōu)榱肆私馄髽I(yè)各種狀況,更主要的是為決策者提供真正有價值的信息,也可幫助企業(yè)提供競爭力,在這種情況下,數(shù)據(jù)挖掘技術(shù)就顯得至關(guān)重要。1.4 本文研究容及方法本文認真分析了

31、數(shù)據(jù)挖掘的根本原理和一般方法,選擇了合理的數(shù)據(jù)挖掘工具。通過將數(shù)據(jù)挖掘技術(shù)應用到經(jīng)濟普查的數(shù)據(jù)分析中去,實現(xiàn)經(jīng)濟普查數(shù)據(jù)的充分開發(fā)以及利用。同時在數(shù)據(jù)挖掘技術(shù)應用研究的過程中,利用全國經(jīng)濟普查數(shù)據(jù),分析我市*區(qū)經(jīng)濟普查數(shù)據(jù)中假設干企業(yè)的經(jīng)濟指標間關(guān)系,并對結(jié)果進展評價,為相關(guān)部門制定決策提供依據(jù)。第二章 聚類分析算法2.1數(shù)據(jù)挖掘過程在實施數(shù)據(jù)挖掘之前先制定采取什么樣的步驟,每一步做什么,到達什么樣的目標,是非常必要的。有了好的方案才能保證數(shù)據(jù)挖掘有條不紊的實施,并取得成功?,F(xiàn)在,通用的數(shù)據(jù)挖掘是從數(shù)據(jù)集中識別出以模式來表示知識。它包含多個處理步驟,各個步驟之間互相影響并反復調(diào)整,形成一種螺旋

32、上升的過程。其過程包括以下幾個步驟:(1) 確定挖掘目標。了解應用領(lǐng)域和相關(guān)知識,從用戶的觀點出發(fā)確定數(shù)據(jù)挖掘的目標。這是實現(xiàn)數(shù)據(jù)挖掘的重要因素。相當于系統(tǒng)分析。這個過程要考慮的因素有:該領(lǐng)域的瓶頸是什么,目標是什么,挖掘模型的可理解性是否重要等。(2) 建立目標數(shù)據(jù)集。從現(xiàn)有的數(shù)據(jù)中,確定哪些數(shù)據(jù)是與本次數(shù)據(jù)分析任務相關(guān)的。根據(jù)挖掘目標從原始數(shù)據(jù)中選擇相關(guān)數(shù)據(jù)集,并將不同數(shù)據(jù)源中的數(shù)據(jù)集中起來,在這一階段需要解決數(shù)據(jù)挖掘平臺,操作系統(tǒng)和數(shù)據(jù)源數(shù)據(jù)類型等不同所產(chǎn)生的數(shù)據(jù)格式差異。(3) 數(shù)據(jù)預處理。對選擇數(shù)據(jù),需要進展數(shù)據(jù)清洗工作,將數(shù)據(jù)變成干凈的數(shù)據(jù)。目標數(shù)據(jù)集中不可防止的存在著不完整,不一

33、致,不準確和冗余的數(shù)據(jù),這些數(shù)據(jù)被稱為“臟數(shù)據(jù)。數(shù)據(jù)抽取之后通常采用基于規(guī)則的方法分析多數(shù)據(jù)源之間的關(guān)系,然后再對他們實施相應的處理。(4) 數(shù)據(jù)挖掘算法。使用適宜的數(shù)據(jù)挖掘算法進展數(shù)據(jù)分析。首先確定實現(xiàn)數(shù)據(jù)挖掘目標的數(shù)據(jù)挖掘功能;其次選擇適宜的模式搜索算法。數(shù)據(jù)挖掘的算法包括決策樹、神經(jīng)網(wǎng)絡、遺傳算法等。(5) 挖掘結(jié)果的評價與解釋。根據(jù)最終用戶的決策目的對數(shù)據(jù)挖掘的結(jié)果進展評價,將有用的結(jié)果以可視化的技術(shù)提供給用戶,讓用戶能夠?qū)δP徒Y(jié)果做出解釋,同事評價模型的有效性。2.2 聚類分析技術(shù)根底將物理或抽象對象的集合分組成為類似的對象組成的多個類或簇的過程被稱為聚類,聚類是數(shù)據(jù)挖掘三大領(lǐng)域(關(guān)

34、聯(lián)規(guī)則,聚類,分類)之一。由聚類所生成的簇是一組數(shù)據(jù)對象的集合,這些對象與同一個簇中的對象彼此相似,與其他簇中的對象相異。在血多應用中,可以將一個簇中的數(shù)據(jù)對象作為一個整體來對待。在商務上,聚類能幫助市場分析人員從客戶根本庫中發(fā)現(xiàn)不同的客戶群,并且用購置模式來刻畫不同客戶群的特征;在生物上,聚類分析被用來動植物分類和對基因進展分類,獲取對種群固有構(gòu)造的認識 ;在保險行業(yè)上,聚類分析通過一個高的平均消費來鑒定汽車保險單持有者的分組,同時根據(jù)住宅類型,價值,地理位置來鑒定一個城市的房產(chǎn)分組。聚類也能用于對WEB上的文檔進展分類,以發(fā)現(xiàn)信息。因為具有數(shù)據(jù)挖掘功能,聚類分析能作為一個獨立的工具來獲得數(shù)

35、據(jù)分布情況,觀察每個簇的特點,集中對*些特定的簇做進一步的分析。此外,聚類分析還可以作為其他算法(如特征化和分類等)的預處理步驟。這些算法再在生成的簇上進展處理。2.3 數(shù)據(jù)挖掘?qū)垲惖囊缶垲愂且粋€富有挑戰(zhàn)性的研究領(lǐng)域,它的潛在應用提出了各自特殊的要求數(shù)據(jù)挖掘?qū)垲惖牡湫鸵笕缦拢?. 可伸縮性:可伸縮性是指算法不管對于小數(shù)據(jù)集還是對于大數(shù)據(jù)集,都應是有效的。很多聚類算法在小于200個數(shù)據(jù)對象的小數(shù)據(jù)集上工作的很好,而到了包含上千萬個數(shù)據(jù)集對象的數(shù)據(jù)庫工作時,將會有偏差的結(jié)果出現(xiàn)。因此,數(shù)據(jù)挖掘需要具有高度可伸縮性的聚類算法。2. 處理不同字段類型的能力:許多算法被設計用來聚類數(shù)值類型的數(shù)據(jù)

36、。但是,應用可能要求聚類其他類型的數(shù)據(jù)。隨著數(shù)據(jù)在商務、科學、醫(yī)學和其他領(lǐng)域的應用越來越廣泛,越來越需要能夠處理不能字段類型的聚類算法。3. 能夠發(fā)現(xiàn)任意形狀的聚類:許多聚類算法是基于歐幾里得距離來決定聚類。基于這樣的距離度量算法趨向于發(fā)現(xiàn)具有相近尺度和密度的球狀簇,但是簇可能是任意形狀的。4. 用于決定輸入?yún)?shù)的領(lǐng)域知識的最小化:由于聚類結(jié)果對輸入?yún)?shù)的要求很敏感,但參數(shù)通常很難確定,特別是對于高維對象的數(shù)據(jù)來說。所以輸入?yún)?shù)的質(zhì)量直接影聚類的結(jié)果,這就加重了用戶的負擔。5. 處理噪聲數(shù)據(jù)的能力:絕大多數(shù)數(shù)據(jù)集中存在很多孤立點、空缺、未知數(shù)據(jù)或錯誤數(shù)據(jù)。一些聚類算法對于這樣的數(shù)據(jù)敏感,導致低

37、質(zhì)量聚類結(jié)果。6. 對輸入數(shù)據(jù)的順序不敏感:一些聚類算法對于輸入數(shù)據(jù)的順序是敏感的。對于同一個數(shù)據(jù)集合,以不同的順序提交給同一個算法時,可能產(chǎn)生差異很大的聚類結(jié)果,這是我們不希望的。研究和開發(fā)對數(shù)據(jù)輸入順序不敏感的算法具有重要的意義。7. 高維性。一個數(shù)據(jù)庫或是數(shù)據(jù)倉庫可能只包含假設干維,很多聚類算法只涉及兩到三維。人類對于三維以的數(shù)據(jù)有判斷性,高于三維的數(shù)據(jù)聚類的挑戰(zhàn)性很高,數(shù)據(jù)可能很稀疏,也可能高度偏斜。8. 基于約束的聚類?,F(xiàn)實世界可能要在約束條件下進展聚類,這就要求既要滿足客戶特定的約束,又具有良好聚類特性的數(shù)據(jù)分組。9. 可理解行和可用性。用戶希望聚類結(jié)果是可解釋的,可理解的,并且是

38、可用的。也就是,聚類與最后的應用相聯(lián)系。應用目標對聚類方法的影響也是一個重要的課題。2.4 聚類方法的分類大體上,主要的聚類算法可以劃分為如下幾類: (1) 劃分方法:給定一個包含n個對象或元組的數(shù)據(jù)庫,一個劃分方法構(gòu)建數(shù)據(jù)的k個劃分,每個劃分表示一個聚簇,并且 kn 。通常算法中會采用一個劃分準則(稱為相似度函數(shù)),例如距離,以便在同一個簇中的對象是“相似的,在不同簇中的對象是“相異的。K均值算法是目前應用最廣發(fā)的一種基于目標函數(shù)的劃分聚類方法,一般都采用梯度法求解極值。由于梯度法的搜索方向總是沿著能量減少的方向進展,因此容易陷入局部極小值。當結(jié)果簇密集并且各簇之間的區(qū)別明顯時,采用該算法效

39、果比較好。(2) 層次的方法 hierarchical method :層次的方法對給定數(shù)據(jù)對象集合進展層次的分解。根據(jù)層次的分解如何形成,層次的方法可以分為凝聚的和分裂的。凝聚的方法,也稱為自底向上的方法,一開場將每個對象作為單獨的一個組,然后相繼地合并相近的對象或組,直到所有的組合并為一個層次的最上層,或者到達一個終止條件。分裂的方法,也稱為自頂向下的方法,一開場將所有的對象置于一個簇中。在迭代的每一步中,一個簇被分裂為更小的簇,直到最終每個對象在單獨的一個簇中,或者到達一個終止條件。(3) 基于密度的方法 density-based method :絕大多數(shù)劃分方法基于對象之間的距離進展

40、聚類。這樣的方法只能發(fā)現(xiàn)球狀的簇,而在發(fā)現(xiàn)任意形狀的簇上遇到了困難。隨之提出了基于密度的另一類聚類方法,其主要思想是:只要臨近區(qū)域的密度對象或數(shù)據(jù)點的數(shù)目超過*個閾值,就繼續(xù)聚類。也就是說,對給定類中的每個數(shù)據(jù)點,在一個給定圍的區(qū)域中必須至少包含*個數(shù)目的點。這樣的方法可以用來過濾“噪聲孤立點數(shù)據(jù),發(fā)現(xiàn)任意形狀的簇。 (4) 基于網(wǎng)格的方法 grid-based method :基于網(wǎng)格的方法把對象空間量化為有限數(shù)目的單元,形成了一個網(wǎng)格構(gòu)造。所有的聚類操作都在這個網(wǎng)格構(gòu)造即量化的空間上進展。這種方法的主要優(yōu)點是它的處理速度很快,其處理時間獨立于數(shù)據(jù)對象的數(shù)目,只與量化空間中每一維的單元數(shù)目有

41、關(guān)。 (5) 基于模型的方法 model-based method :基于模型的方法為每個簇假定了一個模型,尋找數(shù)據(jù)對給定模型的最正確擬合。一個基于模型的算法可能通過構(gòu)建反映數(shù)據(jù)點空間分布的密度函數(shù)來定位聚類。它也基于標準的統(tǒng)計數(shù)字自動決定聚類的數(shù)目,考慮“噪聲數(shù)據(jù)或孤立點,從而產(chǎn)生強健的聚類方法。第三章 K均值算法3.1 K均值算法思想K均值算法屬于聚類分析方法中一種根本的劃分算法,是到目前為止用于科學和工業(yè)應用的諸多算法中一種極有影響力的技術(shù)。它是一種聚類類別數(shù)的聚類算法。指定類別數(shù)為K,對樣本集合進展聚類,聚類的結(jié)果由K個聚類中心來表達,基于給定的聚類目標函數(shù),算法采用迭代更新的方法,每

42、一次迭代過程都是向目標函數(shù)值減小的方向進展,最終聚類的結(jié)果使目標函數(shù)值取得極小值,到達較優(yōu)的聚類效果。下面說明這類算法的主要方法和特點:K均值算法:算法首先隨機選取K個點作為初始聚類中心,然后計算各個數(shù)據(jù)對象到各聚類中心的距離,把數(shù)據(jù)對象歸到離它最近的那個聚類中心所在類;對調(diào)整后的新類計算新的聚類中心,如果相鄰兩次的聚類中心沒有任何變化,說明數(shù)據(jù)對象調(diào)整完畢,聚類準則函數(shù)收斂。本算法的一個特點是在每次迭代中都要考察每個樣本的分類是否正確,假設不正確,就要調(diào)整。在全部數(shù)據(jù)調(diào)整完后,再修改聚類中心,進入下一次迭代。如果在一次迭代算法中,所有的數(shù)據(jù)對象被正確分類,則不會有調(diào)整,聚類中心也不會有任何變

43、化,至此算法完畢。3.1 K均值算法流程K均值算法框架如下:(1) 從數(shù)據(jù)集中隨機選擇K個對象作為初始簇中心,即初始均值;(2) Repeat;(3) 根據(jù)簇中對象的均值,將剩余的每個對象指派到最相似的簇;(4) 更新簇均值,即重新計算每個簇中對象的均值;(5) Until均值不再發(fā)生變化。我們不難看出,K個初始聚類中心點地選取對聚類結(jié)果具有較大的影響,因為在該算法中是隨機地選取任意K個點作為初始聚類中心。如果有經(jīng)歷的話,可以選取具有代表性的點。例如;假設給定如下要進展聚類的元祖:2,4,10,12,3,20,30,11,25假設要求的簇的數(shù)量K=2應用K均值算飯:第一步:初始時用前個數(shù)值作為

44、簇的質(zhì)心,這兩個簇的質(zhì)心是:m1=1;m2=4;第二步:對剩余的每個對象,根據(jù)其與各個簇中心的距離,將它賦給最近的簇,可得:K1=2,3;K2=4,10,12,20,30,11,25;數(shù)值3與兩個均值距離相等,所以任意的選擇K1作為其所屬的簇。第三步:計算新的質(zhì)心m1=(2+3)/2=2.5;m2=(4+10+12+20+30+11+25)/7=16;重新對簇總成員進展分配可得K1=2,3,4和10,12,20,30,11,25,不斷重復這個過程最終可得K1=2,3,4,10,11,12和K2=20,30,25。第四章 K均值算法在經(jīng)普數(shù)據(jù)分析上的實現(xiàn)4.1 數(shù)據(jù)的采集、預處理美國注冊會計師協(xié)

45、會通過對大量的信貸者、投資者、財務分析人員以及投資參謀公司從業(yè)人員調(diào)查后,發(fā)表了?改進企業(yè)報告-顧客導向?的研究報告,認為信息使用者需要,而且企業(yè)能夠提供信息的主要包括下面幾個方面:(1) 財務與財務數(shù)據(jù);(2) 企業(yè)管理人員對財務與非財務數(shù)據(jù)的分析結(jié)果;(3) 前瞻性信息(包括預測、決策和思路);(4) 關(guān)于企業(yè)股東和高層管理人員的信息;(5) 企業(yè)的背景資料。本文將從第一點出發(fā),即企業(yè)的財務與財務數(shù)據(jù)入手,所用的數(shù)據(jù)來自我市*區(qū)的第二次經(jīng)濟普查數(shù)據(jù)中,選取10家建筑企業(yè)的財務報表-C603表為數(shù)據(jù)樣本,假設經(jīng)普數(shù)據(jù)挖掘結(jié)果將用于銀行向這10家建筑企業(yè)提供貸款做參考為例,從企業(yè)的盈利能力、經(jīng)

46、營能力、償債能力等三個方面選取了6個貸款時銀行關(guān)注的指標作為數(shù)據(jù)分析的指標,利用聚類分析中的K-均值算法來對企業(yè)的經(jīng)濟效益進展研究分析。表是經(jīng)過數(shù)據(jù)預處理后的數(shù)據(jù)集:企業(yè)資產(chǎn)凈利潤率%固定資產(chǎn)利潤率%總產(chǎn)值利潤率率%本錢費用利潤率%資產(chǎn)負債率%盈利A12.267.5是B32.345.9是C0.843.1否D40.450.3是E25.012.711.212.948.2是F4.442.1否G6.059.6否H34.360.6是I35.612.516.422.8

47、46.8是J22.07.89.912.655.3是(表)4.2 算法演示為了方便結(jié)果的分析,這里我們選取企業(yè)總產(chǎn)值利潤率和資產(chǎn)負債率作為數(shù)據(jù)集實驗對象。選K=3,將數(shù)據(jù)集分為3個簇。第一步,任意選取三個數(shù)值作為初始簇均值,利用比較歐幾里德距離差的絕對值作為函數(shù)收斂準則,根據(jù)剩余對象與初始簇均值的距離,將每個對象分布于最近的簇中。第二步,求出簇中各數(shù)值的平均值作為新的簇均值。如簇中數(shù)據(jù)為0.094,0.072.0.099,則新均值為(0.094+0.072+0.099)/3=0.088,繼續(xù)比較歐幾里德距離,重新指派各數(shù)值到最相似的簇。將選取的三個初始均值輸入數(shù)據(jù)分析系統(tǒng),可得表(總產(chǎn)值利潤率)

48、、表4.2.2(資產(chǎn)負債率)??偖a(chǎn)值利潤率 a b c K1 K2 K3初始均值0.1130.0940.0560.113,640.094,0.082,0.0990.039,0.007,0.056,0.071更新均值0.1290.0880.0430.112,0.113,0.1640.094,0.099,0.082,0.0710.039,0.007,0.056 準則函數(shù)收斂 企業(yè)A,E,IB,D,H,JC,F,G表(總產(chǎn)值利潤率)資產(chǎn)負債率 a b c K1K2K3初始均值67.545.943.167.5,60.6,59.645.9,50.3,48.2,46.8,55.343.1

49、,42.1更新均值62.549.342.667.5,60.6,59.650.3,48.2,46.8,55.345.9,43.1,42.1更新均值62.550.143.767.5,60.6,59.650.3,48.2,46.8,55.345.9,43.1,42.1 準則函數(shù)收斂企業(yè)A,H,GD,E,JI,B,C,F表(資產(chǎn)負債率)4.3 數(shù)據(jù)分析K均值算法在本文中主要是對企業(yè)總產(chǎn)值率和資產(chǎn)負債率進展聚類分析,從而考察企業(yè)的經(jīng)營狀況。采取歐式距離進展聚類分析,類之間的距離采用差的絕對值便于數(shù)據(jù)的計算,為K均值算法在挖掘經(jīng)普數(shù)據(jù)中的運用提供了可行性。企業(yè)總產(chǎn)值利潤率是利潤總額與企業(yè)總產(chǎn)值的比值,反映

50、了企業(yè)獲利能力。資產(chǎn)負債率是負債總額與資產(chǎn)總額之比,這一比率是企業(yè)償債能力的核心指標。兩個指標是銀行給企業(yè)提供貸款時考察其經(jīng)營狀況,分析貸款規(guī)模以及經(jīng)濟風險的重要依據(jù),從表二可以看出聚類后的三個企業(yè)集合:第一類企業(yè)集合A,E,I,總產(chǎn)值利潤率為同類企業(yè)中較高,且固定資產(chǎn)利潤率和本錢費用利潤率,與資產(chǎn)凈利潤率相比根本上趨于平衡,屬于經(jīng)營盈利能力較好的企業(yè);第二類企業(yè)集合B,D,H,I資產(chǎn)凈利潤率較之第一類企業(yè)根本持平,但資產(chǎn)負債率偏高,其經(jīng)營能力并沒有很好表達出來,屬于盈利能力一般的企業(yè);第三類企業(yè)C,F,G總產(chǎn)值利潤率明顯偏低,與資產(chǎn)負債率相比嚴重不平衡,這類企業(yè)并不能保證實現(xiàn)盈利,隨時可能面

51、臨經(jīng)濟風險。同時假設銀行向這幾家企業(yè)提供貸款,參考此聚類結(jié)果,以總產(chǎn)值利潤率8%作為考核企業(yè)盈利能力的標準,則A,E,I屬于達標企業(yè),B,D,H,I屬于有風險企業(yè),而C,F,G企業(yè),銀行則暫時不能向其提供貸款。也可以對表1進展類似結(jié)果分析。第五章 K均值算法分析系統(tǒng)的設計5.1 開發(fā)工具及運行環(huán)境簡介環(huán)境要求操作系統(tǒng)(OS)Windows *P.net frameworkVersion1.1或更高開發(fā)工具VB.NET數(shù)據(jù)庫SQLserver20005.2 主界面運行程序,首先進展登錄,登錄界面如圖所示。圖 系統(tǒng)登錄界面生成的代碼如下:PrivateSub Button1_Click(ByVal

52、 sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim pw AsStringIf tb_password.Te*t = " Then MsgBo*("密碼不能為空,請輸入正確的密碼,!", MsgBo*Style.OKOnly, "警告")ElseDim m_pw AsNew OleDbmand m_pw.Connection = conn1 m_pw.mandTe*t = "select 密碼 from 密碼表"Try

53、 conn1.Open() pw = m_pw.E*ecuteScalarIf tb_password.Te*t = pw Then Button2.Visible = True Button3.Visible = True Button4.Visible = True Button5.Visible = True Button1.Visible = False Label1.Te*t = "管理員登陸成功!"Else Label1.Te*t = "密碼錯誤!" tb_password.Te*t = "EndIfCatch e* As E*ce

54、ption MsgBo*(e*.Message)Finally conn1.Close()EndTryEndIf tb_password.Te*t = "EndSub登錄成功后,系統(tǒng)開場運行,首先進入主界面,如圖所示。圖 系統(tǒng)主界面系統(tǒng)主界面主要由三個功能模塊組成,分別是:運算模塊;數(shù)據(jù)管理模塊;密碼修改模塊。5.3 修改密碼修改密碼模塊用于修改當前用戶的密碼,其窗體設計界面如圖所示。在修改密碼窗體中,點擊修改密碼后,必須輸入要修改的新密碼,否則提示“密碼不能為空,請重新輸入。 生成的代碼如下:PrivateSub Button2_Click(ByVal sender As Syst

55、em.Object, ByVal e As System.EventArgs) Handles Button2.ClickDim pwd AsStringDim m_p AsNew OleDbmand m_p.Connection = conn1 pwd = InputBo*("請在下面的文本框中輸入新的密碼", "修改密碼", ") '獲取密碼的對話框If pwd <> " Then'判斷密碼是否為空 m_p.mandTe*t = "update 密碼表 set 密碼='" +

56、 pwd + "'"Try conn1.Open() m_p.E*ecuteNonQuery() MsgBo*("密碼修改成功!")Catch e* As E*ception MsgBo*(e*.Message)Finally conn1.Close()EndTryElse MsgBo*("密碼不能為空,請重新輸入!", MsgBo*Style.OKOnly, "提示")EndIfEndSub5.5 運算模塊運算模塊是本系統(tǒng)的一個重要環(huán)節(jié),運算模塊的界面如圖所示:圖運算模塊主要是對K均值算法的實現(xiàn),A1,B

57、1,C1三個文本框用來輸入隨機選取的三個初始均值,比照數(shù)據(jù)輸入框用來輸入剩下的對象值。輸入一個對象值,再點擊【運算】按鈕,系統(tǒng)會自動將該對象值指派到最相似的簇,并在A組,B組,C組三個文本框中顯示出來。再點擊【平均值】按鈕,可以求出每個簇中的新均值,并在A2,B2,C2文本框中顯示出來,如此重復計算,直到均值不再發(fā)生變化,最后聚類分組的三個簇將在A2,B2,C2中顯示出來。生成的主要代碼如下:Dim a() AsDouble = 0, 0, 0, 0, 0Dim b() AsDouble = 0, 0, 0, 0, 0Dim c() AsDouble = 0, 0, 0, 0, 0Dim a1

58、1() AsDouble = 0, 0, 0, 0, 0, 0, 0, 0, 0Dim b11() AsDouble = 0, 0, 0, 0, 0, 0, 0, 0, 0Dim c11() AsDouble = 0, 0, 0, 0, 0, 0, 0, 0, 0Dim aa, bb, cc AsIntegerPrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load Button3.Visible = False Button4.Visible = F

59、alse Button5.Visible = False Button2.Visible = FalseEndSubPrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim num_in, a1, b1, c1, d1, d2, d3 AsDouble num_in = t4.Te*t a1 = t1.Te*t b1 = t2.Te*t c1 = t3.Te*tIf num_in <> 0 And a1 <>

60、0 And b1 <> 0 And c1 <> 0 Then d1 = Math.Abs(num_in - a1) d2 = Math.Abs(num_in - b1) d3 = Math.Abs(num_in - c1)If d1 < d2 ThenIf d1 < d3 Then Te*tBo*1.Te*t += num_in.ToString + " " a(aa) = num_in aa = aa + 1Else Te*tBo*3.Te*t += num_in.ToString + " " c(cc) = num

61、_in cc = cc + 1EndIfElseIf d2 > d3 Then Te*tBo*3.Te*t += num_in.ToString + " " c(cc) = num_in cc = cc + 1Else Te*tBo*2.Te*t += num_in.ToString + " " b(bb) = num_in bb = bb + 1EndIf Button3.Visible = TrueElse MsgBo*("初始數(shù)據(jù)不得為空!")EndIfEndSubPrivateSub Button3_Click(ByVa

62、l sender As System.Object, ByVal e As System.EventArgs) Handles Button3.ClickDim i, m, n AsIntegerDim sum_a, sum_b, sum_c AsDoubleFor i = 0 To a.Length - 1 sum_a = sum_a + a(i)Ne*t iFor m = 0 To b.Length - 1 sum_b = sum_b + b(m)Ne*t mFor n = 0 To c.Length - 1 sum_c = sum_c + c(n)Ne*t n Te*tBo*4.Te*t

63、 = sum_a / aa Te*tBo*5.Te*t = sum_b / bb Te*tBo*6.Te*t = sum_c / cc Button4.Visible = TrueEndSubPrivateSub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.ClickDim i, m, n, o, p, q AsInteger aa = bb = cc = 0Dim a1, b1, c1 AsDouble a1 = Te*tBo*4.Te*t b1 = Te*

64、tBo*5.Te*t c1 = Te*tBo*6.Te*tFor i = 0 To a.Length - 1If a(i) <> 0 ThenDim d1, d2, d3 AsDouble d1 = Math.Abs(a(i) - a1) d2 = Math.Abs(a(i) - b1) d3 = Math.Abs(a(i) - c1)If d1 < d2 ThenIf d1 < d3 Then Te*tBo*9.Te*t += a(i).ToString + " " a11(aa) = a(i) aa = aa + 1Else Te*tBo*7.T

65、e*t += a(i).ToString + " " c11(cc) = a(i) cc = cc + 1EndIfElseIf d2 > d3 Then Te*tBo*7.Te*t += a(i).ToString + " " c11(cc) = a(i) cc = cc + 1Else Te*tBo*8.Te*t += a(i).ToString + " " b11(bb) = a(i) bb = bb + 1EndIfElse i = i + 1EndIfNe*t iFor m = 0 To b.Length - 1If b(m) <> 0 ThenDim d1, d2, d3 AsDouble d1 = Math.Abs(b(m) - a1) d2 = Math.Abs(b(m) - b1) d3 = Math.Abs(b(m) - c1)If d1 < d2 ThenIf d1 < d3 Then Te*tBo*9.Te*t += b(m).ToString + " " a11(aa) = b(m) aa = aa + 1Else Te*tBo*7.Te*t += b(m).ToString + " &qu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論