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这里只有精品6| 伊人激情综合网| 国产亚洲一区二区三区在线| 中文字幕66页| 国产麻豆福利av在线播放| 国产你懂得| 老司机aⅴ在线精品导航| 国产乱人免费视频| 高清视频一区| 青青久视频| 免费国产在线精品一区| 国产精品亚洲一区二区三区在线观看| 国产精品欧美在线观看| 亚洲无码免费黄色网址| JIZZ亚洲国产| 亚洲最大在线观看| 国内精品久久久久鸭| 91精选国产大片| 成人另类稀缺在线观看| 在线欧美一区| 亚洲综合色婷婷中文字幕| 国产精品对白刺激| 久久精品国产91久久综合麻豆自制 | 亚洲午夜福利精品无码不卡| 午夜成人在线视频| 沈阳少妇高潮在线| 亚洲精品777| 成人午夜久久| 国产极品美女在线播放| 一本大道视频精品人妻| 97se亚洲综合在线韩国专区福利| 天堂亚洲网| AV色爱天堂网| 亚洲综合香蕉| 久久这里只有精品23| 午夜福利视频一区| 午夜日本永久乱码免费播放片| 亚洲永久视频| 日本精品αv中文字幕| 丁香婷婷激情网| 亚洲乱码精品久久久久..| 在线观看免费人成视频色快速| 国产在线麻豆波多野结衣| 国产资源免费观看| 亚洲精品午夜天堂网页| 国产门事件在线| 成人国产精品视频频| 国产男女免费完整版视频| 国产精品亚洲日韩AⅤ在线观看| 久久伊人久久亚洲综合| 在线播放精品一区二区啪视频| 91无码人妻精品一区| 尤物视频一区| 日韩欧美国产综合| 热re99久久精品国99热| 国产一级特黄aa级特黄裸毛片| 无码网站免费观看| 本亚洲精品网站| 国产xx在线观看| 久久www视频| 国产另类乱子伦精品免费女| 色国产视频| 日本不卡免费高清视频| 亚洲欧美日本国产综合在线| 美女内射视频WWW网站午夜 | 久久香蕉欧美精品| 国产精品一区二区国产主播| 精品夜恋影院亚洲欧洲| 女人18毛片久久| 98超碰在线观看| 最新国产网站| 午夜三级在线| 国产91麻豆免费观看| 国产精品免费福利久久播放| 久久美女精品| 欧美一区二区三区欧美日韩亚洲 | 免费A∨中文乱码专区| 国产成人禁片在线观看| 亚洲乱码视频| 久久网欧美| 国产成人1024精品下载|