河南科技大學(xué)數(shù)據(jù)挖掘課程設(shè)計(jì)報(bào)告_第1頁(yè)
河南科技大學(xué)數(shù)據(jù)挖掘課程設(shè)計(jì)報(bào)告_第2頁(yè)
河南科技大學(xué)數(shù)據(jù)挖掘課程設(shè)計(jì)報(bào)告_第3頁(yè)
河南科技大學(xué)數(shù)據(jù)挖掘課程設(shè)計(jì)報(bào)告_第4頁(yè)
河南科技大學(xué)數(shù)據(jù)挖掘課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上河南科技大學(xué)課 程 設(shè) 計(jì) 說(shuō) 明 書(shū)課程名稱 軟件項(xiàng)目綜合實(shí)踐 題 目 超市商品銷售數(shù)據(jù)挖掘系統(tǒng) 學(xué) 院 信息工程學(xué)院 班 級(jí) 計(jì)科113 學(xué)生姓名 彭逸帆 學(xué) 號(hào) 9 指導(dǎo)教師 白秀玲、趙海霞、張蕾 日 期 2014.9.222014.9.30 目錄111專心-專注-專業(yè)§第1章 數(shù)據(jù)挖掘基本理論§1.1 數(shù)據(jù)挖掘的概念 數(shù)據(jù)挖掘又稱為數(shù)據(jù)庫(kù)中知識(shí)發(fā)現(xiàn),它是一個(gè)從大量數(shù)據(jù)中抽取挖掘出來(lái)未知的、有價(jià)值的模式或規(guī)律等知識(shí)的復(fù)雜過(guò)程。§1.2 數(shù)據(jù)挖掘的步驟 首先進(jìn)行數(shù)據(jù)預(yù)處理,從數(shù)據(jù)庫(kù)里提取數(shù)據(jù),使其形成集合列表形式,以便在程序中掃描數(shù)據(jù)

2、庫(kù)的時(shí)候,可以直接遍歷此集合列表,即達(dá)到掃描數(shù)據(jù)的目的。然后生成K項(xiàng)頻繁集。最后通過(guò)K項(xiàng)頻繁集與最小信任度比較獲得關(guān)聯(lián)規(guī)則。并顯示關(guān)聯(lián)規(guī)則。生成K項(xiàng)頻繁集的過(guò)程,首先是生成1項(xiàng)頻繁集,之后利用遞歸方法,直到不能再生成頻繁集為止。§第2章 系統(tǒng)分析§2.1 系統(tǒng)用戶分析利用數(shù)據(jù)挖掘技術(shù)可以幫助獲得決策所需的多種知識(shí)。在許多情況下,用戶并不知道數(shù)據(jù)存在哪些有價(jià)值的信息知識(shí),因此對(duì)于一個(gè)數(shù)據(jù)挖掘系統(tǒng)而言,它應(yīng)該能夠同時(shí)搜索發(fā)現(xiàn)多種模式的知識(shí),以滿足用戶的期望和實(shí)際需要。此外數(shù)據(jù)挖掘系統(tǒng)還應(yīng)能夠挖掘出多種層次(抽象水平)的模式知識(shí)。數(shù)據(jù)挖掘系統(tǒng)還應(yīng)容許用戶指導(dǎo)挖掘搜索有價(jià)值的模式知

