姜改新
摘要:本文以UCI的Wine數(shù)據(jù)集為數(shù)據(jù)來源,該數(shù)據(jù)集為意大利同一地區(qū)生產(chǎn)的三個(gè)不同種類的葡萄酒的成分?jǐn)?shù)據(jù),對其178條數(shù)據(jù)進(jìn)行分析處理,其中共有13個(gè)成分特征。為了解決人工評審葡萄酒分類時(shí)容易產(chǎn)生錯(cuò)誤的問題,提高分類效率,采用機(jī)器學(xué)習(xí)中SVM的方法對其特征進(jìn)行分析來確定葡萄酒的分類。
關(guān)鍵詞:葡萄酒品種分類;支持向量機(jī);分類評價(jià);數(shù)據(jù)集
中圖分類號:TP311? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2019)24-0004-02
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
1 概述
本文以UCI的Wine數(shù)據(jù)集為數(shù)據(jù)來源,采用機(jī)器學(xué)習(xí)的方法利用Python語言對葡萄酒的成分進(jìn)行分析,從而給出了可靠性比較高的分類。本數(shù)據(jù)集共有178個(gè)例子,樣品有十三種成分,分別為Alcohol,Malic acid, Ash,Alcalinity of ash,Magnesium,Total phenols, Flavanoids,Nonflavanoid phenols,Proanthocyanins,Color intensity, Hue,OD280/OD315 of diluted wines,Proline。數(shù)據(jù)集一共收集了三個(gè)葡萄酒品種的數(shù)據(jù),第一種有59例,第二種有71例,第三種有48例。
2 數(shù)據(jù)預(yù)處理
本數(shù)據(jù)集包含了三種葡萄酒的178條數(shù)據(jù),由于數(shù)據(jù)集的每條數(shù)據(jù)都是連續(xù)的,而且沒有缺失值,所以并沒有對數(shù)據(jù)進(jìn)行清洗。為了通過建模分析數(shù)據(jù),將原始數(shù)據(jù)集劃分為訓(xùn)練集和測試集,訓(xùn)練集占據(jù)樣本的70%,測試集占據(jù)30%,分別為124條和54條數(shù)據(jù)。為了消除不同特征之間量綱和取值范圍的影響,提高分類的精確率,分別對訓(xùn)練集和測試集數(shù)據(jù)進(jìn)行離差標(biāo)準(zhǔn)化,然后對兩個(gè)數(shù)據(jù)集進(jìn)行PCA降維,在不太損失模型質(zhì)量的情況下,提升了模型訓(xùn)練速度。
3 用皮爾森相關(guān)系數(shù)和隨機(jī)森林方法實(shí)現(xiàn)不同特征和分類、各特征之間的相關(guān)系數(shù)分析
1)首先求出品種分類部分,以及品種的數(shù)據(jù)部分,用pearsonr()方法得出不同特征與分類的皮爾森系數(shù),然后生成DataFrame類型的數(shù)據(jù)。由結(jié)果知,特征Flavanoid,OD280/OD315 of diluted wines,Total phenols與分類的相關(guān)性比較強(qiáng),接近與1,而Ash特征與分類的相關(guān)性最弱,接近于0。
2)通過隨機(jī)森林得到重要特征,并根據(jù)Numpy類庫的篩選方法篩選出大于0的數(shù)據(jù)索引,根據(jù)這些索引得到特征與分類的作用的系數(shù)數(shù)組。柱狀圖結(jié)果如圖所示:
從圖中各個(gè)特征對于分類的作用所占百分比可以看出排列在前三位的三個(gè)特征對于分類的影響很大,而Ash特征對于分類的影響很小。
4 用聚類、SVM模型實(shí)現(xiàn)分析聚類的最佳聚類數(shù)和品種分類分析
1)利用sklearn類庫的方法對降維的訓(xùn)練集數(shù)據(jù)構(gòu)建K-Means聚類模型,并預(yù)測類別,提取分類標(biāo)簽。聚類模型將數(shù)據(jù)聚類為3類,而且除去個(gè)別數(shù)據(jù)外,3個(gè)類別之間具有明顯的界限,那些不易分界的數(shù)據(jù)可能是因?yàn)橛行┨卣鞯臄?shù)據(jù)分布比較分散造成的。
2)評價(jià)聚類模型:將聚類的類數(shù)從2到15遍歷。(1)用sklearn類庫方法得到輪廓系數(shù),用輪廓系數(shù)評價(jià)模型法評價(jià),在某一點(diǎn)是若圖像平均畸變程度最大,說明聚類數(shù)目為這一點(diǎn)所代表的數(shù)時(shí),效果比較理想,還可以用Calinski—Harabasz指數(shù)來評價(jià),某一聚類的指數(shù)最大時(shí),聚類為此數(shù)目效果最理想。從結(jié)果可以看出,當(dāng)聚類為3類時(shí),指數(shù)最大,和輪廓系數(shù)評價(jià)模型結(jié)合可知,聚類數(shù)目為3時(shí),聚類效果較好。
3)SVM(支持向量機(jī))原理
相關(guān)學(xué)習(xí)算法如下:
輸入:線性可分訓(xùn)練數(shù)據(jù)集T=
其中,核函數(shù)為K(*)
輸出:最大間隔分類超平面和分類決策函數(shù)。
構(gòu)造并求解約束函數(shù)最優(yōu)化問題:
其中是松弛變量,C是懲罰常數(shù),w和b分別為判決函數(shù)f(x)=(w*x+b)的權(quán)向量和閾值。
根據(jù)KKT條件:(其中為拉格朗日算子)
對于非線性問題,可以通過一個(gè)非線性變換將訓(xùn)練樣本映射到特征空間,這樣,分類問題通過在特征空間中求解線性支持向量機(jī)就可以完成。
4)構(gòu)建SVM分類模型,利用sklearn.svm的方法用訓(xùn)練集數(shù)據(jù)、訓(xùn)練集標(biāo)簽構(gòu)建SVM模型,預(yù)測測試集的數(shù)據(jù)都是屬于哪些分類,并描述預(yù)測結(jié)果以及準(zhǔn)確率,最后做出SVM模型評價(jià)報(bào)告。
構(gòu)建的SVM分類模型54條數(shù)據(jù),預(yù)測正確的有53條,錯(cuò)誤的僅僅一條,說明整體模型效果比較理想。對于分類為1的數(shù)據(jù),精確率為1,召回率卻不為1,分類為2的數(shù)據(jù),精確率不為1,但召回率卻為1,說明預(yù)測錯(cuò)誤的那條數(shù)據(jù)原本應(yīng)該為第一類,但是SVM模型卻預(yù)測為第二類,所以導(dǎo)致了上述結(jié)果,分類為3的數(shù)據(jù)全部預(yù)測正確??梢钥闯稣w效果比較理想。
5 結(jié)語
本文介紹了一些數(shù)據(jù)分析的基本步驟,比如數(shù)據(jù)讀取、預(yù)處理、畫圖等,還有聚類建模,分類建模以及皮爾森相關(guān)系數(shù)的運(yùn)用等等。在對每條數(shù)據(jù)進(jìn)行分類時(shí)構(gòu)建的SVM模型,對于測試集的54條數(shù)據(jù),53條預(yù)測正確,正確率達(dá)到98%,SVM模型整體比較理想。在對大量數(shù)據(jù)進(jìn)行分析求得想要挖掘的有價(jià)值信息時(shí)可以有很大的參考價(jià)值。
參考文獻(xiàn):
[1] 不均衡數(shù)據(jù)下基于SVM的分類算法研究與應(yīng)用[J].哈爾濱工程大學(xué)碩士學(xué)位論文.
[2] 黃紅梅,張良均.Python數(shù)據(jù)分析與應(yīng)用[M].人民郵電出版社.
【通聯(lián)編輯:李雅琪】