姜姍 任靖娟 高志宇



摘? 要: 傳統的數據庫挖掘系統是基于粗略集合方法進行挖掘,該系統在面對龐大的數據量時,系統運行效率較差,為此設計基于聚類優化的大型網絡數據庫挖掘系統。搭建數據采集所需的傳感器節點結構,選擇CC3200作為主控芯片,在原有的電路中引入射頻通信電路,實現數據的無線傳輸;在此基礎上,對數據庫中數據進行預處理,利用優化后的聚類算法和軟件程序實現數據挖掘,至此系統設計完成。測試結果表明:與傳統的數據庫挖掘系統相比,基于聚類優化的大型網絡數據庫挖掘系統在處理龐大的數據量時,系統始終保持較高的運行效率,適合應用在大型網絡數據庫中。
關鍵詞: 大型網絡; 數據庫挖掘系統; 聚類優化; 數據傳輸; 系統設計; 仿真測試
中圖分類號: TN911?34; TP391.4? ? ? ? ? ? ? ? ?文獻標識碼: A? ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2020)06?0175?03
Design of large network database mining system based on clustering optimization
JIANG Shan, REN Jingjuan, GAO Zhiyu
(School of Information Technology, Henan University of Traditional Chinese Medicine, Zhengzhou 450000, China)
Abstract: As for the traditional database mining system based on the rough set method has poor efficiency of system operation when facing huge amount of data, large network database mining system based on clustering optimization is designed. The sensor node structure required for data collection is built, CC3200 is selected as the main control chip, and the RF communication circuit is introduced into the original circuit to realize the wireless transmission of data. On this basis, the data in the database is preprocessed, and data mining is realized by means of the optimized clustering algorithm and software program, so that the system design is completed. The testing results show that, in comparison with the traditional database mining system, the large network database mining system based on clustering optimization keeps high efficiency when dealing with large amount of data, which is suitable for application in large network database.
Keywords: large networks; database mining system; clustering optimization; data transmission; system design; simulation test
0? 引? 言
隨著信息技術的發展,人類已經進入大數據時代,對龐大的數據進行分析和處理需要利用數據庫挖掘技術,這是一種隨著大數據時代到來而產生的技術。數據庫的挖掘是通過算法將具有潛在價值的、可利用的信息數據從龐大的數據中分析提煉出來的過程[1]。該技術綜合了模式識別、搜索建模和人工智能等技術,進行歸納與推理,摸索出數據間存在的潛在關系,為信息數據的傳遞提供了良好的基礎[2]。
數據庫在不斷的擴大,使數據的種類越來越多,復雜程度越來越大。那么對聚類算法也應有更高的要求,傳統聚類算法已經很難滿足實際要求,為此在傳統聚類算法上進行優化,設計基于聚類優化的大型網絡數據庫挖掘系統,克服傳統聚類算法中的缺點,實現對高維復雜數據的聚類。
1? 大型網絡數據庫挖掘系統硬件設計
設計大型網絡數據庫挖掘系統,首先需要采集所需數據,做訓練數據集,具有針對性的進行數據庫挖掘[2]。數據采集利用無線傳感器技術來實現,無線傳感器一般由傳感器節點、用戶管理節點、匯聚節點、互聯網以及被監測區域組成[3],如圖1所示。將傳感器節點布置在監測目標附近,方便感知監測目標的各項屬性,監測到的信息通過匯聚節點接收的同時,用戶終端接收到數據并進行分析,并且通過匯聚節點實現對傳感器節點的控制與管理。
1.1? 傳感器節點結構設計
傳感器節點是實現數據采集的核心,主要有傳感器模塊,處理器模塊,無線通信模塊以及電源模塊組成,如圖2所示。
在傳感器節點中,傳感器模塊負責數據采集,該模塊主要通過傳感器感知各種信息,而將模擬參量轉化為數字參量,方便處理器模塊對數據進行處理的是ADC。而處理器模塊主要使用來接收和存儲數據。最后實現無線數據傳輸的是無線通信模塊。電源模塊提供穩定的電壓,為系統提供能量,維持系統的正常運行。根據系統實際需求選擇CC3200節點主控芯片。CC3200是目前應用范圍最廣,功能最強大控制芯片[4],其為用戶開發提供運行頻率為80 MHz高性能處理器等。
1.2? 射頻通信電路設計
傳感器節點以CC3200主控芯片為核心,配合外圍電路實現數據采集,由于CC3200是一種單片無線微控制器,其外圍電路包括電源電路、復位電路、晶振電路、WiFi射頻模塊電路以及接口電路[5]。主要實現無線傳輸的是CC3200芯片內部的射頻產生射頻信號,該信號進入2.4 GHz天線,通過天線向外傳送無線信號。WiFi射頻通信電路如圖3所示。
設計WiFi射頻信號電路,保證2.4 GHz射頻信號在WiFi射頻信號電路中具有良好的傳輸性能,并且在實現消除負載對射頻信號的反射,使射頻信號在傳輸過程中使信號源輸出最大功率。
2? 大型網絡數據庫挖掘系統軟件設計
2.1? 數據采集及預處理
大型網絡數據庫挖掘是一個復雜的過程,根據實際要求采集所需數據,采集到的數據被存儲到數據庫中。此時數據庫中的數據未經過篩選,會存在很多噪音和沒有用的離散點,所以需要先對其進行預處理,提高數據所具有的的特性,使數據在挖掘過程中聚類速度更快,結果更加優異[6]。在完成數據預處理后,根據數據特性的不同利用優化后的聚類算法進行聚類分析獲得不同的聚類結果。
對數據進行數據清洗,利用分箱技術去除掉數據中的噪聲數據和冗余數據,使用與給定元素類似的樣本平均值填寫空值。根據用戶的設置對整個數據集重新排序,對可匹配的數據記錄進行多次刷新,確定結果的準確性。對多個數據庫運行環境中的異類數據進行合并,可為后續的聚類提供方便[7]。
2.2? 優化聚類算法
若,則劃分矩陣U和聚類中心C為就是最終的結果,反之重復以上步驟。假設存在一組含有10個樣本的二維數據,將其分成3個簇,其分布如圖4所示。
利用獲得的聚類中心計算類間分離度,從而計算數據樣本的特征權重[f]。對數據樣本的特征的計算是基于最大分離原則的思想,也就是需要增大某一維的屬性權重。一般情況下選擇各維特征中最具代表性的,這樣能夠使其對劃分的貢獻盡可能的明顯,降低對劃分的干擾[9]。其特征權重的計算公式如下:
式中:[Zdistj]表示類間分離度;[ηj]表示平衡系數;r表示系數。構成權重的初始聚類中心矩陣類間分離度和平衡系數存在一定的關系,新的分離度是平衡系數和最初的聚類中心矩陣的分離度相乘的結果。
2.3? 基于聚類優化的數據挖掘
通過優化后的聚類算法對數據進行分類,將數據保存在不同的數據倉庫中,并獲得其特征權重,根據實際需求利用不同的特征權重對數據進行挖掘。實現數據挖掘的部分代碼如下所示。
{class Kmdiod()
get_data(self)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//接收數據
centroids = self.,data[init_index,:]? ? ? ? ? ? ? ? ?//初始化簇心
print(′開始迭代′);
target = []
stop = false? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //初始參數設定
while(not stop):? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//開始遍歷數據
stop =true
points = [[can] for in can]
target = []
for sample in self.data;? ? ? ? ? ? ? ? //計算離數據最近的簇心
target.append(level)? ? ? ? ? ? ? ? ?//統計迭代完成后所有簇心
for s in range(self.cen) //尋找簇對應的歐氏距離最小的中心
n_distances = sum(distance)? ? ? //統計簇中共有多少個中心
for(int i=0;i if(belong[i]){ cout< } 聚類算法將所有數據對象劃分為多個聚類,同一聚類中的對象存在較高的相似值,不同的聚類對象的相似值較小[10]。利用數據樣本的特征權重進行數據挖掘,將數據分到相似度最大的類中,實現基于聚類優化的數據挖掘。 3? 仿真測試 對基于聚類優化的大型網絡數據庫挖掘系統進行測試,測試過程中利用不同的數據類型,以及數據量的變化,測試系統的運行效率,并利用傳統的數據庫挖掘系統作為測試對比對象,進行測試分析。 3.1? 測試準備 測試過程中,需要準備三種不同類型的測試數據,并且設置數據量為2~18 GB,利用聚類算法進行數據挖掘。相關參數設置如表1所示。 利用Matlab軟件進行仿真,通過基于聚類優化的大型網絡數據庫挖掘系統和傳統的數據庫挖掘系統進行挖掘,在系統與Oracle數據庫交互過程中,手動配置Web文件,實現系統與數據庫的連接。 為保證測試的可靠性,模擬的數據量為測試的典型值,不是重復值和隨機值。利用兩種系統對提供的數據量進行挖掘,分析挖掘結果,根據分析結果分析系統的運行效率。 3.2? 測試結果及分析 在不同數據量下的仿真測試結果,繪制測試結果對比曲線,如圖5所示。從圖中可以看出,傳統的數據庫挖掘系統隨著數據量的增加,系統的運行效率逐漸減小,特別是在數據量增加到10 GB之后,出現了明顯的下降趨勢。而基于聚類優化的大型網絡數據庫挖掘系統,隨著數據量的增加,產生的波動較小,系統的運行效率基本沒有受到太大的影響,始終保持比較穩定的狀態。兩者相比可以明顯看出提出的基于聚類優化的數據庫挖掘系統,在處理大量數據時,依然能保持高效處理,適合應用在實際項目中。 4? 結? 語 設計基于聚類優化的大型網絡數據庫挖掘系統,針對聚類初始中心進行優化,引用權重特征,利用優化后的聚類算法和軟件程序完成數據挖掘數據挖掘的應用范圍十分廣闊,如科研領域和商業領域,而數據挖掘系統在實際應用中的發展,具有一定的現實意義。 參考文獻 [1] 肖宗水,孟令童,孔蘭菊,等.基于數據庫日志關聯規則挖掘的業務流程優化[J].計算機集成制造系統,2017,23(5):993?999. [2] 王曉妮,段群,韓建剛.基于云計算的數據挖掘系統設計與實現[J].計算機技術與發展,2019,14(3):178?182. [3] 張沛朋,魏楠.基于數據挖掘技術的個性化移動推薦系統設計研究[J].西安文理學院學報(自然科學版),2017,20(2):41?45. [4] 王永勝,李暉,陳梅,等.VISDMiner:一個交互式數據挖掘過程可視化系統[J].計算機與現代化,2018(6):76?82. [5] 侯亮,王新棟,高倩,等.基于Hadoop的農業大數據挖掘系統構建[J].農業圖書情報學刊,2018(7):21?23. [6] 李洪奇,張艷麗,楊景海,等.特征聚類在油田測試方案優化中的研究[J].計算機工程與應用,2017,53(21):214?218. [7] 張恒,李世其,劉世平,等.一種聚類優化的傳感器布置方法研究[J].振動與沖擊,2017,36(14):61?65. [8] 陳志雄.基于hadoop平臺的分布式數據挖掘系統的設計探討[J].數字技術與應用,2017(1):179?179. [9] 程慧,李建芬,付龍,等.基于95598大數據挖掘的系統設計及研究[J].貴州電力技術,2017,20(9):17?19. [10] 梁雙,周麗華,楊培忠.基于聚類分析分庫策略的社交網絡數據庫查詢性能與數據遷移[J].計算機應用,2017,37(3):673?679.