3、識(shí)。比如:作為一個(gè)商場(chǎng)主管,肯定想要知道商場(chǎng)顧客的購(gòu)物習(xí)慣;尤其是希望了解在(一次)購(gòu)物過(guò)程中,那些商品會(huì)在一起被(顧客所)購(gòu)買(mǎi)。為幫助回答這一問(wèn)題,就需要進(jìn)行市場(chǎng)購(gòu)物分析,即對(duì)顧客在商場(chǎng)購(gòu)物交易記錄數(shù)據(jù)進(jìn)行分析。所分析的結(jié)果將幫助商場(chǎng)主管制定有針對(duì)性的市場(chǎng)營(yíng)銷和廣告宣傳計(jì)劃,以及編撰合適的商品目錄。比如:市場(chǎng)購(gòu)物分析結(jié)果將幫助商家對(duì)商場(chǎng)內(nèi)商品應(yīng)如何合理擺放進(jìn)行規(guī)劃設(shè)計(jì)。其中一種策略就是將常常一起購(gòu)買(mǎi)的商品擺放在相鄰近的位置,以方便顧客同時(shí)購(gòu)買(mǎi)這兩件商品;如:如果顧客購(gòu)買(mǎi)電腦的同時(shí)常也會(huì)購(gòu)買(mǎi)一些金融管理類軟件,那么將電腦軟件擺放在電腦硬件附近顯然將有助于促進(jìn)這兩種商品的銷售;而另一種策略則是將

4、電腦軟件與電腦硬件分別擺放在商場(chǎng)的兩端,這就會(huì)促使顧客在購(gòu)買(mǎi)兩種商品時(shí),走更多的路從而達(dá)到誘導(dǎo)他們購(gòu)買(mǎi)更多商品的目的。比如:顧客在決定購(gòu)買(mǎi)一臺(tái)昂貴電腦之后,在去購(gòu)買(mǎi)相應(yīng)金融管理軟件的路上可能會(huì)看到安全系統(tǒng)軟件,這時(shí)他就有可能購(gòu)買(mǎi)這一類軟件。市場(chǎng)購(gòu)物分析可以幫助商場(chǎng)主管確定那些物品可以進(jìn)行捆綁減價(jià)銷售,如一個(gè)購(gòu)買(mǎi)電腦的顧客很有可能購(gòu)買(mǎi)一個(gè)捆綁減價(jià)銷售的打印機(jī)。§2.2 系統(tǒng)功能分析我們組所開(kāi)發(fā)的超市銷售記錄數(shù)據(jù)挖掘系統(tǒng)是采用關(guān)聯(lián)規(guī)則挖掘的方法來(lái)挖掘出商家希望得到的銷售信息。關(guān)聯(lián)規(guī)則挖掘就是從大量的數(shù)據(jù)中挖掘出有價(jià)值描述數(shù)據(jù)項(xiàng)之間相互聯(lián)系的有關(guān)知識(shí)。我們開(kāi)發(fā)的超市銷售記錄數(shù)據(jù)挖掘系統(tǒng)主要

5、應(yīng)用就是市場(chǎng)購(gòu)物分析。根據(jù)被放到一個(gè)購(gòu)物袋的(購(gòu)物)內(nèi)容記錄數(shù)據(jù)而發(fā)現(xiàn)的不同(被購(gòu)買(mǎi))商品之間所存在的關(guān)聯(lián)知識(shí)無(wú)疑將會(huì)幫助商家分析顧客的購(gòu)買(mǎi)習(xí)慣。如圖- 所示。發(fā)現(xiàn)常在一起被購(gòu)買(mǎi)的商品(關(guān)聯(lián)知識(shí))將幫助商家制定有針對(duì)性的市場(chǎng)營(yíng)銷策略。比如:顧客在購(gòu)買(mǎi)牛奶時(shí),是否也可能同時(shí)購(gòu)買(mǎi)面包或會(huì)購(gòu)買(mǎi)哪個(gè)牌子的面包,顯然能夠回答這些問(wèn)題的有關(guān)信息肯定會(huì)有效地幫助商家進(jìn)行有針對(duì)性的促銷,以及進(jìn)行合適的貨架商品擺放。如可以將牛奶和面包放在相近的地方或許會(huì)促進(jìn)這兩個(gè)商品的銷售。將商場(chǎng)所有銷售商品設(shè)為一個(gè)集合,每個(gè)商品(item)均為一個(gè)取布爾值(真/假)的變量以描述相應(yīng)商品是否被(一個(gè))顧客購(gòu)買(mǎi)。因此每個(gè)顧客購(gòu)物

