999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

關聯規則Apriori算法在玉米產量信息挖掘中的應用

2016-01-01 00:00:00王彥群高賢強
湖北農業科學 2016年3期

摘要:應用數據挖掘中關聯規則的Apriori算法對玉米產量信息進行數據分析。利用最小支持度和最小置信度挖掘出頻繁項集,從而尋找其中存在的關系和規則。挖掘的信息為:玉米生育期內降水量高,平均氣溫高,則產量高;反之,平均氣溫偏低,總降水量偏低,則產量低,十分可信。

關鍵詞:數據挖掘;關聯規則;Apriori算法;玉米產量信息

中圖分類號:TP311;S513 文獻標識碼:A 文章編號:0439-8114(2016)03-0736-04

DOI:10.14088/j.cnki.issn0439-8114.2016.03.047

Abstract: The data analysis of corn yield information was analyzed through the application of Apriori algorithm of association rules in data mining. The minimum support and minimum confidence were used to dig frequent itemset mining, so as to find the existing relationships and rules. Mining information was as follows, during the growing period of the corn, if precipitation and average temperature were high, the corn yield would be high; conversely, the corn yield would be low, the results was very credible.

Key words:data mining;association rules;Apriori algorithm;corn yield information

隨著計算機技術的快速發展,大量數據庫應用系統隨之出現,面對數據規模爆炸式的增長趨勢,傳統的小樣本專家驗證式統計分析已不能適應從大數據中發現知識為人類服務的要求。運用數據挖掘技術對農業信息數據進行挖掘,能有效地解決這個問題。研究針對安徽省宿州市埇橋區農業資源信息系統,旨在分析降水量、積溫、氣溫變化、干濕特性、耕作土壤 pH、耕作土壤有機物含量、土壤養分含量等因素與玉米產量之間相關性的數據挖掘技術,為該地區農業生產提供決策依據。鑒于農業資源信息的屬性均是數值型數據,挖掘技術選用能有效處理數值型數據的關聯規則算法。

關聯規則挖掘就是從大量的數據中挖掘出有價值的、描述數據項之間相互聯系的有關知識。關聯規則挖掘算法中最經典的算法是Apriori算法,此算法使用頻繁項集性質的先驗知識,通過逐層搜索的迭代方法來查找頻繁項集。由于關聯規則形式簡潔,易于解釋和理解并可以有效捕捉數據間的重要關系,因此從大型數據庫中挖掘關聯規則的問題已經成為近年來數據挖掘領域的一個熱點[1]。通過應用數據挖掘中關聯規則的Apriori算法,對玉米產量信息進行數據分析。利用最小支持度和最小置信度挖掘出頻繁項集,從而尋找其中存在的關系和規則,以用于指導今后的農業生產和管理。

1 Apriori算法

Apriori算法使用逐層搜索的迭代方法: k-項集用于搜索(k+1)-項集。首先,找到頻繁1-項集的集合,記作L1,L1用于找到頻繁2-項集的集合L2,而L2用于找L3,如此類推,直到不能找到頻繁k-項集。關聯規則的基本概念和問題描述如下:設I={i1,i2…in}是項的集合,事務T?奐I為數據項集I的一個子集,事務數據庫D={T1,T2…Tn}[2-4]。關聯規則是形如X?圯Y的蘊含式,其中X?奐I,Y?奐I,且X∩Y為空集。

規則X?圯Y在T中的支持度(support)是T中包含X∪Y的事務占事務總數的百分比,支持度表示X?圯Y在T中出現的普遍程度。大于給定支持度的模式稱為頻繁模式。

規則X?圯Y在T中的置信度(confidence)是在T中包含X的事務中,Y也同時出現的概率,置信度表示規則的強度[5]。

滿足最小支持度閾值(min_sup)和最小置信度閾值(min_conf)的關聯規則稱為強規則。這兩個閾值均在0%~100%之間,關聯規則挖掘的任務就是要挖掘出事務數據庫D中所有的強規則。

Apriori算法具體描述如下:

Input:事務數據庫D,最小支持度閾值min_sup;

out: Result={事務數據庫中的頻繁項集及其支持度}

Result:={ }; k:=1;

C1:=所有的1-項集

While(Ck不空)do

Begin

為每個Ck的項集生成一個計數器Compk[i]:=0;

For(i=1;i≤|D|;i++)

Begin if第i個記錄(TID=i)支持Ck中的第j個k-項集

Then Compk[j]:=Compk[j]+1;

End

Lk:={Ck中滿足支持度大于min_sup的全體項集}

Lk中頻繁項集的支持度保留;

Result:= Result∪Lk;

Ck+1:={所有的(k+1)-項集中滿足其子集都在Lk中的全體項集}

K=k+1;

End do

2 利用Apriori算法挖掘關聯規則

2.1 數據預處理

