版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 本科畢業(yè)設(shè)計(論文)</p><p><b> ( 屆)</b></p><p> 論文題目連續(xù)數(shù)據(jù)的離散化研究</p><p> 所在學院 </p><p> 專業(yè)班級 信息管理與信息系統(tǒng) </p>
2、<p> 學生姓名 學號 </p><p> 指導教師 職稱 </p><p> 完成日期 年 月 日</p><p><b> 誠 信 聲 明</b></p><p>
3、 我申明,所呈交的論文(設(shè)計)是本人在老師指導下進行的研究工作及取得的研究成果。據(jù)我查證,除了文中特別加以標注和致謝的地方外,論文(設(shè)計)中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得______或其他教育機構(gòu)的學位或證書而使用過的材料。我承諾,論文(設(shè)計)中的所有內(nèi)容均真實、可信。</p><p> 論文(設(shè)計)作者簽名: 簽名日期: 年 月 日</p>&
4、lt;p><b> 授 權(quán) 聲 明</b></p><p> 學校有權(quán)保留送交論文(設(shè)計)的原件,允許論文(設(shè)計)被查閱和借閱,學校可以公布論文(設(shè)計)的全部或部分內(nèi)容,可以影印、縮印或其他復制手段保存論文(設(shè)計),學校必須嚴格按照授權(quán)對論文(設(shè)計)進行處理,不得超越授權(quán)對論文(設(shè)計)進行任意處置。</p><p> 論文(設(shè)計)作者簽名:
5、 簽名日期: 年 月 日</p><p> 連續(xù)數(shù)據(jù)的離散化研究</p><p> 中文摘要: 數(shù)據(jù)資源是21世紀的新興戰(zhàn)略資源,因此對數(shù)據(jù)資源進行數(shù)據(jù)挖掘是非常重要的一項工作,而對連續(xù)數(shù)據(jù)進行離散化處理是數(shù)據(jù)挖掘過程中必不可少的一項工作。連續(xù)數(shù)據(jù)的離散化研究作為一種相對比較新興的領(lǐng)域,其現(xiàn)有的算法還遠沒有達到令人滿意的程度。因此,本人認為對連續(xù)數(shù)據(jù)的離散化研究是當今國內(nèi)的一
6、個重要的課題。本文闡述連續(xù)數(shù)據(jù)的離散化的研究現(xiàn)狀、研究方法、決策樹、幾種離散化方法。主要通過使用C4.5算法,在Visual Studio.NET編寫代碼來實現(xiàn)連續(xù)數(shù)據(jù)的離散化。</p><p> 關(guān)鍵詞:決策樹;C4.5;離散化方法</p><p> The Research of Discretization of Continuous Data</p><p&
7、gt; Abstract: Data resource is the 21st century's emerging strategy resources, so data mining is a very important work, and the discretization of continuous data is a necessary job in data mining process. As a relat
8、ively new field, the existing algorithm of discretization of continuous data is far from reaching satisfactory degree. Therefore, I think the discretization of continuous data research a very important issue in the domes
9、tic. This paper expounds the present situation of research of discret</p><p> Key words: The decision tree;C4.5;Discretization method</p><p><b> 目錄</b></p><p><b>
10、; 第1章 緒論1</b></p><p> 1.1 選題背景及意義1</p><p> 1.2 研究的基本內(nèi)容1</p><p> 1.3 研究的基本方法2</p><p> 1.3.1 文獻分析法2</p><p> 1.3.2 面向?qū)ο蟪绦蛟O(shè)計3</p>
11、<p> 第2章 決策樹4</p><p> 2.1 決策樹4</p><p> 2.2 創(chuàng)建決策樹的步驟5</p><p> 第3章 數(shù)據(jù)離散化的幾類算法8</p><p> 3.1 離散化的基本算法和標準8</p><p> 3.1.1 離散化的基本算法8</
12、p><p> 3.1.2 離散化算法的標準8</p><p> 3.2 離散化算法的分類和比較8</p><p> 3.3 BMIC離散化算法9</p><p> 3.4 基于云模式連續(xù)型屬性離散化的算法10</p><p> 3.5 人工魚群算法11</p><p>
13、 第4章 BMIC離散化實現(xiàn)12</p><p> 4.1 開發(fā)工具12</p><p> 4.1.1 整體功能12</p><p> 4.1.2 組件構(gòu)成12</p><p> 4.1.3 版本13</p><p> 4.2 BMIC設(shè)計13</p><p>
14、; 4.2.1 運行界面13</p><p> 4.2.2 運行結(jié)果14</p><p> 4.2.3 類15</p><p> 第5章 總結(jié)與展望24</p><p><b> 致 謝25</b></p><p><b> 參考文獻25</b&g
15、t;</p><p><b> 1 緒論</b></p><p> 1.1 選題背景及意義</p><p> 如今,隨著計算機的普及,網(wǎng)絡(luò)以及通訊等信息技術(shù)的高速發(fā)展,當今社會已經(jīng)進入了網(wǎng)絡(luò)信息時代。隨著計算機技術(shù)的高速發(fā)展,包括存儲技術(shù)、數(shù)據(jù)技術(shù)和網(wǎng)絡(luò)技術(shù)等信息處理方式,已經(jīng)人們對計算機的認識和管理水平的提高,對信息的處理在整個社會
16、生產(chǎn)中實現(xiàn)規(guī)模產(chǎn)業(yè)化,在技術(shù)上表現(xiàn)為對大規(guī)模數(shù)據(jù)操作的產(chǎn)業(yè)化已經(jīng)得到實現(xiàn)。而且隨著存儲設(shè)備的單位價格不斷下跌而容量卻急劇地擴大,關(guān)系數(shù)據(jù)庫、對象數(shù)據(jù)庫、多媒體數(shù)據(jù)庫、地理信息數(shù)據(jù)庫和空間數(shù)據(jù)庫的不斷成熟并得到廣泛的應(yīng)用,數(shù)據(jù)庫管理系統(tǒng)的日益普及,這使得人們所積累的數(shù)據(jù)越來越多,并且數(shù)據(jù)與信息系統(tǒng)中的不確定性更加顯著。</p><p> 作為二十一世紀的重要資源,信息資源的價值已經(jīng)越來越得到人們重視,并且很多國家
17、把信息資源挖掘作為國家發(fā)展的一項重要指標。海量的數(shù)據(jù)背后隱藏著許多重要的信息,但是目前的數(shù)據(jù)庫系統(tǒng)僅僅只能高效地實現(xiàn)數(shù)據(jù)的錄入、查詢、統(tǒng)計等功能,卻無法挖掘數(shù)據(jù)中存在的關(guān)系和規(guī)則,無法根據(jù)現(xiàn)在的數(shù)據(jù)預(yù)測未來的發(fā)展趨勢,即缺乏挖掘數(shù)據(jù)背后隱藏關(guān)系的手段。因此,如何從大量的、雜亂無章的、有強干擾的數(shù)據(jù)中挖掘出數(shù)據(jù)背后又利用價值的信息,由此產(chǎn)生了人工智能研究的一個嶄新領(lǐng)域——數(shù)據(jù)挖掘(Data Mining,簡稱DM)[1]。</p&g
18、t;<p> 在傳統(tǒng)的機器語言學習中,連續(xù)數(shù)據(jù)離散化技術(shù)被當作邊緣性課題,因而沒有受到足夠的重視,但近年來隨著數(shù)據(jù)挖掘的不斷發(fā)展,數(shù)據(jù)離散化技術(shù)漸漸在數(shù)據(jù)挖掘技術(shù)中顯現(xiàn)出其不可替代的重要性,在規(guī)則提取、特征分類等這些算法中,特別是在應(yīng)用粗集理論進行數(shù)據(jù)挖掘的研究中,連續(xù)屬性數(shù)據(jù)必須要進行離散化處理,因此國內(nèi)的專家和學者開始越來越關(guān)注連續(xù)數(shù)據(jù)的離散化[2]。</p><p> 對連續(xù)數(shù)據(jù)的離散化雖
19、不是什么研究的熱點,然而它是對數(shù)據(jù)信息進行預(yù)處理的一個重要部分。實際數(shù)據(jù)庫中存在較多的連續(xù)型屬性,而現(xiàn)有的很多數(shù)據(jù)挖掘方法只能處理離散型的屬性,因而需要對連續(xù)屬性進行離散化。因此,連續(xù)數(shù)據(jù)離散化方法成為數(shù)據(jù)挖掘領(lǐng)域的重要性工作,直接影響數(shù)據(jù)挖掘的質(zhì)量。但作為一種相對比較新興的領(lǐng)域,其現(xiàn)有的算法還遠沒達到令人滿意的程度。因此,對連續(xù)數(shù)據(jù)的離散化研究是當今國內(nèi)的一個重要的課題。</p><p> 1.2 研究的基
20、本內(nèi)容</p><p> ?。?)本文主要對連續(xù)數(shù)據(jù)的離散化進行研究,主要包括決策樹及決策樹的建立、離散化的幾種算法。</p><p> (2)學習幾種離散化的方法,采用BMIC的方法在Visual Studio.NET的編程環(huán)境下編寫代碼,并實現(xiàn)對連續(xù)數(shù)據(jù)的離散化。</p><p> 1.3 研究的基本方法</p><p> 本文采
21、用的研究方法有文獻分析法、面向?qū)ο蟪绦蛟O(shè)計兩種。</p><p> 1.3.1 文獻分析法</p><p> 文獻分析法主要指搜集、鑒別、整理文獻,并通過對文獻的研究等途徑,形成對事實科學認識的方法。由于文獻分析法和內(nèi)容分析法有共同的對象,都不與文獻中記載的人與事直接接觸,因此,都稱為非接觸性研究方法。</p><p> 現(xiàn)代對文獻的定義指的是“已經(jīng)發(fā)表過的
22、、或者雖未發(fā)表但已被整理、報導過的那些保存有知識等的一切載體”?!耙磺休d體”,包括期刊、圖書、科學報告、檔案、學位論文等常見的紙面印刷品,也包括有實物形態(tài)在內(nèi)的各種材料。</p><p> 從整理情況分類,文獻可以分為4類:</p><p> ?。?) 零次文獻(零次文獻指曾經(jīng)歷過特別事件或行為的人以撰寫的目的描述或使用其他方式的實況紀錄,是有意識處理的和未經(jīng)發(fā)表的最原始的資料,即pri
23、mary documents);</p><p> ?。?) 一次文獻(直接記錄事件經(jīng)過、調(diào)查報告、新知識、研究成果、論文、新技術(shù)的專著等文獻);</p><p> (3) 二次文獻(對一次文獻進行檢索性的文獻);</p><p> ?。?)三次文獻(通過在利用二次文獻檢索的基礎(chǔ)上,系統(tǒng)地對一次文獻整理并概括論述等幾方面操作的文獻)[3]。</p>
24、<p> 文獻分析法的方法有許多種,而常用到的方法是內(nèi)容分析法,內(nèi)容分析法的過程有建立研究目標、確定研究總體和選擇分析單位、抽樣和量化分析材料、設(shè)計分析維度體系、進行評判記錄和分析推論等幾部分的步驟。具體內(nèi)容如下:</p><p><b> ?。?) 研究目標</b></p><p> 在現(xiàn)在教育科學研究中,內(nèi)容分析法運用于多種研究目標的研究工作。常用到
25、的類型有:現(xiàn)狀分析、趨勢分析、意向分析、比較分析。</p><p> ?。?) 設(shè)計分析維度及體系</p><p> 設(shè)計分析維度、類別有兩類基本方法,一是根據(jù)研究的目標,研究者自行設(shè)計,二是采用現(xiàn)成的分析維度系統(tǒng)。</p><p> 分析維度(分析類目)是根據(jù)現(xiàn)有的研究需要而設(shè)計的將資料內(nèi)容進行分類的項目和標準。</p><p> ?。?/p>
26、3) 抽取分析材料(抽樣)</p><p> 抽樣工作包括兩個方面的內(nèi)容:一是對總體進行界定,二是從總體中抽取一些具有代表性的樣本。內(nèi)容分析法常用的三種抽樣方式是:分析單位取樣、日期抽樣、來源取樣。</p><p><b> (4) 量化處理</b></p><p> 量化處理就是把樣本從形式上轉(zhuǎn)化為數(shù)據(jù)化形式的過程,包括作評判記錄、進行
27、信度分析等兩部分內(nèi)容。根據(jù)已確定的分析維度(類目)和分析單位,對樣本中的信息來進行分類記錄,并且登記下每一個分析單位中分析維度(類目)的出現(xiàn)的頻率和判斷是否存在,這就是評判記錄[4]。</p><p> 1.3.2 面向?qū)ο蟪绦蛟O(shè)計</p><p> 面向?qū)ο缶幊蹋∣bject Oriented Programming,OOP,面向?qū)ο蟪绦蛟O(shè)計)是一種計算機編程架構(gòu)。面向?qū)ο蟪绦蛟O(shè)計
28、中主要包括的概念:對象、數(shù)據(jù)抽象、類、繼承、多態(tài)性、數(shù)據(jù)封裝、動態(tài)綁定、消息傳遞。面向?qū)ο蟮乃枷胪ㄟ^這些概念得到了具體的體現(xiàn)[5]?!?lt;/p><p> 對象:對象是具有數(shù)據(jù)、標識和行為的編程結(jié)構(gòu),對象是運行期的基本實體,它是一個數(shù)據(jù)封裝和這些數(shù)據(jù)的代碼操作的邏輯實體,對象數(shù)據(jù)包括在對象的字段、屬性和事件中。 </p><p> 類:類是對相同類型的對象的抽象。類像結(jié)構(gòu)一樣,類也定義
29、了數(shù)據(jù)類型的數(shù)據(jù)和行為,然后程序員可以創(chuàng)建作為此類的實例的對象。一個對象所包含的所有數(shù)據(jù)和代碼可以通過類來構(gòu)造。 </p><p> 封裝:將數(shù)據(jù)和代碼捆綁到起來,以避免了外界的干擾和不確定性等因素,這就是封裝。同時對象的某些代碼和數(shù)據(jù)是私有的,且不能被外界訪問,通過封裝操作來實現(xiàn)數(shù)據(jù)和代碼不同級別設(shè)置的訪問權(quán)限。 </p><p> 繼承:通過某個類型的對象來獲得其他類型的對象
30、的特征的過程就是對象的繼承。通過對象的繼承可以實現(xiàn)重用代碼,即從已存在的類中派生出的一個新類,并且繼承原來那個類的特性,同時,它還可以創(chuàng)建自己的新特性。</p><p> 多態(tài):多態(tài)是指不同事物具有不同表現(xiàn)形式的能力。一個類可以用作多種類型,可以用作它自己的類型、任何基類型或者在實現(xiàn)接口時用作任何接口類型,這也稱作為多態(tài)性。具有不同內(nèi)部結(jié)構(gòu)的對象通過多態(tài)機制可以共享相同的外部接口,從而能夠減少代碼的復雜度。&l
31、t;/p><p> 方法:方法是包括一系列語句的代碼塊,是定義一個類可以做的,但不一定會去做的事。</p><p> 動態(tài)綁定:調(diào)用一個過程并與相應(yīng)代碼鏈接起來的過程就是綁定。動態(tài)綁定則是指,只有在運行期,調(diào)用給定的過程中相關(guān)聯(lián)的代碼才可知的一種綁定,這是多態(tài)實現(xiàn)的具體形式。</p><p> 消息傳遞:消息傳遞指的是對象之間溝通的途徑就是對象之間進行收發(fā)信息的過
32、程。消息內(nèi)容包括需要調(diào)用的函數(shù)的標識,接收消息的對象的標識,以及其他必要的信息。消息傳遞的概念讓面向?qū)ο蟪绦蛟O(shè)計對現(xiàn)實世界的描述變得更加簡捷[5]。 </p><p><b> 2 決策樹</b></p><p> 決策樹是一種能夠直觀、清晰地表達加工的邏輯要求,用二叉樹形圖來表示處理邏輯的工具,尤其適合應(yīng)用于邏輯組合關(guān)系不復雜、判斷因素比較少的情況。許多機
33、器學習法采用的基本知識表達形式是決策樹,也就是很多數(shù)據(jù)挖掘的輸出采用的形式。</p><p><b> 2.1 決策樹</b></p><p> 以下我們先引用一個決策樹的例子:隱形眼鏡</p><p><b> 表2-1視力檢查表</b></p><p> 圖2-1 關(guān)于視力診斷的決策樹
34、</p><p> 以上是一個簡單化的模型:隱形眼鏡數(shù)據(jù),是通過給出的一些有關(guān)病人的信息,來告訴患者被推薦的隱形眼鏡類型。</p><p> 表2-1的第一列給出了患者的年齡,第二列給出了眼睛的診斷:myope是近視,Hypermetrope是遠視;第三列顯示患者是否散光;第四列是有關(guān)眼淚的產(chǎn)生率,這是一個重要因素,因為隱形眼鏡需要淚水潤滑,最后一列顯示所推薦的隱形眼鏡的種類:hard
35、、soft或者none。這個表呈現(xiàn)了所有的屬性的組合。</p><p> 圖2-1以一個決策樹的形式展示了關(guān)于隱形眼鏡數(shù)據(jù)的結(jié)構(gòu)的表述,在多種用途上是一個更簡練、明確了的規(guī)則表示法,并且有更加便于觀察的優(yōu)勢。樹首先對屬性淚流量進行測試,產(chǎn)生的兩個分支與兩個可能的輸出結(jié)果相對應(yīng)。如果淚流量是reduced(左支),輸出是none;如果是normal(右支),第二個測試是散光屬性。最后,無論測試是什么結(jié)果,所達到的
36、樹的葉子指出了向病人推薦的隱形眼鏡的類型。</p><p> 以上就是一個決策樹的例子。</p><p> 一個決策樹上的節(jié)點包含了對某個特定屬性的測試。通常來說,在一個節(jié)點上的測試是比較一個屬性值與一個常量。然而,有一些樹節(jié)點上的測試其實就是在兩個屬性值與一個常量之間進行比較。葉節(jié)點對所有到達葉實例給出一組分類,或者一個分類,或是包括了所有可能分類的一個概率分布。在對一個未知實例進行
37、分類時,在各個連續(xù)節(jié)點上對未知實例的屬性值進行測試,然后根據(jù)測試的結(jié)果,從樹的自上而下地尋找出一條路徑,當實例到達目標葉子時,葉子所標注的類就是該實例的分類 [6]。</p><p> 在一個節(jié)點上測試,如果測試的屬性是名詞性屬性,那么在這個節(jié)點之下產(chǎn)生這個名詞性屬性所有可能屬性值數(shù)量的分支。在這種情形下,因為任何一個可能的名詞性屬性值都對應(yīng)一個分支,所以在以后的建樹過程中,相同的名詞性屬性將不會再次被測試。而
38、有些時候,名詞性屬性值被分成兩個子集,那么就產(chǎn)生兩個分支,屬性值所在的子集決定了實例的分配。在這種情況下,也許會在一條路徑上一個名詞性屬性將會被不止一次地測試。</p><p> 在一個節(jié)點上測試,如果測試的屬性是數(shù)值屬性,那么事先定義好一個常量,在一個節(jié)點上的測試中一般是判斷這個數(shù)值是否大于或者小于這個常量,并導出一個二叉分裂。或者也可能使用三叉分裂,甚至將會出現(xiàn)多個不同的可能性。若把殘缺值也作為一個獨立的屬
39、性值看待的話,那么將產(chǎn)生出第三個分支。對于為實數(shù)值屬的數(shù)值屬性來說,等于的操作是一個沒有實際意義的操作,所以在實數(shù)上的測試應(yīng)該是用一個區(qū)間而不是一個常量,同樣也可以運用于落在區(qū)間以下、區(qū)間內(nèi)和區(qū)間以上的判斷來實行三叉分裂 [6]。</p><p> 2.2 創(chuàng)建決策樹的步驟</p><p> 根據(jù)數(shù)據(jù)創(chuàng)建決策樹的方法有許多種,以下從C4.5方法的角度創(chuàng)建一個決策樹。</p>
40、;<p> C4.5算法其實是ID3算法的改進,比較ID3算法它增加了對連續(xù)型屬性、屬性值空缺情況等情況的操作。算法的主體由剪枝算法C4.5pruning、決策樹生成C4.5tree、規(guī)則生成算法C4.5rules 等3部分組成。C4.5算法是根據(jù)信息熵的研究理論,通過選擇把當前樣本集中具有最大信息增益率的屬性作為測試屬性,并且不斷地對樣本集進行劃分,構(gòu)造出最終的一棵完全決策樹。對于連續(xù)型的屬性,通常先對連續(xù)屬性進行離散
41、化處理,即把連續(xù)型屬性的值劃分成不同的區(qū)間,從而便于處理后面的步驟。C4.5rules則是把完全決策樹轉(zhuǎn)化成一組if.then規(guī)則集且進行化簡。經(jīng)剪枝或規(guī)則生成過程中得到的簡化決策樹和規(guī)則集都可用于分類。而C4.5pruning是基于錯誤的剪枝方法,采用剪枝方法對完全決策樹進行修剪,得到簡化決策樹 [7]。</p><p> ID3算法在實際應(yīng)用中存在一些問題,Quilan提出了C4.5算法,嚴格上講C4.5只
42、能是ID3的一個改進的算法。</p><p> C4.5算法繼承了ID3算法的優(yōu)點,并且在以下幾個方面對ID3算法進行改進:</p><p> (1) 通過信息增益率來選擇屬性,解決了用信息增益選擇屬性時偏向選擇取值多的屬性的不足的問題; </p><p> (2)剪枝操作在樹構(gòu)造的過程中一起進行; </p><p> ?。?) 相
43、對ID3算法,C4.5算法能夠?qū)B續(xù)屬性進行離散化處理操作;</p><p> (4) 對不完整數(shù)據(jù)也能進行處理處理操作,即屬性空缺的情況。</p><p> C4.5算法的優(yōu)點:相對ID3算法,易于理解C4.5算法產(chǎn)生的分類規(guī)則,準確率較高。但是其缺點是:在構(gòu)造樹的過程中,對數(shù)據(jù)集需要進行多次的順序掃描和排序,因而可能導致算法的低效。同時,C4.5算法適合于能夠駐留于內(nèi)存的數(shù)據(jù)集,當
44、訓練集大到無法在內(nèi)存中保存時程序就無法運行。</p><p> C4.5算法的步驟如下</p><p> ?。?)求訓練集合的信息熵</p><p><b> INFO(D)=-</b></p><p> ?。?)對于每一屬性Ai,按照屬性Ai的取值對訓練集進行劃分后的信息熵。</p><p>
45、; INFO(D, Aj)=</p><p><b> ?。?)求信息增益</b></p><p> Gain(D, Ai)=INFO(D)-INFO(D, Ai)</p><p> ?。?)求屬性A的信息熵</p><p> INFO(Ai)= -</p><p> ?。?)求屬性的信息增
46、益比率</p><p> GainRatio(D,Aj)=</p><p> 采用C4.5離散化的方法建立決策樹,圖示如2-2</p><p> 圖2-2 C4.5決策樹建立流程圖</p><p> 3 數(shù)據(jù)離散化的幾類算法</p><p> 3.1 離散化的基本算法和標準</p><
47、p> 3.1.1 離散化的基本算法</p><p> 數(shù)據(jù)離散化本質(zhì)上通過斷點集合將連續(xù)的屬性空間劃分為若干區(qū),并使同一區(qū)域的實例都取相同的屬性值矢量。</p><p> 連續(xù)值屬性離散化方法的基本思想,設(shè)一個具有連續(xù)值屬性的決策信息系統(tǒng)s=(U,AT∪D),這里的U是有限非空的樣本集合,稱為對象空間或論域,AT為樣本空間的非空屬性集合,D是決策屬性集合,對于每個連續(xù)值屬性a
48、,a∈AT,其值域就是樣本空間U在屬性a上的取值范圍,由實數(shù)域上的一段左閉右開的區(qū)間[Va,Wa)來表示。在每個連續(xù)值屬性a的值域Vɑ中應(yīng)找到一個恰當?shù)膭澐吱?,在劃分Pɑ下的系統(tǒng)與初始系統(tǒng)的過程中應(yīng)具有相同的決策能力,劃分屬性值域為幾個互不相交的子區(qū)間,同時對每個子區(qū)間賦值以符號的形式,就得到了一組屹上的離散化取值,這個過程其實就是在樣本空間U的連續(xù)值屬性離散化的結(jié)果。由于任何劃分只是通過一組值域屹內(nèi)的分割點序列(v.<v:…&l
49、t;v。)確定的,因此,為了滿足系統(tǒng)需要的劃分,離散化的過程就是要在每個連續(xù)值域屹的劃分點序列集合中選出一個恰當?shù)膭澐贮c序列,從而得到最終離散化結(jié)果 [8]。</p><p> 3.1.2 離散化算法的標準</p><p> 一個好的離散化方法通常要滿足三個標準:一是為了減少后續(xù)的機器學習算法的運算量,盡量減少離散區(qū)間數(shù)(切點數(shù));二是盡量避免或減少源數(shù)據(jù)中的信息損失;三是對連續(xù)數(shù)據(jù)
50、的離散化的方法能夠簡單有效運算量小,易于實現(xiàn)。</p><p> 3.2 離散化算法的分類和比較</p><p> 根據(jù)有無監(jiān)督性,離散化算法可以分為無監(jiān)督算法和有監(jiān)督算法這兩類。</p><p> ?。?)無監(jiān)督算法是不考慮屬性和類別之間的關(guān)系。代表性的算法有等寬法和等頻法等兩種算法。</p><p> ?。?)有監(jiān)督算法與無監(jiān)督算法
51、相反,它是考慮到屬性和類別之間的關(guān)系,在離散化的過程中是將類別值作為參數(shù)。而且由于相同數(shù)據(jù)在不同的分類問題中,最佳離散化方案顯然地不同,所以有監(jiān)督算法比無監(jiān)督算法實際應(yīng)用中更具有科學性。</p><p> 同時離散化算法也可以分為,局部方法和全局方法。</p><p> ?。?)局部方法在離散化一個屬性的過程中忽略了其他屬性的影響,數(shù)據(jù)中的重要關(guān)系也容易受到破壞,被認為是一種次優(yōu)方法。但
52、局部離散化方法相對簡單易行,并已得到了廣泛的應(yīng)用。</p><p> ?。?)而全局方法考慮到了屬性之間的相互作用,一般可以獲得比局部方法更好的離散化結(jié)果。但是它的計算代價很高,難于得到應(yīng)用,因此在將來可能對如何減少全局方法的計算代價更加深入的研究。</p><p> 前面已經(jīng)介紹C4.5算法,以下再介紹其他幾種離散化的算法。</p><p> 3.3 BMI
53、C離散化算法</p><p> BMIC算法的全名是boundary point's attribute values merging and inconsistency checking,該算法是一種有監(jiān)督算法,以基本離散區(qū)間中大多數(shù)例子所屬類別為導向,合并同類區(qū)間。通過用簡單的規(guī)則對邊界點集合進行合并得到備選最優(yōu)切點的集合,改變了當前多數(shù)方法遍歷尋求備選最優(yōu)切點的過程,同時也節(jié)省了大量運算。而且采用
54、了不一致度調(diào)整離散區(qū)間使算法更有全局性[9]。</p><p> BMIC算法的步驟:</p><p> ?。?)按要離散化的屬性值,將數(shù)據(jù)矩陣以升序排列;</p><p> ?。?)以邊界點的屬性值為切點進行分割屬性值集合,把其中符合定義一的邊界點屬性值記為獨立的離散區(qū)間即臨界區(qū)間少形成離散方案STEP1;</p><p> ?。?)對臨
55、界區(qū)間進行合并,從而得到離散方案STEP2;</p><p> (4)對少數(shù)點區(qū)間進行合并,從而得到離散方案STEP3;</p><p> ?。?)驗證不一致度,調(diào)整STEP3,多次重復操作,獲得最終離散切點集合。</p><p> 圖3-1 BMIC算法過程</p><p> 3.4 基于云模式連續(xù)型屬性離散化的算法</p&g
56、t;<p> 該算法是將云模型和粗糙集理論相結(jié)合后提出的一種新的連續(xù)型屬性且無指導離散化的方法。這種方法離散化后得到的概念的邊界是模糊的,并且能較好地保持原信息系統(tǒng)的不準確性,更符合一般人的思維習慣。(1)在連續(xù)型屬性的定義域中找到合適的斷點,從而形成不同的區(qū)間;(2)在得到的區(qū)間上產(chǎn)生期望Ex 、熵En并形成正態(tài)模糊數(shù)模型;(3)歸并不同的正態(tài)模糊數(shù)模型,形成隸屬云。其中</p><p> 期
57、望Ex:它反映相應(yīng)的模糊概念的信息中心值;</p><p> 熵En:它指隸屬云的期望曲線的帶寬;</p><p> 超熵He:它反映隸屬云的離散程度[10]。</p><p> 3.5 人工魚群算法</p><p> 人工魚群算法是一種隨機搜索優(yōu)化算法,它是基于模擬魚群行為的。從構(gòu)造單條魚的底層行為開始做起,通過對魚群中的各個個體
58、的局部尋優(yōu),從而達到全局最優(yōu)值在群體中突現(xiàn)的目的。人工魚個體的自適應(yīng)活動就是算法的進行,個體每一次活動就是算法的一次迭代。在算法中,人工魚的個體狀態(tài)可以用向量X=(x1,x2,…,xn)表示,其中,(i = 1,…,n)為待尋優(yōu)參數(shù)。設(shè)Y為目標函數(shù)的值,人工魚所在當前位置的食物濃度用Y= f(X) 表示。人工魚個體之間的距離di-j=||Xi-Xj||,用VisualScop e表示人工魚的魚的感知距離 (即最大視野范圍)。人工魚移動的
59、步長用MoveStep來表示。擁擠度因子用δ表示。人工魚包括覓食、聚群等兩個行為。</p><p> (1)研究人工魚的覓食行為。設(shè)X為人工魚當前狀態(tài),在其感知范圍內(nèi)(即di-j<=VisualScope)隨機選擇一個新狀態(tài)X,當該狀態(tài)的食物濃度大于當前狀態(tài)時,向該方向前進一步。反之,就重新隨機選擇一個狀態(tài)X,進行是否滿足前進條件判斷。反復幾次之后,結(jié)果若仍不滿足前進的條件,就隨機移動一步,即Xnext=
60、</p><p> 其中,Xnext為下一步的位置,當前的隨機狀態(tài)為Xj,產(chǎn)生隨機數(shù)序列Random()。</p><p> (2)人工魚的聚群行為。聚群行為指魚在游動過程中會自然地聚集成群,在其感知范圍內(nèi)(即di-j<=VzsualScope)探索其他的同伴數(shù)目Nf及中心位置Xi,其中Xi=j,就Yi/Nf>δ*Yi,說明同伴中心地帶有很多的食物而且中心地帶不太擁擠,則朝
61、伙伴的中心移動,反之執(zhí)行覓食行為。</p><p><b> 該算法的步驟如下:</b></p><p> 步驟l設(shè)定魚群算法中的各個參數(shù)值,設(shè)置人工魚的初始狀態(tài),在屬性最小值和最大值的區(qū)間內(nèi)浮動,從而得到初始的分割區(qū)間;</p><p> 步驟2在人工魚群系統(tǒng)中輸人第i(i=1,2,…,n)個條件屬性Ci與決策屬性D,對人工魚當前的狀態(tài)
62、進行區(qū)間離散化操作,再用粗集理論計算當前條件屬性Ci和對決策屬性D的支持度rCi,重復多次迭代找到rCi的最大穩(wěn)定值;</p><p> 步驟3若i<n,令i=i+1,轉(zhuǎn)步驟2,否則計算所有離散化結(jié)果的整體分類質(zhì)量rc,若rc的值連續(xù)多次保持最大值不變則轉(zhuǎn)步驟4,否則令i=1,轉(zhuǎn)步驟2繼續(xù)進行新一輪尋優(yōu);</p><p> 步驟4記錄當前各人工魚的狀態(tài),并根據(jù)當前狀態(tài)來確定離散區(qū)
63、間,通過利用粗糙集提取最簡規(guī)則 [11]。</p><p> 4 BMIC離散化實現(xiàn)</p><p><b> 4.1 開發(fā)工具</b></p><p> Visual Studio.NET是由Microsoft開發(fā),是該公司產(chǎn)品.NET平臺下最為強大的開發(fā)工具,Visual Studio.NET提供了包括設(shè)計、編碼、編譯調(diào)試、數(shù)據(jù)庫
64、聯(lián)接操作等基本功能,還為客戶提供了基于開放架構(gòu)的服務(wù)器組件開發(fā)平臺、企業(yè)開發(fā)工具和應(yīng)用程序重新發(fā)布工具以及性能評測報告等一系列的高級功能。無論是軟件服務(wù)商,還是企業(yè)應(yīng)用程序的部署與發(fā)布,Visual Studio.NET都可以提供近乎完美的解決方案。</p><p> 4.1.1 整體功能</p><p> 無論對象代碼是在本地存儲和執(zhí)行,還是在本地執(zhí)行但在 Internet 上分布
65、,或者是在遠程執(zhí)行,能夠提供一個一致的面向?qū)ο蟮木幊汰h(huán)境。</p><p> 提供一個解決版本控制和軟件部署沖突,使沖突最小化的代碼執(zhí)行環(huán)境。</p><p> 提供一個檢測包括由未知的或不完全受信任的第三方創(chuàng)建的代碼,能夠提高代碼執(zhí)行安全性的代碼執(zhí)行環(huán)境。</p><p> 提供一個能夠解釋環(huán)境和消除腳本環(huán)境等性能問題的代碼執(zhí)行環(huán)境。 </p>
66、<p> 使開發(fā)人員在面對類型不相同的應(yīng)用程序(比如基于c#的應(yīng)用程序和基于java的應(yīng)用程序)時,他的經(jīng)驗?zāi)軌虮3忠恢隆?lt;/p><p> 按照工業(yè)標準生成所有通信,以確?;?Microsoft Visual Studio .net 的代碼可與任何其他代碼集成。</p><p> NET Framework現(xiàn)主要由以下幾部分組成: (1)五種正式的語言編譯器(C#,V
67、isual Basic,C++,J#和Jscript腳本語言等)。(2)框架類庫(Framework Class Library,FCL)由很多相關(guān)互聯(lián)的類庫組成,支持Web應(yīng)用程序、Web服務(wù)、Windows應(yīng)用程序和數(shù)據(jù)訪問等的開發(fā)。(3)公共語言運行庫(Common Language Runtime,CLR)是.NET Framework的基礎(chǔ),提供內(nèi)存管理、遠程處理和線程管理等核心服務(wù),并且強調(diào)實施嚴格的類型安全,提高代碼執(zhí)行的
68、安全性和可靠性。</p><p> 4.1.2 組件構(gòu)成</p><p> 公共語言運行庫和.NET Framework類庫。公共語言運行庫是Microsoft Visual Studio .Net Framework的基礎(chǔ)??梢詫⑦\行庫看作一個在執(zhí)行時管理代碼的代理,為系統(tǒng)提供內(nèi)存管理、線程管理和遠程處理等3部分核心服務(wù),強制實施嚴格的類型安全,進而能夠提高其他形式的代碼的安全性和
69、可靠性以及準確性。通常用CLR為基礎(chǔ)運行的代碼稱為托管代碼,非托管代碼是不以CLR為基礎(chǔ)運行的代碼。</p><p> 非托管組件可以承載.NET Framework,將公共語言運行庫CLR加載到這些組件的進程中,同時啟動執(zhí)行托管代碼,進而創(chuàng)建一個軟件環(huán)境,這個環(huán)境能夠同時利用托管和非托管功能兩個功能。Microsoft Visual Studio .Net Framework不僅提供了多個運行庫宿主,而且還能
70、夠支持第三方運行庫的開發(fā)。</p><p><b> 4.1.3 版本</b></p><p> Visual Studio .NET的版本有Visual Studio .NET2002、Visual Studio .NET2003、Microsoft Visual Studio 2005、Microsoft Visual Studio 2008、Visual
71、Studio 2010等幾個版本。</p><p> 4.2 BMIC設(shè)計</p><p> 4.2.1 運行界面</p><p> 這里主要介紹了基于Visual Studio.NET的開發(fā)環(huán)境下BMIC算法的實現(xiàn)方法。在運行界面的代碼模塊中,首先引用System. Drawing 命名空間,它提供了對 GDI+ 基本圖形功能的訪問;其次引用了Syste
72、m.ComponentModel命名空間,該命名空間提供用于實現(xiàn)組件和控件運行時和設(shè)計時行為的類。此命名空間包括用于實現(xiàn)屬性和類型轉(zhuǎn)換器、綁定到數(shù)據(jù)源以及授權(quán)組件的基類和接口;然后引用System. Data 命名空間,該命名空間提供對表示 ADO.NET 結(jié)構(gòu)的類的訪問。通過 ADO.NET 可以生成一些組件,用于有效管理多個數(shù)據(jù)源的數(shù)據(jù);還有,引用System.Collections命名空間,這個命名空間包含接口和類,這些接口和類定
73、義各種對象(如列表、隊列、位數(shù)組、哈希表和字典)的集合;最后還引用了System.Windows.Forms 命名空間,該命名空間包含用于創(chuàng)建基于Windows的應(yīng)用程序的類,以充分利用 Microsoft Windows 操作系統(tǒng)中提供的豐富的用戶界面功能。通過以上的命名空間,實現(xiàn)了對界面的基本設(shè)計。</p><p> 運行界面如下圖4-1:</p><p><b> 圖4
74、-1 運行界面</b></p><p> 其中按鈕 browse是導入數(shù)據(jù),按鈕discrete是對導入的數(shù)據(jù)進行離散化處理,按鈕build tree是建立決策樹操作。</p><p> 4.2.2 運行結(jié)果</p><p> 未進行離散化處理的數(shù)據(jù)如圖4-2:</p><p> 圖4-2 未進行離散化處理的數(shù)據(jù)<
75、/p><p> 進行離散化處理后的數(shù)據(jù)如圖4-3:</p><p> 圖4-3 離散化后的結(jié)果</p><p> 點擊按鈕build tree后,顯示的結(jié)果如圖4-4</p><p> 圖4-4 建立決策樹</p><p><b> 4.2.3 類</b></p><p
76、> 以下介紹本次畢業(yè)論文設(shè)計用到的幾個類。</p><p> 類名:Discrete</p><p> 屬性:arrayCuts,discrete,target,table</p><p> 在Discrete的代碼模塊中,首先引用了System.IO命名空間,該命名空間包含了允許讀寫文件和數(shù)據(jù)流的類型以及提供基本文件和目錄支持的類型;其次引用了Sys
77、tem.Collections命名空間,它提供了包含接口和類,這些接口和類定義各種對象(如列表、隊列、位數(shù)組、哈希表和字典)的集合;再者引用了System.Data命名空間,該命名空間為類提供了對表示 ADO.NET 結(jié)構(gòu)的類的訪問。通過 ADO.NET 可以生成一些組件,用于有效管理多個數(shù)據(jù)源的數(shù)據(jù);還有引用了System.ComponentModel命名空間,它主要的功能是提供提供用于實現(xiàn)組件和控件運行時和設(shè)計時行為的類。此命名空間
78、包括用于實現(xiàn)屬性和類型轉(zhuǎn)換器、綁定到數(shù)據(jù)源以及授權(quán)組件的基類和接口;最后引用了System.Windows.Forms命名空間,該命名空間主要含用于創(chuàng)建基于Windows的應(yīng)用程序的類,以充分利用 Microsoft Windows 操作系統(tǒng)中提供的豐富的用戶界面功能。通過以上幾種命名空間,來完成對類Discrete算法的實現(xiàn)。</p><p><b> 主要代碼如下:</b></p
79、><p> using System;</p><p> using System.IO ;</p><p> using System.Collections;</p><p> using System.Data;</p><p> using System.ComponentModel ;</p>
80、;<p> using System.Windows.Forms;</p><p> namespace C4._5</p><p><b> {</b></p><p> /// <summary></p><p> /// Discrete 的摘要說明。</p>&l
81、t;p> /// </summary></p><p> public class Discrete</p><p><b> { </b></p><p> private ArrayCuts arrayCuts=new ArrayCuts();</p><p> private do
82、uble[] discrete;</p><p> private string[]target;</p><p> public DataTable Table;</p><p> public Discrete(Attribute attribute, Attribute tAttribute,DataTable table)</p><
83、;p><b> {</b></p><p> MessageBox.Show("another attribute:");</p><p> Table=table;</p><p> for (int k=0;k<tAttribute.values .Length ;k++)</p>&l
84、t;p> System.Console .WriteLine (tAttribute.values[k]);</p><p> int elementNum=table.Rows.Count;</p><p> discrete=new double[elementNum];</p><p> target=new string[elementNum]
85、;</p><p> sort(attribute,tAttribute,Table);</p><p> FindCuts(attribute,tAttribute,Table);</p><p> arrayCuts=MinimizeCuts(arrayCuts);</p><p> //for (int k=0;k<arr
86、ayCuts.Count;k++)</p><p> //System.Console .WriteLine (arrayCuts.CutPoints [k].CutValue.ToString () +"Class:"+arrayCuts.CutPoints [k].CValue );</p><p> Table=replace(attribute,t
87、Attribute,arrayCuts,Table);</p><p><b> }</b></p><p> private void sort(Attribute attribute, Attribute tAttribute,DataTable table)//根據(jù)屬性對表進行排序</p><p><b> {</
88、b></p><p><b> int k=0;</b></p><p> foreach(DataRow row in table.Rows)</p><p><b> {</b></p><p> discrete[k]=Math.Round(double.Parse((strin
89、g)row[attribute.AttributeName]),2);</p><p> target[k]=( string)row[tAttribute.AttributeName];</p><p><b> k++;</b></p><p><b> }</b></p><p> d
90、ouble tempD;</p><p> string tempT;</p><p> for (int i=0;i<discrete.Length-1 ;i++)</p><p> for (int j=i+1;j<discrete.Length;j++)</p><p> if (discrete[i]>dis
91、crete[j] )</p><p><b> {</b></p><p> tempD=discrete[i];</p><p> discrete[i]=discrete[j];</p><p> discrete[j]=tempD;</p><p> tempT=target[i]
92、;</p><p> target[i]=target[j];</p><p> target[j]=tempT;</p><p><b> }</b></p><p> /* 查看排序結(jié)果是否正確 </p><p> FileStream fs1 = new FileStream(@&
93、quot;c:\sorta.txt", FileMode.Create , FileAccess.Write);</p><p> StreamWriter m_streamWriter = new StreamWriter(fs1);</p><p> for (int i=0;i<discrete.Length ;i++)</p><p>&
94、lt;b> {</b></p><p> m_streamWriter.WriteLine (discrete[i].ToString ()+","+target[i]);</p><p><b> }</b></p><p> m_streamWriter.Close (); */</p&g
95、t;<p> //System.Console .WriteLine ( "elements of discrete:"+discrete.Length.ToString ());</p><p><b> }</b></p><p> public DataTable replace(Attribute attribute,
96、Attribute tAttribute,ArrayCuts arrayCuts,DataTable table)</p><p><b> {</b></p><p> foreach(DataRow row in table.Rows)</p><p><b> { </b></p><p&g
97、t; for (int i=0;i< arrayCuts.Count ;i++)</p><p><b> {</b></p><p> if (double.Parse((string)row[attribute.AttributeName])<arrayCuts.CutPoints [i].CutValue )</p><p&
98、gt; {row[attribute.AttributeName]=arrayCuts.CutPoints [i].CutValue.ToString ();</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></
99、p><p> //System.Console.WriteLine (arrayCuts.Count -1);</p><p> //System.Console.WriteLine (row[attribute.AttributeName ]+"last:"+arrayCuts.CutPoints [arrayCuts.Count -1].ToString ());&
100、lt;/p><p> if (double.Parse((string)row[attribute.AttributeName ])>arrayCuts.CutPoints [arrayCuts.Count -1].CutValue)</p><p> row[attribute.AttributeName]="biggest";</p><p
101、><b> }</b></p><p> return table;</p><p><b> }</b></p><p> private ArrayCuts MinimizeCuts(ArrayCuts arrayCuts) //切點合并</p><p><b> {
102、</b></p><p> ArrayCuts tempCuts=new ArrayCuts();</p><p> Cut tempCut;</p><p> //System.Console .WriteLine (arrayCuts.Count.ToString ());</p><p> for( int i=1;
103、i<arrayCuts.Count ;i++)</p><p><b> {</b></p><p> if ( arrayCuts.CutPoints[i].CValue!=arrayCuts.CutPoints[i-1].CValue )</p><p><b> {</b></p><
104、;p> tempCut=new Cut(arrayCuts.CutPoints[i-1].CutValue ,arrayCuts.CutPoints[i].Count+arrayCuts.CutPoints[i-1].Count,arrayCuts.CutPoints[i-1].CValue );</p><p> tempCuts.AddCut (tempCut);</p><p
105、><b> }</b></p><p><b> }</b></p><p> for (int i=1;i<tempCuts.Count;i++)</p><p><b> {</b></p><p> if (tempCuts.CutPoints
106、 [i].Count <=3)</p><p><b> {</b></p><p> tempCuts.CutPoints[i-1].Count +=tempCuts.CutPoints[i].Count;</p><p> tempCuts.RemoveCut(i); //樣本數(shù)少的切點進行合并</p><
107、p><b> }</b></p><p><b> }</b></p><p> arrayCuts=tempCuts;</p><p> return arrayCuts;</p><p> //System.Console .WriteLine (arrayCuts.Count.
108、ToString ());</p><p><b> /*</b></p><p> for( int i=0;i<arrayCuts.Count ;i++)</p><p><b> {</b></p><p> System.Console .WriteLine (arrayCut
109、s.CutPoints [i].CutValue .ToString ()+"Class:"+arrayCuts.CutPoints [i].CValue +"count: "+arrayCuts.CutPoints[i].Count.ToString ());</p><p><b> }</b></p><p><
110、;b> */</b></p><p><b> }</b></p><p> private void FindCuts(Attribute attribute,Attribute tAttribute,DataTable table)</p><p><b> {</b></p>
111、<p> int total=0;</p><p> int[] cnum=new int[tAttribute.values.Length ];</p><p> for(int i=1;i<discrete.Length ;i++)</p><p><b> {</b></p><p>
112、//System.Console.WriteLine (row[attribute.AttributeName]+"C:"+row[tAttribute.AttributeName]);</p><p> if ( discrete[i-1]==discrete[i])</p><p><b> { </b></p><p
113、> if (total>=1 && i>1 )</p><p><b> {</b></p><p> Cut theCut=new Cut(discrete[i-2],total,target[i-2]);</p><p> arrayCuts.AddCut (theCut);</p>
114、<p> //System.Console .WriteLine ("the cut before intervalCUt:"+ discrete[i-2].ToString ()+ "total:" +total.ToString ());</p><p><b> }</b></p><p> int ito
115、tal=1; //itotal存此屬性相同樣本數(shù)</p><p> for (int k=0;k<tAttribute.values.Length;k++)</p><p><b> {</b></p><p> if (target[i-1]==tAttribute.values[k])</p><p>
116、 cnum[k]++;</p><p><b> }</b></p><p> while ( discrete[i-1]==discrete[i])</p><p><b> {</b></p><p> for (int k=0;k<tAttribute.values.Length
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 金融營銷研究[任務(wù)書+文獻綜述+開題報告+畢業(yè)論文]
- 數(shù)據(jù)加密方法的研究與實現(xiàn)【畢業(yè)論文+文獻綜述+開題報告+任務(wù)書】
- 助學貸款證券化研究【畢業(yè)論文+文獻綜述+開題報告+任務(wù)書】
- 客戶流失問題研究[任務(wù)書+文獻綜述+開題報告+畢業(yè)論文]
- 長期資產(chǎn)減值研究【畢業(yè)論文+文獻綜述+開題報告+任務(wù)書】
- 連續(xù)數(shù)據(jù)的離散化研究[文獻綜述]
- 論產(chǎn)品責任【畢業(yè)論文+文獻綜述+開題報告+任務(wù)書】
- 高校籌資問題研究[任務(wù)書+文獻綜述+開題報告+畢業(yè)論文]
- 股市羊群行為研究[任務(wù)書+文獻綜述+開題報告+畢業(yè)論文]
- 連續(xù)數(shù)據(jù)的離散化研究[畢業(yè)論文]
- 連續(xù)數(shù)據(jù)的離散化研究畢業(yè)論文
- 審計期望差距研究【畢業(yè)論文+文獻綜述+開題報告+任務(wù)書】
- 女性政治參與的研究[任務(wù)書+文獻綜述+開題報告+畢業(yè)論文]
- 品牌老化問題的研究[任務(wù)書+文獻綜述+開題報告+畢業(yè)論文]
- 論情勢變更原則【畢業(yè)論文+文獻綜述+開題報告+任務(wù)書】
- 企業(yè)薪酬管理問題研究綜述【畢業(yè)論文+文獻綜述+開題報告+任務(wù)書】
- 區(qū)域品牌建設(shè)策略研究[任務(wù)書+文獻綜述+開題報告+畢業(yè)論文]
- 企業(yè)品牌延伸策略研究[任務(wù)書+文獻綜述+開題報告+畢業(yè)論文]
- 渠道有效性研究[任務(wù)書+文獻綜述+開題報告+畢業(yè)論文]
- 數(shù)據(jù)庫原理課程網(wǎng)站設(shè)計【畢業(yè)論文+文獻綜述+開題報告+任務(wù)書】
評論
0/150
提交評論