6、(袋)就可以用一個(gè)布爾向量來(lái)表示。分析相應(yīng)布爾向量就可獲得那些商品是在一起被購(gòu)買(mǎi)(關(guān)聯(lián))的購(gòu)物模式。如顧客購(gòu)買(mǎi)電腦的同時(shí)也會(huì)購(gòu)買(mǎi)金融管理軟件的購(gòu)物模式就可以用以下的關(guān)聯(lián)規(guī)則來(lái)描述:computer=>financial_management_softwaresupport=2%,confidence=60%關(guān)聯(lián)規(guī)則的支持度(support)和信任度(confidence)是兩個(gè)度量有關(guān)規(guī)則趣味性的方法。它們分別描述了一個(gè)被挖掘出的關(guān)聯(lián)規(guī)則的有用性和確定性。規(guī)則的支持度為2%,就表示所分析的交易記錄數(shù)據(jù)中有交易記錄同時(shí)包含電腦和金融管理軟件(即在一起被購(gòu)買(mǎi))。規(guī)則的60%信任度則表示有60

7、%的顧客在購(gòu)買(mǎi)電腦的同時(shí)還會(huì)購(gòu)買(mǎi)金融管理軟件。通常如果一個(gè)關(guān)聯(lián)規(guī)則滿足最小支持度閾值(minimum support threshold)和最小信任度閾值(minimum confidence threshole),那么就認(rèn)為該關(guān)聯(lián)規(guī)則是有意義的;而用戶或?qū)<铱梢栽O(shè)置最小支持度閾值和最小信任度閾值。§2.3系統(tǒng)算法分析超市商品銷售數(shù)據(jù)挖掘系統(tǒng)采用關(guān)聯(lián)規(guī)則算法,主要進(jìn)行數(shù)據(jù)管理。對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行管理和維護(hù)工作。 數(shù)據(jù)采集。從數(shù)據(jù)庫(kù)中采集數(shù)據(jù),形成事務(wù)集合。數(shù)據(jù)預(yù)處理。將采集到的數(shù)據(jù)轉(zhuǎn)換為可進(jìn)行數(shù)據(jù)挖掘的形式。數(shù)據(jù)挖掘。采用關(guān)聯(lián)規(guī)則中的Apriori算法對(duì)超市銷售事務(wù)集合進(jìn)行數(shù)據(jù)挖掘

8、。結(jié)果顯示與解釋評(píng)估。把挖掘出的結(jié)果以一種直觀的方式顯示出來(lái),并對(duì)挖掘出的結(jié)果進(jìn)行評(píng)價(jià)。 §第3章 數(shù)據(jù)管理§3.1數(shù)據(jù)管理的方法數(shù)據(jù)管理是利用計(jì)算機(jī)硬件和軟件技術(shù)對(duì)數(shù)據(jù)進(jìn)行有效的收集、存儲(chǔ)、處理和應(yīng)用的過(guò)程。其目的在于充分有效地發(fā)揮數(shù)據(jù)的作用,而實(shí)現(xiàn)數(shù)據(jù)有效管理的關(guān)鍵是數(shù)據(jù)組織,在數(shù)據(jù)庫(kù)系統(tǒng)中所建立的數(shù)據(jù)結(jié)構(gòu),更充分地描述了數(shù)據(jù)間的內(nèi)在聯(lián)系,便于數(shù)據(jù)修改、更新與擴(kuò)充,同時(shí)保證了數(shù)據(jù)的獨(dú)立性、可靠性、安全性與完整性,減少了數(shù)據(jù)冗余,故提高了數(shù)據(jù)共享程度及數(shù)據(jù)管理效率。 我們?cè)跀?shù)據(jù)庫(kù)中建立了一張表,用于存放所有的銷售記錄,每條銷售記錄都存放于這一張表中,用于后面的數(shù)據(jù)挖掘。并

