



摘要:因子數據預處理是為棗果實品質鑒定提供高質量數據的關鍵。對棗果實因子數據預處理研究,是將棗果實的顏色、形狀、口感、樹形、是否豐產等文本信息通過去噪音、處理空白數據、然后運用專家賦值規則庫進行Java編程進行自動數字化,再利用歸一化公式進行數據轉化,從而判定影響棗果實品質優劣的關鍵因子,為棗農和消費者及時了解棗果實品質提供了簡單的理論參考。
關鍵詞:棗果實品質鑒定;因子數據;專家賦值規則庫;數據預處理;關鍵因子
中圖分類號:S665.1 文獻標識碼:A 文章編號:0439-8114(2016)22-5945-04
DOI:10.14088/j.cnki.issn0439-8114.2016.22.054
Research of Data Preprocessing in Identifying the Factor Data of Jujube Fruit Quality
LI Zi-yang, SHEN Lian-ying, WANG Xiao-ling, SUN Chen-xia
(Graduate School of Computer Application Technology,Agricultural University of Hebei,Baoding 071001,Hebei,China)
Abstract: Data preprocessing of factor data is a factor to provide high quality data for the identification of Jujube fruit quality. Research of data preprocessing in Jujube fruit factor, is changing the text information of jujube fruit color, fruit shape, fruit flavor, the tree form, and fertility into digital information by dealing with noise data, blank data. And using expert assignment rule base writes Java programming to automatic digitization, and then uses the normalization formula for data transformation. So that it determines the key factors of the Jujube fruit quality. It provides a simple theory reference for consumers and Jujube workers to know the Jujube fruit quality on time.
Key words: identification of Jujube fruit quality; factor data; expert assignment rule base; data preprocessing; key factor
棗樹是中國特有的果樹和經濟林樹種,也是中國第一大干鮮兼用果樹。目前中國擁有世界98%以上的棗樹資源和幾乎全部的棗產品國際貿易,也是近千萬中國農民的主要經濟來源[1]。鑒定棗品質優劣決定對該品種棗的處理方向,包括棗品種的選育、改良以及消費者選取適合自己需要的棗果實具有決定性作用。
影響棗果實品質的因子有很多種,但是影響最終決策目標的因素并非是全部因素,找出決定性因素以降低數據處理規模,提高數據分析效率具有重要作用。對影響棗果實品質的因子數據進行預處理,是將棗專家在果園多次嘗試并記錄下的文本信息以及給出的鑒定結果與計算機技術相結合,通過整理龐大的數據,找出決定棗果實品質的關鍵因子,并建立數據庫,為棗農以及消費者了解任何品種的棗果實提供參考。
1 因子數據預處理的必要性
數據庫通常有一個共同的特點,即存在大量的不完整的、含噪聲的和不一致的數據[2]。為了使這些數據能夠符合數據分析的要求,提高數據分析的效率和得到清晰的結果,必須進行數據的預處理。
對棗果實的因子數據進行預處理,目的是將專家考察后記錄的文本信息轉化為便于處理的數據。由于實踐考察后專家手工記錄的原始數據,沒有經過系統的整理,規范化程度比較低,例如記錄多為:勝似紅珍珠、果面平整、酸甜可口等,因子名稱不規范、因子屬性值不明確、而且還有許多空白值。所以對棗果實品質鑒定的因子數據進行預處理是非常必要的。
專家調查的數據量大、需要處理的原數據為文本信息、后期處理(比如品種推薦、棗品質鑒定)等需要數字化、規范化的數據,并且調查工作具有持續性、周期性(專家每年調查數據以及果農或者消費者咨詢專家的建議時提供的數據),所以數據預處理在整個決策系統中占有60%的時間,這也給因子數據的預處理帶來了更大的難度和更多的工作量,所以數據預處理需要自動化。
2 因子數據預處理
本研究數據預處理包含過濾噪聲數據、填充空白數據、文本信息數字化、數據轉化與分析以及數據驗證(圖1)。
2.1 過濾對噪聲數據預處理
本研究的源數據是不同專家到果園進行多次實踐品嘗記錄下的,由于每個人記錄習慣的不同,所以大多因子名稱以及因子屬性的表述不一致,而且手工記錄導致噪聲數據有很多。只有將這些噪聲數據進行有效的處理,后期的決策才會更加準確。
專家記錄考察數據的過程中由于節約時間,有許多簡化,例如“酥脆”一詞,這個詞是描述棗果實的兩個特征——酥松與清脆。顯然使用這個詞描述單獨的棗果實特征是不合適的;而且在原樣本數據中有大量的不規范因子屬性名稱,例如縱裂、橫裂,其實是描述棗果實裂果率;規范因子屬性名稱使后期棗農以及消費者對棗果實進行鑒定時輸入的屬性特征更加準確。
2.2 填充空白數據預處理
空白數據是指因子的屬性沒有賦值,產生空白數據的原因主要有:工作人員在整理專家手工記錄的數據時有丟失;專家在品嘗棗時覺得某一特征不突出,不需要記錄等。
棗果實因子數據中存在很多空白數據,如因子名稱、因子屬性賦值、專家給出的鑒定結果等都存在缺損的現象。例如因子名稱有果肉色澤、果肉質地、果肉粗細、酥脆程度,樣本數據集中并不是每一個樣本的所有因子都有具體的描述,而且由于多為手工記錄,造成因子屬性賦值的缺損最為突出。對于解決空缺值,可以采取回歸分析,貝葉斯形式化工具或判定樹歸納等確定空缺值[4]。
本研究采用忽略該記錄,當一個記錄中有多個屬性賦值空缺、特別是關鍵信息丟失時,即使是采用某種方法把所有的屬性賦值填充好,該記錄也已經不能反映真實的情況。對于數據分析來說,這樣的數據性質是很差的,應該忽略記錄[5]。
2.3 文本信息數字化
專家在品嘗棗果實后及時的記錄下棗子的特征,所以樣本多為文字的形式。為了在后期決策時結果更加精確,需要將文字信息轉化為數字形式的數據。專家在實際調查的過程中,選取了棗果實的30個因子采集數據。然后專家根據多年的經驗制定了一個賦值規則庫,將棗的每一個因子的屬性分別賦值,以便于將樣本數據進行數字化。
表1是選擇棗因子的25個因子舉例說明專家賦值庫中因子屬性賦值為具體的數字形式(表2),例如第1種因子果肉色澤,在專家記錄的棗果實樣本集中有這樣的描述,棗果肉發白、棗果肉色澤偏綠等;專家將果肉色澤分為3種,黃白、白、白綠;并分別賦值0、1、2;將果肉酸甜度分為偏酸、酸、偏甜、甜,分別賦值0、1、2、3、4等。表2是對映表1中棗果實因子的屬性名稱,并且根據專家規則庫對各因子屬性分別賦值。
由于樣本數據集的數據量比較大,而且樣本集在不斷地更新,如果依靠人工需要大量的時間,所以在進行數據轉化時,可以在Eclipse的綜合開發環境下利用Java語言編程,將樣本文字信息轉自動轉化為數字的形式[6],下面是以果肉顏色為例的自動化程序:
package color;
public class ColorSelected {
public static void main(String[] args) {
String color = \"黃白\";
int flag = getColorFlag(color);
System.out.println(flag);
}
//獲取顏色標志
private static int getColorFlag(String color){
int flag = -1; //設置默認值為-1
if(\"黃白\".equals(color)){
flag = 0;
}else if(\"白\".equals(color)){
flag = 1;
}else if(\"白綠\".equals(color)){
flag = 2;
}else{
flag = -1;
}
return flag;
}
樣本集中可能存在不屬于任何一種屬性值的數據存在,例如:果肉色澤,如果輸入的原樣本的數據不是黃白、白、白綠這3種顏色,那么程序將返回-1,針對這些特殊的數據就需要根據專家的意見進行單獨賦值。
選擇棗果實的19個因子特征,對20份棗果實進行了品質測定,然后利用Java語句將樣本集里的文字信息進行自動數據轉化,初步預處理的結果見表3。
2.4 數據轉化與分析
數據規范化是對數據進規格化處理,將其值控制在指定的范圍內[7]。因子分析前,使用隸屬函數法對數據進行轉化,正相關指標依據歸一化公式,將數據控制在0~1的范圍內。
Uij=■
式中,Uij和U′ij分別指第i個樣品第j個因子的原始數據轉化后的數值;Lij指第i個樣品第j個因子的原始測定結果;Lmax和Lmin分別指樣品組中第j個因子數據的最大值和最小值。
將初步預處理數據矩陣輸入MATLAB軟件中,輸入命令:Uij=(L-min(min(L)))/(max(max(L))-min(min(L)))。
2.5 數據驗證
初步評估和判斷利用Java語句對樣本數據自動轉化后,樣本數據是否與利用專家規則庫賦值有偏差。利用相關性檢驗對照樣本數據檢驗該字段的值是否超出規定的范圍內,如果與專家賦值規則庫有偏差,則需要對自動化賦值程序進行改進。然后重復上述的檢驗步驟,確保不把錯誤和偏差的數據帶到數據決策中去[9]。數字化驗證的流程見圖2。
3 小結
本研究是將原樣本數據為純文字的信息全部轉化為數字信息進行后期的數據研究。由于棗果實的原始樣本數據不僅為手工記錄,而且記錄多為簡化以及省略的文字形式,數據的預處理能夠降低后期決策過程中的數據噪聲度。根據專家規則庫的賦值規則然后采用Java語句對棗果實品質樣本數據自動數字化,減少了人工帶來的誤差。在此基礎上將數據進行歸一化的數據預處理對模型邊緣有更強的泛化能力[10],然后將自動化的樣本數據集與專家規則庫進行驗證,為后期棗農對棗果實的品質鑒定以及推薦提供更加準確的數據。
參考文獻:
[1] 孫志鴻,孫忠富,楊朝選,等.果樹生態生理數學模擬的研究進展和應用[J].果樹學報,2005,22(4):361-366.
[2] 張 博,張超偉.中藥方劑數據挖掘中的數據預處理研究[J].電腦知識與技術,2011,7(6):4016-4017.
[3] BISCHOFF J,ALEXANDER T.Data warechouse practical advice from the experts[M].New York:Prentice Hall,1997.
[4] 李曉菲.數據預處理算法的研究與應用[D].成都:西南交通大學,2006.
[5] 廖開際,劉鳳英,胡建軍.數據倉庫與數據挖掘[M].第三版.北京:清華大學出版社,2013.
[6] 施霞萍,王瑾德,史建成,等.Java程序設計教程[M].第三版.北京機械工業出版社,2012.
[7] 程開明.統計數據預處理的理論與方法述評[J].統計與信息論壇,2007,22(6):98-103.
[8] 王志謙,朱長征,陳福集.數據預處理在商業企業數據倉庫的應用[J].合肥工業大學學報(自然科學版),2002,25(2):286-289.
[9] 馬慶華,李永紅,梁麗松,等.冬棗優良單株果實品質的因子分析與綜合評價[J].中國農業科學,2010,43(12);2491-2499.
[10] 張 昊,王琪潔,朱建軍,等.樣本數據預處理對基于BP神經網絡的GPS高程擬合的影響[J].大地測量與地球動力學,2011, 31(2):125-128.