關聯規則挖掘發現大量數據中項集之間有趣的關聯或相關聯系。通過發現這個關聯的規則,可以更好地了解和掌握事物的發展動向等[6],下面以挖掘玉米產量的信息為例。本研究數據來源于安徽省宿州市埇橋區6個鄉鎮的玉米生長和產量數據,主要研究氣候及降水量的變化對玉米生長和產量的影響。其中,將鄉鎮平均產量(即鄉鎮總產量與總播種面積的比)作為衡量標準,選取反映氣候和降水量變化的相關屬性構建挖掘目標數據庫[7]。

玉米的生育期為6~8月,分別用T6、D6,T7、D7,T8、D8表示6、7、8月的平均氣溫和降水量,G表示地區的平均產量。玉米原始數據如表1所示。

為了對數據進行挖掘,需要對數據進行預處理,相關約束和規定采用如下方式:

將6月平均氣溫高于30 ℃的值設置為1,低于30 ℃的值設置為2;降水量大于200 mm的值設置為3,低于200 mm的值設置為4。將7月平均氣溫高于31 ℃的值設置為5,低于31 ℃的值設置為6;降水量大于200 mm的值設置為7,低于200 mm的值設置為8。將8月平均氣溫高于31 ℃的值設置為9,低于31 ℃的值設置為10;降水量大于200 mm的值設置為11,低于200 mm的值設置為12。將產量高于5 000 kg/hm2的值設置為13,低于5 000 kg/hm2的值設置為14,得到原數據表對應的邏輯數據表(表2)。

2.2 挖掘關聯規則

將表2中的記錄作為Apriori關聯規則挖掘的數據,設定最小支持度為50%,置信度為70%。

在Eclipse軟件環境下,利用JAVA語言編寫實現Apriori算法的程序,運行Apriori算法程序后,選擇項數最多的頻繁項集(即4項集),得到結果如圖1所示,試驗結果數據整理后如表3所示。

以下是JAVA語言實現Apriori算法的部分程序代碼:

package item;

import java.util.ArrayList;

import java.util.Collections;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import java.util.Set;