9、在錄入數(shù)據(jù)庫(kù)的過(guò)程中檢查了數(shù)據(jù)的正確性,把異常數(shù)據(jù)剔除在外,確保了數(shù)據(jù)庫(kù)的正確性、一致性。§第4章 數(shù)據(jù)采集§4.1數(shù)據(jù)采集的方法數(shù)據(jù)采集在數(shù)據(jù)挖掘的過(guò)程中是必不可少的,畢竟只有采集到了大量的、正確的、完整的數(shù)據(jù),才能夠?yàn)楹竺鏀?shù)據(jù)挖掘提供良好的基礎(chǔ),得到有價(jià)值的信息。本次課程設(shè)計(jì)中,我們通過(guò)走訪超市向他們征詢銷售記錄,在網(wǎng)上搜索相關(guān)的超市銷售記錄的方式收集到了兩份數(shù)據(jù),通過(guò)去除異常數(shù)據(jù)、冗余數(shù)據(jù)把兩份數(shù)據(jù)合并到一張表里,為后面數(shù)據(jù)挖掘提供必要的條件,確保得到有價(jià)值的信息。本軟件在開(kāi)發(fā)中,數(shù)據(jù)采集主要是借用程序和人工來(lái)實(shí)現(xiàn)的。通過(guò)人工的錄入來(lái)輸入超市的銷售記錄數(shù)據(jù),然后再借用

10、所編寫(xiě)的程序來(lái)篩選出所要挖掘的銷售物品的信息,以備后期數(shù)據(jù)預(yù)處理和數(shù)據(jù)挖掘所使用。§第5章 數(shù)據(jù)預(yù)處理§5.1 數(shù)據(jù)預(yù)處理的方法 實(shí)世界中數(shù)據(jù)大體上都是不完整,不一致的,無(wú)法直接進(jìn)行數(shù)據(jù)挖掘,或挖掘結(jié)果差強(qiáng)人意。為了提高數(shù)據(jù)挖掘的質(zhì)量產(chǎn)生了數(shù)據(jù)預(yù)處理技術(shù)。數(shù)據(jù)預(yù)處理有多種方法:,數(shù)據(jù)變換,數(shù)據(jù)歸約,數(shù)據(jù)離散化等。這些數(shù)據(jù)處理技術(shù)在數(shù)據(jù)挖掘之前使用,大大提高了數(shù)據(jù)挖掘模式的質(zhì)量,降低實(shí)際挖掘所需要的時(shí)間。 本次課程設(shè)計(jì)中主要用到了前四種方法即,數(shù)據(jù)變換,數(shù)據(jù)歸約完成數(shù)據(jù)入庫(kù)前的數(shù)據(jù)預(yù)處理過(guò)程,由于種種原因最后選取的數(shù)據(jù)量不是很大,所以在這里并沒(méi)有使用全部的數(shù)據(jù)預(yù)處理方法。&#

11、167;第6章 數(shù)據(jù)挖掘§6.1算法描述與流程圖§6.1.1 算法描述Apriori算法是挖掘產(chǎn)生布爾關(guān)聯(lián)規(guī)則所需頻繁項(xiàng)集的基本算法;它也是一個(gè)很有影響的關(guān)聯(lián)規(guī)則挖掘算法。Apriori算法就是根據(jù)有關(guān)頻繁項(xiàng)集特性的先驗(yàn)知識(shí)(prior knowledge)而命名的。該算法利用了一個(gè)層次順序搜索的循環(huán)方法來(lái)完成頻繁項(xiàng)集的挖掘工作。這一循環(huán)方法就是利用k-項(xiàng)集來(lái)產(chǎn)生(k+1)-項(xiàng)集。具體做法就是:首先找出頻繁1-項(xiàng)集,記為L(zhǎng)1;然后利用L1來(lái)挖掘L2,即頻繁2-項(xiàng)集;不斷如此循環(huán)下去直到無(wú)法發(fā)現(xiàn)更多的頻繁k-項(xiàng)集為止。每挖掘一層Lk就需要掃描整個(gè)數(shù)據(jù)庫(kù)一遍。為提高按層次搜索并

