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视频精品在线观看| 国产高清在线观看91精品| 中文字幕 91| 秋霞一区二区三区| 国产老女人精品免费视频| 欧美日韩理论| 欧美性色综合网| 91精品啪在线观看国产91九色| 国产后式a一视频| 国产成人超碰无码| 91人妻日韩人妻无码专区精品| 伊人成人在线视频| 在线观看免费国产| 极品性荡少妇一区二区色欲 | 亚洲一欧洲中文字幕在线| 国产精品网址在线观看你懂的| 天堂av综合网| 九九热这里只有国产精品| 亚洲av无码专区久久蜜芽| 日本一本在线视频| 九九热精品免费视频| 国产成人调教在线视频| 国产日韩欧美在线视频免费观看| 国产欧美日韩在线在线不卡视频| 国产精品刺激对白在线| 欧美伦理一区| 91色在线视频| 日韩在线播放欧美字幕| 91亚洲免费视频| 久久a毛片| 伊人久久精品无码麻豆精品| 日韩成人高清无码| 嫩草在线视频| 伊人久久婷婷五月综合97色| 国产一区二区人大臿蕉香蕉| 欧美亚洲国产视频| 国产午夜一级毛片| 成人午夜精品一级毛片 | 国模沟沟一区二区三区| 日本尹人综合香蕉在线观看| 国产区在线观看视频| 依依成人精品无v国产| 中文字幕1区2区| 视频一区视频二区日韩专区| 日本成人精品视频| 免费一级无码在线网站| 亚洲国产精品无码久久一线| 欧美a√在线| 国产91特黄特色A级毛片| 91娇喘视频| 亚洲色精品国产一区二区三区| 精品视频一区在线观看| 日韩a在线观看免费观看| 国产手机在线ΑⅤ片无码观看| 亚洲无码高清视频在线观看| 久久久久亚洲Av片无码观看| 美女一区二区在线观看| 欧美精品伊人久久| 成人在线观看不卡| 在线欧美一区| 日本一区二区三区精品国产| 女同国产精品一区二区| 日韩精品亚洲一区中文字幕| 欧美性爱精品一区二区三区 | 国产成人精品一区二区不卡| 色成人亚洲| 日韩中文字幕免费在线观看| 黄色网页在线观看| 日韩毛片免费观看| 在线毛片免费| 国产麻豆另类AV| 激情亚洲天堂| 热99精品视频| 99草精品视频| 亚洲第一综合天堂另类专| 国产一区二区三区夜色| 国产福利在线观看精品| 久久熟女AV| 国产乱视频网站|