亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于粗糙集改進(jìn)的Apriori算法在公用經(jīng)費支出中的應(yīng)用

        2023-01-07 03:09:08畢浩田
        信息記錄材料 2022年11期
        關(guān)鍵詞:數(shù)據(jù)挖掘規(guī)則

        畢浩田

        (中北大學(xué)信息與通信工程學(xué)院 山西 太原 030051)

        0 引言

        公用經(jīng)費支出是財政預(yù)算支出的重要組成部分,合理安排好公用經(jīng)費的支出對于財政活動有重要意義。通過數(shù)據(jù)挖掘算法為基礎(chǔ),對公用經(jīng)費支出科目進(jìn)行分析,能夠發(fā)現(xiàn)支出科目之間的特定聯(lián)系,根據(jù)支出科目之間聯(lián)系,制定適用的公用經(jīng)費支出標(biāo)準(zhǔn),可以有效減少財政支出,從而使經(jīng)費支出結(jié)構(gòu)更加合理。

        目前已有多人將數(shù)據(jù)挖掘算法應(yīng)用到財政領(lǐng)域,陳夭元等[1]提出了基于數(shù)據(jù)挖掘的部門決算數(shù)據(jù)研究,運用關(guān)聯(lián)規(guī)則算法建立部門決算數(shù)據(jù)挖掘系統(tǒng)。黃振國等[2]將改進(jìn)時態(tài)的算法應(yīng)用到績效評價中,但關(guān)聯(lián)算法的參數(shù)值確定不夠科學(xué),需要繼續(xù)對該算法進(jìn)行改進(jìn)。葉席軍[3]等對財政大數(shù)據(jù)審計技術(shù)研究及實踐對Apriori 算法進(jìn)行可改進(jìn),利用回歸模型對財政數(shù)據(jù)進(jìn)行預(yù)測,但是沒有詳細(xì)介紹Apriori 算法的應(yīng)用。李龍等[4]研究了數(shù)據(jù)挖掘技術(shù)在部門預(yù)算系統(tǒng)中的應(yīng)用,明確財政部門與各項費用之間的關(guān)聯(lián)關(guān)系,但是沒有對算法的性能進(jìn)行分析研究。

        本文提出了基于粗糙集的Apriori 算法,利用屬性依賴中的核心屬性數(shù)據(jù)[5]對數(shù)據(jù)進(jìn)行約簡,采用計算候選集頻數(shù)優(yōu)化策略提升算法運行速度。最后,將改進(jìn)的算法應(yīng)用到公用經(jīng)費支出分析中,發(fā)現(xiàn)影響公用經(jīng)費支出中的主要因素。

        1 基于粗糙集改進(jìn)的apriori算法

        1.1 傳統(tǒng)的Apriori 算法

        Apriori 算法是典型的關(guān)聯(lián)算法,該算法已很成熟被廣泛地應(yīng)用到各行各業(yè)。一般是結(jié)合實際對Apriori 算法進(jìn)行適度改進(jìn),使其滿足適用情況。Apriori 算法流程如圖1所示。

        圖1 Apriori 算法流程圖

        Apriori 算法主要通過逐層迭代的方法來確定頻繁項,即由生成的頻繁K 項集確定頻繁K+1 項集。其主要步驟是:第一步,掃描所需的數(shù)據(jù)庫D,得到所需的候選集C1,根據(jù)已設(shè)定的支持度確定符合要求的頻繁項集L1;第二步,通過自帶的連接算法由L1產(chǎn)生候選集C2,然后第二次掃描數(shù)據(jù)庫,根據(jù)所設(shè)定的支持度閾值確定頻繁集L2;第三步,重復(fù)步驟二,直到最后不再產(chǎn)生候選集Ck+1,就可以根據(jù)支持度確定出頻繁集Lk;第四步,分別計算頻繁項集間的置信度,根據(jù)所設(shè)定的置信度閾值輸出所對應(yīng)的規(guī)則。

        由上可以知道Aprioi 算法的主要缺點為:需要對數(shù)據(jù)庫進(jìn)行重復(fù)掃描,會浪費大量時間;候選項集項產(chǎn)生過多,在項集長度不斷增大的情況下,該算法運算速度會隨著集合長度的增加而越來越慢,增大內(nèi)存運行的負(fù)擔(dān)。

        1.2 基于粗糙集改進(jìn)的apriori 算法

        針對算法存在的不足,設(shè)計了一種基于粗糙集改進(jìn)的apriori 算法。本節(jié)以Apriori 算法為基礎(chǔ),利用粗糙集對數(shù)據(jù)進(jìn)行約減,減少數(shù)據(jù)規(guī)模,同時,采用計算候選集頻數(shù)策略減少掃描數(shù)據(jù)的次數(shù),從以上兩方面對Apriori算法進(jìn)行改進(jìn)。改進(jìn)后的算法流程如圖2所示。

        圖2 基于粗糙集改進(jìn)的apriori 算法流程圖

        改進(jìn)后的算法步驟具體如下:

        (1)對原始數(shù)據(jù)進(jìn)行離散化處理,有效地降低復(fù)雜度,方便數(shù)據(jù)的存儲。

        (2)利用粗糙集算法原理構(gòu)建信息系統(tǒng)[6],使數(shù)據(jù)規(guī)模得以減少,同時生成相應(yīng)的布爾矩陣DM。

        (3)計算出布爾矩陣DM 中每列值為1 的總數(shù)即CC 值,若某列的CC 值小于最小支持度閾值,則將該列刪除就可以得到頻繁項L1。計算出布爾矩陣DM 中每行值為1 的總數(shù)即RC 值,若該行的RC 值小2 則將該行刪除。最后將矩陣的行和列按降序的方式排序,得到矩陣DM1。

        (4)掃描DM1生成IFP-Tree,將每個節(jié)點的標(biāo)記值flag_i=(x,y)添加到相應(yīng)的節(jié)點處。

        (5)根據(jù)計算候選集頻數(shù)優(yōu)化策略,通過對L1進(jìn)行預(yù)剪枝得到L1′,由L′自連接生成C2,在FP-Tree樹狀圖中找到對應(yīng)的分支,由此得到該項集的支持度計數(shù),而后將C2進(jìn)行剪枝即將小于最小支持度閾值的項集刪除,得到頻繁二項集L2。重復(fù)該步驟,直至不再產(chǎn)生頻繁項集。

        (6)根據(jù)置信度輸出關(guān)聯(lián)規(guī)則。

        1.2.1 粗糙集算法設(shè)計

        在粗糙集理論方法中,屬性(知識)約簡是對多屬性決策表或信息表進(jìn)行數(shù)據(jù)挖掘的主要手段[7]。通過對原始數(shù)據(jù)的分析比較,屬性約簡能從紛繁復(fù)雜的數(shù)據(jù)結(jié)構(gòu)中有效地提煉出用戶最為感興趣的數(shù)據(jù)。其中數(shù)據(jù)的獨立性反映了數(shù)據(jù)之間的依賴程度,所以依賴度是數(shù)據(jù)約簡的最重要的概念[8]。

        其實現(xiàn)步驟可總結(jié)如下:

        (1)在數(shù)據(jù)中找到所需的條件屬性和決策屬性,并用適當(dāng)?shù)姆枌l件屬性按決策屬性表示出來。

        (2)對不符合決策屬性的條件屬性進(jìn)行刪除,將剩余的條件屬性按重要程度進(jìn)行重新排序,完成核的求解,實現(xiàn)數(shù)據(jù)的約簡。其主要代碼如下:

        #決策屬性基本集

        y_basic_set=sorted([vfork,vinbasic_set(y_data).items()])

        num=Euclidean(x_data)

        #print(num)

        x_basic_set=[vfork,vinkey_basic(num,t1).items()]

        #γC(D)

        pos=[]

        foriinx_basic_set:

        forjiny_basic_set:

        ifset(i).issubset(j):

        pos.append(i)

        #pos.sort()#排序

        r_x_y=len(pos)/len(data)#也許可以寫一個card 函數(shù)

        print('依賴度r_x_(y):',r_x_y)

        #計算每一個γ(C-a)(D)

        #獲取條件屬性個數(shù)為總下標(biāo)存入集合

        #收集屬性重要性

        imp_attr=[]

        columns_num=list(range(len(x_data.columns)))

        foriincolumns_num:

        c=columns_num.copy()

        c.remove(i)

        u=data.iloc[:,c]

        num=Euclidean(u)

        u=sorted([vfork,vinkey_basic(num,t1).items()])

        #γC(D)

        pos_va=[]

        forkinu:forjiny_basic_set:

        ifset(k).issubset(j):

        pos_va.append(k)

        r_x_y_2=len(pos_va)/len(data)

        r_diff=round((r_x_y-r_x_y_2),4)

        imp_attr.append(r_diff)

        dict_imp={}

        foro,pinenumerate(imp_attr):

        dict_imp[data.columns[o]]=p

        result=dict_imp

        #print(imp_attr)

        Return result

        (3)將約簡后的數(shù)據(jù)生成布爾矩陣

        1.2.2 計算候選集頻數(shù)優(yōu)化策略

        在Apriori 算法中,為了確定支持度需要多次掃描數(shù)據(jù)庫才造成Apriori 算法運行緩慢。本次提出來一種計算候選集頻數(shù)優(yōu)化策略來提升Apriori 算法的運行速度。

        首先利用矩陣式運算獲得頻繁項C1,對C1進(jìn)行預(yù)剪枝得到L1,然后利用Apriori 算法的自連接性質(zhì),通過L1自主生成候選二項集C2。之后,第二次掃描數(shù)據(jù)庫,利用fp-tree 中的生長樹形成樹結(jié)構(gòu),并在每個節(jié)點處添加標(biāo)記flagitem=(i,j)。根據(jù)L1明確IX和Iy中的最小項,在計算候選項集C2的支持度時,只需要掃描特定分支即含有最小項事務(wù)結(jié)點鏈[9]避免掃描整個數(shù)據(jù)庫,并結(jié)合該節(jié)點處標(biāo)記[10]flagitem=(i,j)中j 中的數(shù)值,即可得到C2的計數(shù),最后根據(jù)設(shè)定的最小支持度得到頻繁二項集。對獲得的頻繁二項集做上述第二步同樣的操作就可以快速計算出C3支持度計數(shù),重復(fù)以上步驟就可以得來最終的結(jié)果。使用計算候選集頻數(shù)優(yōu)化策略可以有效節(jié)省空間和時間資源,提升算法運行效率。

        defapriori(D,minSupport):

        flag=1

        C1=createC1()#生成C1 候選項集

        L1,supportData=scanD(D,C1,minSupport)#掃描數(shù)據(jù)集,生成L1 頻繁項集

        L=[L1]

        k=2

        scan=1

        while(len(L[k-2])>0):#頻繁項集不為空

        Ck=aprioriGen(L[k-2],k)#調(diào)用候選集生成算法

        Lk,supK=scanD(D,Ck,minSupport)#調(diào)用計算候選集頻數(shù)算法生成Lk 頻繁項集

        L.append(Lk);supportData.update(supK)#添加新頻繁項集和他們的支持度

        k+=1

        returnL,supportData

        defscanD(dataSet,Ck,minSupport):#計算候選集頻數(shù)算法

        ssCnt={}#記錄每個候選項的個數(shù)

        foriteminTree.children:

        forcaninCk:

        ifcan.issubset(tid):

        ssCnt[can]=flagitem.get(’j’)#計算每一個項集出現(xiàn)的頻率

        numItems=float(len(dataSet))

        retList=[]

        supportData={}

        forkeyinssCnt:

        support=ssCnt[key]/numItems

        ifsupport>=minSupport:

        retList.insert(0,key)#將頻繁項集插入返回列表的首部

        supportData[key]=support

        returnretList,supportData#retList 為在Ck 中找出的頻繁項集

        2 實驗與結(jié)果

        為確定本次算法改進(jìn)的合理性,將本次改進(jìn)的算法與其他三種基于Apriori 改進(jìn)的算法進(jìn)行對比,主要從算法的運行時間和冗余規(guī)則數(shù)進(jìn)行分析來比較該算法的優(yōu)越性。本次實驗所采用的數(shù)據(jù)為某市財政部門公用經(jīng)費支出數(shù)據(jù),數(shù)據(jù)規(guī)模為3 000 條。設(shè)置關(guān)聯(lián)規(guī)則算法的支持度均為0.2,最小置信度均為0.4,提升度閾值均為1.4、興趣度閾值均為0.1。不同算法的實驗結(jié)果如表1所示。由表1可以看出本文提出的改進(jìn)的Apriori 算法可以大大降低冗余規(guī)則條數(shù),算法運行時間也得到縮短,提高了預(yù)警規(guī)則的挖掘效率。

        表1 算法運行時間對比表

        本文提出的改進(jìn)的Apriori 算法在剔除掉無關(guān)的967條冗余規(guī)則后,共挖掘到有效規(guī)則300 條。部分規(guī)則如表2所示。

        表2 公用經(jīng)費支出關(guān)聯(lián)規(guī)則表

        表2中第1~7 條規(guī)則,前列都為T29,說明在職人員數(shù)是決定公用經(jīng)費支出多少的關(guān)鍵因素,在職人員數(shù)越多,T1辦公費、T2印刷費、T5郵電費、T7差旅費、T11會議費T25下鄉(xiāng)人員經(jīng)費、T27福利費、T28公務(wù)交通補(bǔ)貼支出越多;T1?T2,T1?T3說明辦公費越高,印刷費和郵電費就越高;T11?T1,T11?T2,T11?T5說明會議費越多,辦公費,郵電費,印刷費就越多;T28?T29說明公務(wù)交通補(bǔ)貼越高,在職人員越多。通過數(shù)據(jù)挖掘形成的規(guī)則,在編制公用經(jīng)費預(yù)算時要參照在職人員數(shù),當(dāng)在職人員數(shù)增長時,T1辦公費、T2印刷費、T5郵電費、T7差旅費、T11會議費T25下鄉(xiāng)人員經(jīng)費、T27福利費、T28公務(wù)交通補(bǔ)貼都應(yīng)該相應(yīng)增加;可以適當(dāng)減少會議的次數(shù),會使辦公費、郵電費、印刷費用減少。

        3 結(jié)論

        本文針對Apriori 算法的缺陷,提出了基于粗糙集改進(jìn)的Apriori 算法,首先利用粗糙集對原始數(shù)據(jù)進(jìn)行約減,然后對Apriori 算法進(jìn)行改進(jìn),通過計算候選集頻數(shù)減少掃描數(shù)據(jù)庫的次數(shù),采用多種方式對冗余規(guī)則進(jìn)行篩選,提升運算效率。以某市的財政預(yù)算支出數(shù)據(jù)為核心,對財政預(yù)算支出數(shù)據(jù)進(jìn)行預(yù)處理后,利用改進(jìn)的算法重點挖掘公用經(jīng)費支出較大時支出科目之間的關(guān)系,形成公用經(jīng)費支出分析規(guī)則庫,通過減少某一經(jīng)費的預(yù)算支出,達(dá)到縮減預(yù)算支出的目的。

        猜你喜歡
        數(shù)據(jù)挖掘規(guī)則
        撐竿跳規(guī)則的制定
        數(shù)獨的規(guī)則和演變
        探討人工智能與數(shù)據(jù)挖掘發(fā)展趨勢
        規(guī)則的正確打開方式
        幸福(2018年33期)2018-12-05 05:22:42
        讓規(guī)則不規(guī)則
        Coco薇(2017年11期)2018-01-03 20:59:57
        基于并行計算的大數(shù)據(jù)挖掘在電網(wǎng)中的應(yīng)用
        電力與能源(2017年6期)2017-05-14 06:19:37
        TPP反腐敗規(guī)則對我國的啟示
        數(shù)據(jù)挖掘技術(shù)在中醫(yī)診療數(shù)據(jù)分析中的應(yīng)用
        搜索新規(guī)則
        一種基于Hadoop的大數(shù)據(jù)挖掘云服務(wù)及應(yīng)用
        手机在线免费av网址| 久久人妻少妇嫩草av蜜桃| 亚洲免费不卡| 亚洲区1区3区4区中文字幕码| 青青草激情视频在线播放| 男人和女人做爽爽视频| 日韩欧美在线综合网| 午夜爽毛片| av在线不卡免费中文网| 精品国产乱码久久久久久郑州公司| 亚洲成a人片在线观看无码| 三级全黄的视频在线观看| 国产夫妻自偷自拍第一页| 亚洲精品第一国产综合精品| 日韩a毛片免费观看| AV无码专区亚洲AVL在线观看| 加勒比久久综合久久伊人爱| 国产精品妇女一二三区| 亚洲中文字幕无码中字| 亚洲女同一区二区久久| 亚洲日本精品国产一区二区三区| 国产女人高潮叫床免费视频| 99久久人妻无码精品系列蜜桃| 一区二区三区视频免费观看在线| 精品国产粉嫩内射白浆内射双马尾| 国产成人综合色在线观看网站| 亚洲午夜看片无码| 国产自拍一区在线视频| 狠狠人妻久久久久久综合蜜桃| 日韩无码无播放器视频| 亚洲av免费高清不卡| av天堂精品久久综合网| 美丽的熟妇中文字幕| 亚洲av永久青草无码精品| 国产精品一区av在线| 无码任你躁久久久久久久| 国产精品一区二区av片| 五月婷婷丁香视频在线观看| 亚洲va欧美va日韩va成人网| 国产乱视频| 牛仔裤人妻痴汉电车中文字幕|