王靖雯 何美琪 屈克誠 山東協(xié)和學(xué)院
Weka 平臺(tái)作為數(shù)據(jù)挖掘的常用工具,是一種典型的維度較高的聚類應(yīng)用平臺(tái),在對(duì)于特定的聚類特征選擇及特征空間生成的過程中,運(yùn)用不同的方法,加強(qiáng)對(duì)于特征權(quán)重的計(jì)算。數(shù)據(jù)挖掘工具可以實(shí)現(xiàn)對(duì)于數(shù)據(jù)的智能分析,Weka 數(shù)據(jù)挖掘平臺(tái)經(jīng)過10 多年來的研究,走向了大數(shù)據(jù)時(shí)代的實(shí)際應(yīng)用范疇。由于未挖掘平臺(tái)源代碼的開放性,使用其進(jìn)行數(shù)據(jù)挖掘時(shí),可以探索一些新的聚類算法,有效地嵌入到Weka 之中,從而能夠擴(kuò)充其系統(tǒng)功能,這就是對(duì)于Weka 挖掘平臺(tái)的二次開發(fā)進(jìn)程。
Weka 數(shù)據(jù)挖掘平臺(tái),作為開放的源代碼平臺(tái),先輸入要測(cè)試的數(shù)據(jù),然后對(duì)于帶測(cè)試的數(shù)據(jù)進(jìn)行預(yù)先的處理。在處理數(shù)據(jù)并且集中布置之后,其學(xué)習(xí)方案往往是根據(jù)分析結(jié)果將已有的分析模型帶入到預(yù)測(cè)的實(shí)例之中。Weka 數(shù)據(jù)挖掘平臺(tái)的基礎(chǔ)使用,為了能夠達(dá)成最佳的性能,常常分為5 個(gè)不同層次的功能階段。
數(shù)據(jù)輸入層是Weka 數(shù)據(jù)平臺(tái)基于不同的文件格式,從站點(diǎn)下載和導(dǎo)入ARFF、CSV、C4.5、BSI 等幾個(gè)類型的文件,采用系統(tǒng)的HTTP 和FTP 協(xié)議接口來輸入數(shù)據(jù)庫并進(jìn)行導(dǎo)入的層面。
數(shù)據(jù)挖掘?qū)用娉蔀閃eka 挖掘數(shù)據(jù)的核心,它通過多種多樣的分類和聚類功能,進(jìn)行數(shù)據(jù)的預(yù)處理。對(duì)于數(shù)據(jù)的表象和裝載,利用缺失數(shù)據(jù)項(xiàng)的填補(bǔ)功能進(jìn)行屬性的過濾。Weka 數(shù)據(jù)導(dǎo)入層和Weka 數(shù)據(jù)相互配合,將數(shù)據(jù)集中放置于學(xué)習(xí)方案之中。
模式評(píng)估層面和可視化層面之間相互配合,對(duì)于數(shù)據(jù)挖掘并且提供良性的輔助工具,既提升了挖掘的效率,同時(shí)又在可視化的層面給予人記錄和使用的可能,最終導(dǎo)入到特定的儲(chǔ)存層之內(nèi)。
通過對(duì)于Weka 的研究和挖掘?qū)嶒?yàn),很多研究者認(rèn)為,Weka 數(shù)據(jù)挖掘平臺(tái)并不能夠真正的適應(yīng)目前市面上所存在的各種類型的企業(yè)應(yīng)用需求,當(dāng)數(shù)據(jù)使用量比較大時(shí),很多算法出現(xiàn)了挖掘時(shí)間過長的問題。
另外Weka 系統(tǒng)所集成的算法并不能夠很好的反映出最新的研究成果,尤其是在復(fù)雜的聚類層面上,即使是最具有優(yōu)先遍歷的算法Farthest First 也沒有能夠起到很好的收效。
Weka 數(shù)據(jù)挖掘系統(tǒng)由于提供了記事本,這種文本輸出格式在與其他系統(tǒng)進(jìn)行集成的過程中,可能有時(shí)會(huì)造成資源的浪費(fèi)。即使實(shí)現(xiàn)了挖掘過程和挖掘結(jié)果的可視化,但是對(duì)于很多企業(yè)來說,這種可視化的形式并不夠非常完善。
對(duì)該數(shù)據(jù)挖掘平臺(tái)的二次開發(fā),是基于原有的基礎(chǔ)之上,為了使得Weka挖掘平臺(tái)的算法越來越多樣化,可以使用嵌入的k-中心點(diǎn)輪換算法,以便解決原有算法和距離算法的不完善之處。
利用k-中心點(diǎn)輪換算法,是基于劃分k-均值算法的基礎(chǔ)上,進(jìn)行了改進(jìn)和優(yōu)化,根據(jù)隨機(jī)選擇的對(duì)象作為初始點(diǎn),在初始中心點(diǎn)的基礎(chǔ)之上,剩余的對(duì)象按照中心點(diǎn)的距離差異分配,形成近距離簇。距離結(jié)果的質(zhì)量可以使用目標(biāo)函數(shù)來估算:
這種算法由于對(duì)所有的對(duì)象,都給予了詳盡的中心點(diǎn)與其所歸屬的簇偏差總和的計(jì)算,一般常用的計(jì)算方式是使用歐式距離平方作為距離度量。因?yàn)檫@種計(jì)算方法可以非常便捷的測(cè)量目標(biāo)函數(shù)值,當(dāng)數(shù)據(jù)集中使用的時(shí)候,按照不同的尺度來確定不同屬性。
大量的科學(xué)研究表明,利用k-中心點(diǎn)名換算法的規(guī)則,可以在Weka 數(shù)據(jù)挖掘平臺(tái)下,使用eclipse 環(huán)境之下的Java 語言,將k-中心點(diǎn)輪換算法嵌入到Weka 平臺(tái)之中。在充分調(diào)動(dòng)原有的計(jì)算包之后,對(duì)于抽象的聚類進(jìn)行封裝,這種算法能夠很好的杜絕對(duì)于中心點(diǎn)和起始點(diǎn)的敏感,并且可以結(jié)合特定的方法來進(jìn)行聚類效果的評(píng)估和測(cè)試。
K-中心點(diǎn)輪換算法,可以使用評(píng)估類的ClusterEvaluation 進(jìn)行聚類模型的評(píng)估,并且可以進(jìn)行驗(yàn)證嵌入算法性能的測(cè)試。測(cè)試的數(shù)據(jù)進(jìn)行錯(cuò)誤率的對(duì)比之后就可以發(fā)現(xiàn),檢測(cè)聚類數(shù)據(jù)致密性的算法怎樣才能達(dá)到合理的目標(biāo)函數(shù)分布。
通過對(duì)于Weka 數(shù)據(jù)挖掘平臺(tái)進(jìn)行二次開發(fā),結(jié)合一些嵌入式的算法,使得Weka 平臺(tái)的計(jì)算量保持在一個(gè)正確的差值范圍之內(nèi)。經(jīng)過多次的Weka 挖掘?qū)嶒?yàn),為了解決其存在的問題,嵌入支持用戶算法的k-中心點(diǎn)輪換算法。通過改進(jìn)傳統(tǒng)的中心點(diǎn)算法,加強(qiáng)對(duì)于事先輸入數(shù)目和伸縮性的管控,有望在未來,有更進(jìn)一步的改進(jìn)和提升。