public class cc {

private final static int SUPPORT = 3;//支持度閾值

private final static double CONFIDENCE = 0.7;// 置信度閾值

private final static String ITEM_SPLIT=\";\";//項之間的分隔符

private final static String CON=\"->\";//項之間的分隔符

privatefinalstaticList(); //定義所有記錄

static{//初始化記錄

transList.add(\"2;3;6;8;10;12;13;\");

transList.add(\"1;4;5;7;9;12;14;\");

transList.add(\"2;4;6;8;10;12;14;\");

transList.add(\"2;3;6;7;10;11;13;\");

transList.add(\"2;4;6;8;9;12;14;\");

transList.add(\"1;4;5;7;9;11;13;\"); }

public Map getFC(){

Map frequentCollectionMap=new HashMap();//所有的頻繁集

frequentCollectionMap.putAll(getItem1FC());

Map itemkFcMap=new HashMap();

itemkFcMap.putAll(getItem1FC());

while(itemkFcMap!=1itemkFcMap.size()!=0){

Map candidateCollection=getCandidateCollection(itemkFcMap);

Set ccKeySet=candidateCollection.keySet();

//對候選集項進行累加計數

for(String trans:transList){

for(String candidate:ccKeySet){

boolean flag=true;// 用來判斷記錄中是否出現該候選項,如果出現,計數加1

String[]candidateItems=candidate.split(ITEM

_SPLIT);

for(String candidateItem:candidateItems)

{ if(trans.indexOf(candidateItem+ITEM_SPLIT)==-1)

{flag=1; break;} }

if(flag){

Integer count=candidateCollection.get(candidate);

candidateCollection.put(candidate, count+1); } }

} //從候選集中找到符合支持度的頻繁集項

itemkFcMap.clear();

for(String candidate:ccKeySet){

Integer count=candidateCollection.get(candidate);

if(count>=SUPPORT){

itemkFcMap.put(candidate, count); } } //合并所有頻繁集

frequentCollectionMap.putAll(itemkFcMap); }

return frequentCollectionMap;}

private Map getCandidateCollection(Map itemkFcMap){

Map candidateCollection=new HashMap();

Set itemkSet1=itemkFcMap.keySet();

Set itemkSet2=itemkFcMap.keySet();

for(String itemk1:itemkSet1){

for(String itemk2:itemkSet2){ //進行連接

String[] tmp1=itemk1.split(ITEM_SPLIT);

String[] tmp2=itemk2.split(ITEM_SPLIT);

Stringc=\"\";if(tmp1.length==1){

if(tmp1[0].compareTo(tmp2[0])<0){

c=tmp1[0]+ITEM_SPLIT+tmp2[0]+ITEM_SPLIT;}

}else{ Boolean flag=true;

for(int i=0;i

if(!tmp1[i].equals(tmp2[i])){

flag=1;

break; } }

運行結果如下:

并不是每個關聯規則都值得分析。選擇關聯規則中包含13或14并且有因果意義的項。例如,12;2;4;->14;1.00,說明6月平均氣溫低于30 ℃,降水量低于200 mm,且8月降水量低于200 mm的地區,其玉米產量低于5 000 kg/hm2,可信度為100%。14;->12;2;4;1.00,說明玉米產量低于5 000 kg/hm2的地區,其6月平均氣溫必低于30 ℃,降水量低于200 mm,且8月降水量低于200 mm,可信度為100%。

經過分析,可得出挖掘的信息為:玉米生育期內降水量高,平均氣溫高,則產量高;反之,平均氣溫偏低,總降水量偏低,則產量低,十分可信。說明在玉米生育期內溫度和降水量是玉米產量的主要影響因素。氣溫增高和充沛的降水對玉米的產量提升提供了有利保障,這與本文研究結果一致。

3 小結

經過研究關聯規則Apriori算法,將此算法應用于玉米產量因素分析中。首先對數據進行了預處理,然后使用Apriori算法挖掘降水量、平均氣溫與產量的關系,最終產生關聯規則。其他農作物信息的挖掘可以采用與此相同的方法,關聯規則分析后得出的結論可用來指導今后的農業生產與管理。

Apriori算法使用頻繁項集性質的先驗知識,通過逐層搜索的迭代方法來查找頻繁項集,需要多次掃描事務數據庫,運算效率不高[8]。如何提高關聯規則算法執行的效率,設計更有效、更實用的算法,是需要進一步研究的課題。

參考文獻:

[1] 譚 慶.關聯規則Apriori算法在試卷成績分析中的應用研究[J].信陽師范學院學報(自然科學版),2009,22(2):300-302.

[2] 張文靜,宋 雨,盧海霞.利用關聯規則建立專家系統的知識庫[J].計算機技術與發展,2006,16(2):76-77.

[3] HAN J W,KAMBER M.數據挖掘概念與技術[M].北京:機械工業出版社,2005.

[4] 亓文娟,晏 杰.數據挖掘中關聯規則Apriori算法[J].計算機系統應用,2013,22(4):121-124.

[5] 李 橋,陽春華.關聯規則Apriori算法在教學評價中的應用[J].計算機與數字工程,2010(6):49-51,81.

[6] 王 寧,王 波.基于Apriori算法關聯規則的設計與實現[J].現代工業經濟和信息化,2011(10):70-72,75.

[7] 張 超,魏三強,朱 軍.一種農業信息數據挖掘系統的研究與應用[J].蘇州科技學院學報(自然科學版),2013,30(1):75-80.

[8] 張 圣.一種基于云計算的關聯規則Apriori算法[J].通信技術,2011,44(6):141-143.

主站蜘蛛池模板: 99久久精品免费观看国产| 亚洲综合18p| 国产九九精品视频| 亚洲成人网在线观看| 日韩a级片视频| 国产一级在线观看www色| 亚洲日韩日本中文在线| 九色视频一区| 国产91无码福利在线| 国产激情第一页| 国产成人亚洲综合A∨在线播放| 少妇露出福利视频| 欧美成人区| 国产无码性爱一区二区三区| 蜜桃臀无码内射一区二区三区| 久久国产拍爱| 色综合天天操| 欧美午夜小视频| 伊人久久久久久久| 人妻少妇久久久久久97人妻| 内射人妻无套中出无码| 亚洲av无码成人专区| 热伊人99re久久精品最新地| 免费人成视频在线观看网站| 欧美伦理一区| 亚洲国产综合精品一区| 香蕉国产精品视频| 台湾AV国片精品女同性| 色婷婷丁香| 亚洲香蕉在线| 91精品网站| 日本精品一在线观看视频| 五月综合色婷婷| 国产福利免费在线观看| 日韩av电影一区二区三区四区| 国产在线一区视频| 亚卅精品无码久久毛片乌克兰| 精品福利视频导航| 成人福利在线免费观看| 99精品视频在线观看免费播放| 亚洲国产日韩欧美在线| 性色生活片在线观看| 国内精自线i品一区202| 久久99国产精品成人欧美| 亚洲床戏一区| 91久久偷偷做嫩草影院电| 亚洲热线99精品视频| 国产伦精品一区二区三区视频优播| 男人的天堂久久精品激情| 国产丝袜无码精品| 麻豆国产在线观看一区二区| 欧美成人国产| 久久久久无码国产精品不卡| 日韩精品一区二区三区视频免费看| 丝袜无码一区二区三区| 日本午夜视频在线观看| 国产欧美日韩另类精彩视频| 精品国产欧美精品v| 久久精品中文字幕免费| jijzzizz老师出水喷水喷出| 亚洲成a人片在线观看88| 在线日韩一区二区| 亚洲综合亚洲国产尤物| 成年看免费观看视频拍拍| 97视频在线精品国自产拍| 色婷婷综合激情视频免费看| 草草影院国产第一页| 鲁鲁鲁爽爽爽在线视频观看| 欧美爱爱网| 高清久久精品亚洲日韩Av| 91国内在线观看| 九色91在线视频| 99视频全部免费| 亚洲天堂网在线观看视频| 亚洲中文无码av永久伊人| 国产成人做受免费视频| 国产日韩欧美精品区性色| 亚洲综合18p| 日本免费一区视频| 国产色爱av资源综合区| 中日韩一区二区三区中文免费视频 | 成人免费网站在线观看|