12、產(chǎn)生相應(yīng)頻繁項(xiàng)集的處理效率。Apriori算法利用了一個(gè)重要性質(zhì),又稱為Apriori性質(zhì)來(lái)幫助有效縮小頻繁項(xiàng)集的搜索空間。Apriori性質(zhì):一個(gè)頻繁項(xiàng)集中任一子集也應(yīng)是頻繁項(xiàng)集。Apriori性質(zhì)是根據(jù)以下觀察而得出結(jié)論。根據(jù)定義:若一個(gè)項(xiàng)集I不滿足最小支持度閾值s,那么該項(xiàng)集I就不是頻繁項(xiàng)集,即P(I)<s;若增加一個(gè)項(xiàng)A到項(xiàng)集I中,那么所獲得的新項(xiàng)集IA在整個(gè)交易數(shù)據(jù)庫(kù)所出現(xiàn)的次數(shù)也不可能多原項(xiàng)集I出現(xiàn)的次數(shù),因此IA也不可能是頻繁的,即P(IA)<s。這樣就可以根據(jù)逆反公理:即若一個(gè)集合不能通過(guò)測(cè)試,該集合所有超集也不能通過(guò)同樣的測(cè)試。因此很容易確定Apriori性質(zhì)成立

13、。為了解釋清楚Apriori性質(zhì)是如何應(yīng)用到頻繁項(xiàng)集的挖掘中的,這里就以用 Lk-1來(lái)產(chǎn)生Lk為例來(lái)說(shuō)明具體應(yīng)用方法。利用Lk-1來(lái)獲得Lk主要包含兩個(gè)處理步驟,即連接和刪除操作步驟。 (1) 連接步驟。為發(fā)現(xiàn)Lk,可以將Lk-1中兩個(gè)項(xiàng)集相連接以獲得一個(gè)Lk的候選集合Ck。設(shè)l1和l2為L(zhǎng)k-1中的兩個(gè)項(xiàng)集(元素),記號(hào)表示lij 中的第j個(gè)項(xiàng);如lik-2就表示li中的倒數(shù)第二項(xiàng)。為方便起見(jiàn),假設(shè)交易數(shù)據(jù)庫(kù)中各交易記錄中各項(xiàng)均已按字典排序。若Lk-1的連接操作記為L(zhǎng)k-1Lk-1 ,它表示若l1和l2中的前(k-2)項(xiàng)是相同的,也就是說(shuō)若有(l11=l21)(l1k-2=l2k-2) (l

14、1k-1<l2k-1),則Lk-1中l(wèi)1和l2的內(nèi)容就可以連接到一起。而條件(l1k-1<l2k-1)可以確保不產(chǎn)生重復(fù)的項(xiàng)集。(2) 刪除步驟。Ck是Lk的一個(gè)超集,它其中的各元素(項(xiàng)集)不一定都是頻繁項(xiàng)集,但所有的頻繁-項(xiàng)集一定都在Ck中,即有Lk包含于Ck。掃描一遍數(shù)據(jù)庫(kù)就可以決定Ck中各候選項(xiàng)集(元素)的支持頻度,并由此獲得Lk中各個(gè)元素(頻繁k-項(xiàng)集)。所有頻度不小于最小支持頻度的候選項(xiàng)集就是屬于Lk的頻繁項(xiàng)集。然而由于Ck中的候選項(xiàng)集很多,如此操作所涉及的計(jì)算量(時(shí)間)是非常大的,為了減少Ck的大小,就需要利用Apriori性質(zhì):“一個(gè)非頻繁(k-1)-項(xiàng)集不可能成為頻

