葛廣為,王元亮
(云南財經大學信息學院,昆明 650221)
支持向量機在心臟病數據分析中的應用
葛廣為,王元亮
(云南財經大學信息學院,昆明 650221)
以實際醫療數據為應用對象,運用支持向量機分類器進行實驗。并與使用K近鄰法、決策樹的結果進行比較。結果表明支持向量機有較高的敏感度、精確度和測試準確率,表明支持向量機可以應用到醫療診斷中,給醫療機構提供數據支持。
支持向量機;分類器;心臟病診斷;交叉驗證
支持向量機(Support Vector Machine,SVM)是由Corinna和Vapnik于1995年提出的,它在解決小樣本、非線性及高維模式識別中表現出許多特有的優勢,并能夠推廣應用到函數擬合等其他機器學習問題中[1]。支持向量機方法是建立在統計學習理論的VC維和結構風險最小原理基礎上的,根據有限的樣本信息在模型的復雜性和學習能力之間尋找最佳折中,以期獲得最好的推廣能力[2]。
心臟病診斷過程中,由于主觀原因醫生可能會做出錯誤的判斷。本文用支持向量機來建立模型,介紹了支持向量機的基本原理,并用心臟病診斷數據進行了實驗分析,實驗結果可以為醫療診斷提供數據支持。
支持向量機使用非線性映射,把原訓練數據映射到高維空間上,然后在高維空間尋找最佳分離超平面(即將一個類的元組于其他類分離的“決策邊界”),該超平面就把數據分為兩類。支持向量機通過支持向量(“基本”訓練元組)和邊緣(由支持向量定義)找到該超平面。支持向量機有線性可分和非線性可分兩種情況,在這里只研究數據非線性可分的情況。
對于數據非線性可分,使用非線性映射X=ψ(x)將輸入向量x變換到高維空間中,然后在新的高維空間中構建最優超平面。



求得解a*,決策函數可以表示為:

目前主要使用的核函數有以下3種:
心臟病診斷數據都是來自于實際病例檢測,可以在UCI機器學習數據庫中找到,因此該實驗數據具有較高的代表性和實際意義。該數據有303個樣本,從中去除含有未知項的樣本后,還有297個樣本可用。數據共有75項屬性,這里只利用其中的13項屬性。把心臟病分為兩類,即有心臟病(y=1)和沒有心臟病(y=-1),因此這是一個標準的二分類問題,可以用支持向量機分類器來分析。
實驗中將前237個樣本作為訓練集,后60個樣本作為測試集。然后將訓練集與測試集在區間[-1,1]內進行歸一化處理,再使用高斯徑向基核函數建立分類模型。在MATLAB 7.0中編程實現算法并分析算法的性能。訓練及測試結果如表1所示,與其他兩種方法的比較如表2所示。

表1 訓練和測試的結果

表2 3種方法的比較
由表1訓練和測試的結果可知,用支持向量機分類器對心臟病診斷數據進行檢測其分類準確率、靈敏度和特異度都比較高。分類準確率高表明該模型對有無心臟病能做出準確的判斷,靈敏度(也稱真陽性率,指患者組中診斷為陽性的比率)和特異度(指非患者組中診斷為陰性的比率)高表明該模型的誤診率較低。
表2是與其他方法測試所得結果的比較,SVM分類器測試準確率達到86.67%,明顯高于K-最緊鄰分類和決策樹分類算法。因此我們可以得出結論:SVM分類器避免了誤分類代價帶來的不準確預測,在心臟病的輔助診斷過程中更加有效。
本文介紹了支持向量機分類器的算法原理,并將其應用于心臟病醫療診斷數據的分析中,實驗得到的診斷準確率、靈敏度和特異度三項指標都達到了較高的水平。因此該方法可以為心臟病的輔助診斷過程提供數據支持,能夠提高醫療機構對該心臟病的診斷效率,也讓醫生能更準確地做出診斷。與其他分類方法相比,SVM分類器具有較高的分類識別準確率,可以較好地解決小樣本、非線性等實際問題,因此SVM分類器在醫療診斷中具有很大的應用前景。
[1] 劉霞,盧葦.SVM在文本分類中的應用研究[J].計算機教育,2007.1
[2] 唐春生,張磊.文本分類研究進展
[3] (美)韓家煒(Han,j.)等著.數據挖掘:概念與技術[M].范明等譯.北京:機械工業出版社,2012
[4] Vapnik V.The Nature of Statistical Learning Theory.New York:Spriger,1995
[5] Zhang X G.Using Class-center Vectors to Build Support Vector Machines[C].In:Proceedings of NNSP'99,1999
Application of SVM in Heart Disease Data Analysis
GE Guang-wei,WANG Yuan-liang
(School of Information,Yunnan University of Finance and Economics,Kunming 650221)
Takes the actualmedical data as the application object,uses support vectormachine classifier to experiment.And with the use of K nearest neighbor,compares decision treeswith experimental results.The results show that support vectormachine has high sensitivity,accuracy and testaccuracy shows that support vectormachine can be applied tomedical diagnosis and provide data support formedical institutions.
Support Vector Machine(SVM);Classifier;Heart Disease Diagnosis;Cross Validation
1007-1423(2015)06-0009-03
10.3969/j.issn.1007-1423.2015.06.002
葛廣為(1987-),男,安徽鳳臺人,在讀碩士研究生,研究方向為數據挖掘、算法設計與分析
王元亮(1959-),男,云南昆明人,學士,教授,研究方向為企業信息化
2014-12-16
2015-02-15