(寶雞文理學(xué)院 體育學(xué)院,寶雞 721007)
在體育競技領(lǐng)域中,各項(xiàng)運(yùn)動(dòng)所涉及的數(shù)據(jù)量十分龐大,但就目前來看,這些海量數(shù)據(jù)的利用率十分低下,難以產(chǎn)生令人滿意的效果。因此,如何提高數(shù)據(jù)的利用率,挖掘出這些海量數(shù)據(jù)中所潛在的運(yùn)動(dòng)員訓(xùn)練規(guī)律等有用信息,已經(jīng)成為了體育競技領(lǐng)域中的研究重點(diǎn)[1]。隨著信息技術(shù)的蓬勃發(fā)展,數(shù)據(jù)挖掘技術(shù)作為一種涉及眾多領(lǐng)域的交叉性學(xué)科,逐漸成為人們整合并挖掘海量數(shù)據(jù)中的有用信息以及規(guī)則關(guān)聯(lián)的有效途徑。有鑒于此,本文針對(duì)數(shù)據(jù)挖掘技術(shù)在運(yùn)動(dòng)員多屬性訓(xùn)練方面的應(yīng)用展開研究,以期通過應(yīng)用恰當(dāng)?shù)臄?shù)據(jù)挖掘技術(shù),有效地挖掘出運(yùn)動(dòng)員訓(xùn)練相關(guān)數(shù)據(jù)中的潛在規(guī)則與關(guān)聯(lián),篩選出其中具有價(jià)值的信息,從而實(shí)現(xiàn)對(duì)運(yùn)動(dòng)員訓(xùn)練的數(shù)據(jù)支持,使訓(xùn)練更加科學(xué)、高效[2]。
隨著社會(huì)逐步實(shí)現(xiàn)信息化,數(shù)據(jù)量也隨之呈指數(shù)地不斷增長,如何有效利用這些海量數(shù)據(jù)中所包含的大量有用信息,成為了整個(gè)社會(huì)的迫切需求。在此背景下,數(shù)據(jù)挖掘技術(shù)應(yīng)運(yùn)而生,它能夠從海量模糊而不完全的數(shù)據(jù)集內(nèi)發(fā)現(xiàn)潛在的關(guān)聯(lián)以及有用信息,還能夠根據(jù)數(shù)據(jù)間的關(guān)聯(lián)來實(shí)現(xiàn)預(yù)測(cè)[3]。數(shù)據(jù)挖掘的算法即關(guān)聯(lián)規(guī)則,主要是在相同事件當(dāng)中探求出所產(chǎn)生的各個(gè)項(xiàng)之間的關(guān)聯(lián)。以運(yùn)動(dòng)員的訓(xùn)練為例,其中包含了訓(xùn)練強(qiáng)度、身體素質(zhì)、場地情況等等項(xiàng),關(guān)聯(lián)規(guī)則可以發(fā)現(xiàn)各項(xiàng)之間的相關(guān)性[4]。通常情況下,主要是通過掃描事務(wù)數(shù)據(jù)庫來統(tǒng)計(jì)出各項(xiàng)在其中所出現(xiàn)的概率來實(shí)現(xiàn),即這些項(xiàng)的支持度。除此之外,還需要對(duì)各項(xiàng)以及各項(xiàng)的組合所出現(xiàn)的概率即條件概率進(jìn)行計(jì)算,也可將其稱之為各項(xiàng)以及各項(xiàng)組合的可信度[5]。
目前對(duì)關(guān)聯(lián)規(guī)則的分類有眾多方式,比較典型的如根據(jù)關(guān)聯(lián)規(guī)則中所包含數(shù)據(jù)的維數(shù)進(jìn)行分類,從而將其分為單維關(guān)聯(lián)規(guī)則與多屬性關(guān)聯(lián)規(guī)則。針對(duì)運(yùn)動(dòng)員訓(xùn)練而言,在實(shí)際情況中存在著諸多的影響因素,所包含的數(shù)據(jù)遠(yuǎn)遠(yuǎn)超過三個(gè)維度,因此在應(yīng)用數(shù)據(jù)挖掘技術(shù)來探求各因素之間的相關(guān)性時(shí),應(yīng)將其歸為多屬性關(guān)聯(lián)規(guī)則[6]。相對(duì)于單維關(guān)聯(lián)規(guī)則而言,多屬性關(guān)聯(lián)規(guī)則所涉及的內(nèi)容較為復(fù)雜,因此實(shí)現(xiàn)起來也更為困難。作為一種精準(zhǔn)而高效的數(shù)據(jù)挖掘技術(shù),多屬性關(guān)聯(lián)規(guī)則通常包括了數(shù)據(jù)預(yù)處理、數(shù)據(jù)挖掘以及知識(shí)表達(dá)與評(píng)估為主的諸多階段,如圖1所示[7]。
在數(shù)據(jù)預(yù)處理階段,主要是對(duì)數(shù)據(jù)進(jìn)行采集、篩選、變換、集合以及規(guī)則約束等,是數(shù)據(jù)挖掘過程中最耗時(shí)的階段;在數(shù)據(jù)挖掘階段,主要是通過關(guān)聯(lián)規(guī)則、決策樹、神經(jīng)網(wǎng)絡(luò)等數(shù)據(jù)處理技術(shù),對(duì)經(jīng)過預(yù)處理的數(shù)據(jù)集進(jìn)行分析,以此得到數(shù)據(jù)集中的有用信息以及關(guān)聯(lián)規(guī)則[8];在知識(shí)表達(dá)與評(píng)估階段,主要是將數(shù)據(jù)挖掘階段所獲得的有用信息以及關(guān)聯(lián)規(guī)則表達(dá)展示給用戶,或者將其以新知識(shí)的形式提供給相關(guān)應(yīng)用程序。
圖1 數(shù)據(jù)挖掘過程
針對(duì)運(yùn)動(dòng)員多屬性訓(xùn)練的實(shí)際需要,本文初步選擇了基于關(guān)聯(lián)規(guī)則的Apriori算法來執(zhí)行相關(guān)的數(shù)據(jù)挖掘工作[9]。在關(guān)聯(lián)規(guī)則中具有數(shù)值型與布爾型兩種分類,而該算法屬于布爾型。
Apriori算法的流程如下:
步驟1,對(duì)事物數(shù)據(jù)庫進(jìn)行掃描,并計(jì)算其中各數(shù)據(jù)項(xiàng)的支持度,以此獲得頻繁項(xiàng)集L1;
步驟2,根據(jù)頻繁項(xiàng)集L1連接得到候選項(xiàng)集C2,并對(duì)其執(zhí)行剪切操作;
步驟3,對(duì)事物數(shù)據(jù)庫進(jìn)行掃描,并計(jì)算候選項(xiàng)集C2的支持度,以此獲得頻繁項(xiàng)集L2;
步驟4,循環(huán)執(zhí)行步驟1-步驟3,直至得到的頻繁項(xiàng)集Lk為空;
步驟5,將所得出的全部頻繁項(xiàng)集合并為L[10]。
其中,得出頻繁項(xiàng)集的具體過程如圖2所示。
圖2 Apriori算法流程
對(duì)圖2所示的Apriori算法獲得頻繁項(xiàng)集的過程進(jìn)行分析,可以發(fā)現(xiàn)其中存在幾點(diǎn)問題:
第一,在對(duì)頻繁項(xiàng)集Lk-1進(jìn)行連接從而得到選項(xiàng)集Ck的過程中[11],需要通過多次對(duì)比來最終判定是否滿足生成條件,由此可得其判定的時(shí)間復(fù)雜度為O((k-1)×n2);
第二,在對(duì)候選項(xiàng)集執(zhí)行剪切操作的過程中,若候選項(xiàng)集Ck中存在一個(gè)屬于該集的c,而c中某個(gè)子集不在頻繁項(xiàng)集Lk-1中,此時(shí)將剪切c項(xiàng)集。但在此執(zhí)行過程中,為了判斷c中各子集是否全部在頻繁項(xiàng)集Lk-1中,需要耗費(fèi)較多時(shí)間來多次對(duì)事物數(shù)據(jù)庫進(jìn)行掃描;
第三,在獲得頻繁項(xiàng)集Lk的過程中,Lk的生成條件為≥min_suppor,因此需要多次執(zhí)行步驟1,并將每次的計(jì)算結(jié)果與min_suppor進(jìn)行對(duì)比[12]。
通過上述問題分析,可以發(fā)現(xiàn)Apriori算法所存在的問題可能導(dǎo)致以下兩種情況的發(fā)生:第一,可能出現(xiàn)多次掃描數(shù)據(jù)的情況;第二,可能出現(xiàn)生成海量候選項(xiàng)集的情況[13]。這兩種情況會(huì)造成支持度的計(jì)算量過于龐大,從而影響性能。對(duì)此,本文采用了結(jié)合DC_Apriori算法的方式,在Apriori算法的基礎(chǔ)上對(duì)其進(jìn)行改進(jìn)。
DC_Apriori算法的執(zhí)行過程如下:
步驟1,對(duì)原始數(shù)據(jù)庫D進(jìn)行掃描;
步驟2,對(duì)原始數(shù)據(jù)庫D的存儲(chǔ)結(jié)構(gòu)進(jìn)行重組,將事務(wù)Tid與數(shù)據(jù)項(xiàng)Item重組為Item-Tid;
步驟3,對(duì)重組后的Item-Tid排序,然后進(jìn)行存儲(chǔ);
步驟4,掃描數(shù)據(jù)庫,獲得候選項(xiàng)集C1;
步驟5,對(duì)比各事務(wù)列表長度,篩選出滿足≥min_support條件的所有項(xiàng),從而獲得頻繁項(xiàng)集L1;
步驟6,判斷頻繁項(xiàng)集是否滿足生成候選項(xiàng)集的條件,若滿足條件,則進(jìn)入下一步驟;
步驟7,比較候選項(xiàng)集的最后一個(gè)元素m和l1在頻繁項(xiàng)集L1中的索引位置,若m 步驟8,以滿足最小支持度為條件對(duì)c進(jìn)行篩選,以此得到頻繁項(xiàng)集Lk[14]。 本文結(jié)合DC_Apriori算法對(duì)Apriori算法進(jìn)行改進(jìn),主要思路為:通過重組事務(wù)數(shù)據(jù)庫結(jié)構(gòu),減少多余的連接及剪切步驟,以此降低頻繁項(xiàng)集的計(jì)算量。改進(jìn)Apriori算法的流程如下: 步驟1,對(duì)原始數(shù)據(jù)庫D進(jìn)行重組,以最小支持度為條件進(jìn)行篩選,以此獲得頻繁項(xiàng)集L1; 步驟2,判斷頻繁項(xiàng)集是否滿足生成候選項(xiàng)集的條件,若滿足條件,則進(jìn)入下一步驟; 步驟3,根據(jù)頻繁項(xiàng)集L1連接得到候選項(xiàng)集C2,執(zhí)行剪切操作后得到頻繁項(xiàng)集L2; 步驟4,重復(fù)執(zhí)行步驟2-步驟4,直至不再生成頻繁項(xiàng)集時(shí)結(jié)束,最終得到L。 改進(jìn)Apriori算法獲得頻繁關(guān)聯(lián)規(guī)則流程圖如圖3所示[15]。 為了驗(yàn)證本文所提出的改進(jìn)Apriori算法是否有效,以Apriori算法、DC-Apriori算法以及改進(jìn)Apriori算法進(jìn)行仿真實(shí)驗(yàn),并對(duì)結(jié)果進(jìn)行對(duì)比分析。實(shí)驗(yàn)采用Eclipse進(jìn)行開發(fā),基于Java語言進(jìn)行測(cè)試程序的編寫,具體測(cè)試環(huán)境為:win7操作系統(tǒng),4G內(nèi)存,500G機(jī)械硬盤,CUP為酷睿i7[16]。 實(shí)驗(yàn)所用的數(shù)據(jù)樣本為某市羽毛球隊(duì)的相關(guān)屬性數(shù)據(jù),如表1所示。 圖3 改進(jìn)Apriori算法頻繁關(guān)聯(lián)規(guī)則流程 表1 某市羽毛球隊(duì)的相關(guān)屬性數(shù)據(jù) 表1中,Tid為事務(wù)的數(shù)量,Item為數(shù)據(jù)項(xiàng)數(shù)量,Avg為各事務(wù)平均數(shù)據(jù)項(xiàng)數(shù)量。 在不同最小支持度和最小置信度下,Apriori算法、DC-Apriori算法以及改進(jìn)Apriori算法的執(zhí)行時(shí)間對(duì)比結(jié)果如圖4、圖5所示。 圖4 最小支持度下的執(zhí)行時(shí)間對(duì)比 圖5 最小置信度下的執(zhí)行時(shí)間對(duì)比 從圖4所示的對(duì)比結(jié)果可以看到,在事務(wù)數(shù)量Tid以及數(shù)據(jù)項(xiàng)數(shù)量Item較小時(shí),本文所提出的改進(jìn)Apriori算法在性能上優(yōu)于其他算法。 從圖5所示的對(duì)比結(jié)果可以看到,在事務(wù)數(shù)量Tid以及數(shù)據(jù)項(xiàng)數(shù)量Item較小時(shí),本文所提出的改進(jìn)Apriori算法在性能上優(yōu)于其他算法,這種差距隨著置信度的增大而逐漸縮小,最終趨同。 本文針對(duì)數(shù)據(jù)挖掘技術(shù)在運(yùn)動(dòng)員多屬性訓(xùn)練中的應(yīng)用展開研究,主要對(duì)Apriori算法所存在的問題進(jìn)行了探討,提出了結(jié)合DC_Apriori算法的算法改進(jìn)方法,以期提高Apriori算法的性能[17]。通過仿真實(shí)驗(yàn),以Apriori算法、DC-Apriori算法以及改進(jìn)Apriori算法等三種算法的實(shí)驗(yàn)對(duì)比結(jié)果,證明了本文所提出的改進(jìn)Apriori算法在性能上具有優(yōu)越性。2.3 改進(jìn)Apriori算法
3 仿真實(shí)驗(yàn)分析
4 總結(jié)