15、繁k-項(xiàng)集的一個(gè)子集”。因此若一個(gè)候選k-項(xiàng)集中任一子集((k-1)-項(xiàng)集)不屬于Lk-1,那么該候選k-項(xiàng)集就不可能成為一個(gè)頻繁k-項(xiàng)集,因而也就可以將其從Ck中刪去。§6.1.2 算法流程圖圖6-1 算法流程§6.2數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)因?yàn)橥诰蜻^(guò)程中始終都是對(duì)項(xiàng)集進(jìn)行操作,所以主要是對(duì)數(shù)據(jù)項(xiàng)集的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì),采用如下設(shè)計(jì): class AprioriSet string _TID; List<string> _Item; public string TID get return _TID; set _TID = value; public List<stri

16、ng> Item get return _Item; set _Item = value; public AprioriSet(string tID, List<string> item) _TID = tID; _Item = item; §6.3算法的具體實(shí)現(xiàn)public Apriori() try originDataList = DBHelper.getList("select productsID from record"); originDataList=DBHelper.transOriginListToStringList(ori

17、ginDataList); catch throw; #region "工具" #endregion / <summary> / 得到所有的頻繁項(xiàng)集 / </summary> / <returns></returns> public Dictionary<string, int> getFrequentItems() Dictionary<string, int> frequentCollectionMap = new Dictionary<string, int>();/所有的頻繁項(xiàng)集 D

18、BHelper.DictionaryAddAll(ref frequentCollectionMap, getNewFrequentItems(); Dictionary<string, int> itemkFcMap = new Dictionary<string, int>(); DBHelper.DictionaryAddAll(ref itemkFcMap, getNewFrequentItems(); while (itemkFcMap != null && itemkFcMap.Count() != 0) Dictionary<stri

19、ng, int> candidateCollection = getCandidateCollection(itemkFcMap); foreach (string trans in originDataList) for (int j = 0; j < candidateCollection.Count; j+) KeyValuePair<string, int> kvp = candidateCollection.ElementAt(j); bool flag = true; /用來(lái)判斷交易中是否出現(xiàn)候選項(xiàng),如果出現(xiàn)計(jì)數(shù)加1 string candidateItem

20、s = kvp.Key.Split(new string ITEM_SPLIT , System.StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < candidateItems.Length; i+) if (trans.IndexOf(candidateItemsi + ITEM_SPLIT) = -1) flag = false; break; if (flag) int count = kvp.Value; candidateCollection.Remove(kvp.Key); candidateCollect

21、ion.Add(kvp.Key, kvp.Value + 1); itemkFcMap.Clear(); foreach (KeyValuePair<string, int> kvp in candidateCollection) int count = kvp.Value; if (count >= SUPPORT) itemkFcMap.Add(kvp.Key, kvp.Value); /合并所有頻繁集 DBHelper.DictionaryAddAll(ref frequentCollectionMap, itemkFcMap); return frequentColl

22、ectionMap; / <summary> / 得到滿足支持度的頻繁項(xiàng)集 / </summary> / <returns></returns> private Dictionary<string, int> getNewFrequentItems() Dictionary<string, int> FIDictionary1 = new Dictionary<string, int>(); Dictionary<string, int> FIDictionary2 = new Dictionary

23、<string, int>(); /頻繁1項(xiàng)集 foreach (string originItems in originDataList) string items = originItems.Split(new string ITEM_SPLIT , System.StringSplitOptions.RemoveEmptyEntries); foreach (string item in items) int count = 0; bool result = FIDictionary1.TryGetValue(item + ITEM_SPLIT, out count); if

24、 (!result) FIDictionary1item + ITEM_SPLIT = 1; else FIDictionary1item + ITEM_SPLIT = count + 1; Dictionary<string, int>.KeyCollection keySet = FIDictionary1.Keys; foreach (string key in keySet) int count = FIDictionary1key; if (count >= SUPPORT) FIDictionary2key = count; return FIDictionary

25、2; / <summary> / </summary> / <param name="itemkFcMap"></param> / <returns></returns> private Dictionary<string, int> getCandidateCollection(Dictionary<string, int> itemkFcMap) Dictionary<string, int> candidateCollection = new Dictionar

26、y<string, int>(); Dictionary<string, int>.KeyCollection itemkSet1 = itemkFcMap.Keys; Dictionary<string, int>.KeyCollection itemkSet2 = itemkFcMap.Keys; foreach (string itemk1 in itemkSet1) foreach (string itemk2 in itemkSet2) string tmp1 = itemk1.Split(new string ITEM_SPLIT , Syste

27、m.StringSplitOptions.RemoveEmptyEntries); string tmp2 = itemk2.Split(new string ITEM_SPLIT , System.StringSplitOptions.RemoveEmptyEntries); string c = "" if (tmp1.Length = 1) if (tmp10.CompareTo(tmp20) < 0) c = tmp10 + ITEM_SPLIT + tmp20 + ITEM_SPLIT; else bool flag = true; for (int i =

28、 0; i < tmp1.Length - 1; i+) if (!tmp1i.Equals(tmp2i) flag = false; break; if (flag && (tmp1tmp1.Length - 1.CompareTo(tmp2tmp2.Length - 1) < 0) c = itemk1 + tmp2tmp2.Length - 1 + ITEM_SPLIT; bool hasInfrequentSubSet = false; if (!c.Equals("") string tmpC = c.Split(new string

29、ITEM_SPLIT , System.StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < tmpC.Length; i+) string subC = "" for (int j = 0; j < tmpC.Length; j+) if (i != j) subC = subC + tmpCj + ITEM_SPLIT; int mValue = 0; if (!itemkFcMap.TryGetValue(subC, out mValue) hasInfrequentSubSet = tru

30、e; break; else hasInfrequentSubSet = true; if (!hasInfrequentSubSet) candidateCollectionc = 0; return candidateCollection; §第7章 結(jié)果顯示與解釋評(píng)估§7.1 參數(shù)設(shè)置本系統(tǒng)所用參數(shù)包括:最小支持度、最小置信度。最小支持度用于篩選出商品的頻繁項(xiàng)集集合,從而算出支持度;最小置信度用于篩選出符合要求的商品集合之間信任度集合。通過(guò)最小支持度和最小置信度用戶可以根據(jù)實(shí)際需要來(lái)決定篩選的程度。§7.2 結(jié)果顯示界面的具體實(shí)現(xiàn)§7.2.1 數(shù)據(jù)

31、呈現(xiàn)的具體實(shí)現(xiàn)數(shù)據(jù)呈現(xiàn)界面主要使用的組件有:ADOConnection, ADOQuery, DataSource, DBGrid, Button.各個(gè)組件的功能:ADOConnection的功能是建立與數(shù)據(jù)庫(kù)的連接;ADOQuery的功能是用于檢索和操作由合法的SQL語(yǔ)句產(chǎn)生的數(shù)據(jù)集,也可以執(zhí)行一條SQL命令;DataSource的功能是作為數(shù)據(jù)控制組件DBGrid,DBEdit的數(shù)據(jù)傳送通道;DBGrid的功能是為前端應(yīng)用程序提供瀏覽數(shù)據(jù)庫(kù)數(shù)據(jù)的表格,這些表格操作者編輯數(shù)據(jù);Button(刷新)的功能是執(zhí)行重新輸出銷售記錄表的所有數(shù)據(jù)的命令;§7.2.2 數(shù)據(jù)挖掘的具體實(shí)現(xiàn)數(shù)據(jù)挖掘界面主要使用的組件有:ADOConnection, ADOQuery, DataSource, Label,edit,GroupBox,ListBox,Button。各個(gè)組件的功能:ADOConnection的功能是建立與數(shù)據(jù)庫(kù)的連接;ADO

溫馨提示

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

評(píng)論

0/150

提交評(píng)論