A. svm演算法是什麼
支持向量機(英語:support vector machine,常簡稱為SVM,又名支持向量網路)是在分類與回歸分析中分析數據的監督式學習模型與相關的學習演算法。
SVM使用鉸鏈損失函數(hinge loss)計算經驗風險(empirical risk)並在求解系統中加入了正則化項以優化結構風險(structural risk),是一個具有稀疏性和穩健性的分類器。
SVM可以通過核方法(kernel method)進行非線性分類,是常見的核學習(kernel learning)方法之一 。
SVM被提出於1964年,在二十世紀90年代後得到快速發展並衍生出一系列改進和擴展演算法,在人像識別、文本分類等模式識別(pattern recognition)問題中有得到應用。
動機
H1不能把類別分開。H2可以,但只有很小的間隔。H3以最大間隔將它們分開。
將數據進行分類是機器學習中的一項常見任務。 假設某些給定的數據點各自屬於兩個類之一,而目標是確定新數據點將在哪個類中。對於支持向量機來說,數據點被視為p維向量,而我們想知道是否可以用 (p-1)維超平面來分開這些點。
這就是所謂的線性分類器。可能有許多超平面可以把數據分類。最佳超平面的一個合理選擇是以最大間隔把兩個類分開的超平面。
因此,我們要選擇能夠讓到每邊最近的數據點的距離最大化的超平面。如果存在這樣的超平面,則稱為最大間隔超平面,而其定義的線性分類器被稱為最大間隔分類器,或者叫做最佳穩定性感知器。
應用
1、用於文本和超文本的分類,在歸納和直推方法中都可以顯著減少所需要的有類標的樣本數。
2、用於圖像分類。實驗結果顯示:在經過三到四輪相關反饋之後,比起傳統的查詢優化方案,支持向量機能夠獲取明顯更高的搜索准確度。這同樣也適用於圖像分割系統,比如使用Vapnik所建議的使用特權方法的修改版本SVM的那些圖像分割系統。
3、用於手寫字體識別。
4、用於醫學中分類蛋白質,超過90%的化合物能夠被正確分類。基於支持向量機權重的置換測試已被建議作為一種機制,用於解釋的支持向量機模型。
支持向量機權重也被用來解釋過去的SVM模型。為識別模型用於進行預測的特徵而對支持向量機模型做出事後解釋是在生物科學中具有特殊意義的相對較新的研究領域。
以上內容參考網路-支持向量機
B. 請問有誰知道文本分類SVM或libsvm的原始數據是怎麼來的嗎是特徵權重後得來的嗎,
數據都是通過特定演算法提取的,有很多特徵提取演算法的,網上找找文獻自己實現吧
C. SVM文本分類中的數據問題
是同一個屬性
對你這個圖的數據,簡單的理解是:對n行大小這么多個文本,提取13維特徵(列的維數為13,同時同一列表示每個文本提取的相同屬性的特徵),構成特徵集進行二分類(這里標號只有+1、-1所以說這么多文章分成兩類)。
D. 汽車svm是什麼意思
支持向量機(Support Vector Machine, SVM)是一類按監督學習方式對數據進行二元分類的廣義線性分類器,其決策邊界是對學習樣本求解的最大邊距超平面。
SVM使用鉸鏈損失函數計算經驗風險並在求解系統中加入了正則化項以優化結構風險,是一個具有稀疏性和穩健性的分類器 。SVM可以通過核方法進行非線性分類,是常見的核學習方法之一。
SVM被提出於1964年,在二十世紀90年代後得到快速發展並衍生出一系列改進和擴展演算法,在人像識別、汽車、文本分類等模式識別問題中有得到應用。
SVM是由模式識別中廣義肖像演算法發展而來的分類器,其早期工作來自前蘇聯學者Vladimir N. Vapnik和Alexander Y. Lerner在1963年發表的研究。1964年,Vapnik和Alexey對廣義肖像演算法進行了進一步討論並建立了硬邊距的線性SVM。
此後在二十世紀70-80年代,隨著模式識別中最大邊距決策邊界的理論研究 、基於鬆弛變數的規劃問題求解技術的出現,和VC維的提出 ,SVM被逐步理論化並成為統計學習理論的一部分。
1992年,Bernhard E. Boser、Isabelle M. Guyon和Vapnik通過核方法得到了非線性SVM。
1995年,Corinna Cortes和Vapnik提出了軟邊距的非線性SVM並將其應用於手寫字元識別問題 ,這份研究在發表後得到了關注和引用,為SVM在各領域的應用提供了參考。
以上內容參考 網路-支持向量機E. svm對文本分類選擇什麼核函數好
SVM關鍵是選取核函數的類型,主要有線性內核,多項式內核,徑向基內核(RBF),sigmoid
F. 下了個SVM文本分類程序,調通了,但沒有訓練數據和測試數據,請各位大神幫幫忙!拜謝!!!!!!
你也不說你下載的是什麼樣的程序!基於libsvm 或者別人自己寫的SVM工具箱?
不過什麼都無所謂了,你看看程序里是不是有諸如svmtrain (TrainLabel, TrainData, Option) 這樣的字眼?
這就是對SVM進行訓練啦...你要的訓練數據就是這個TrainLabel, TrainData,一般來說TrainLabel, TrainData 行數相同(也就是樣本點個數)TrainLabel一般是n行1列(n是你樣本個數)它代表訓練樣本已知的類標,而TrainData是n行m列,m是特徵的維數了...
是不是有諸如svmpredict (Testlabel, TestData, model)這樣的字眼?這里Testlabel, TestData
就是你要測試數據了,和前面一樣 他們也是同行數的,但是測試是未知樣本,所以Testlabel可以隨便填我們不知道才要測試嘛!!!
如果你這些都知道,而是沒有訓練測試數據的話....那我就無語了,網上很多這樣的數據集下載吧!!!或者自己提取
G. 什麼是svm分類數據挖掘
數據倉庫,資料庫或者其它信息庫中隱藏著許多可以為商業、科研等活動的決策提供所需要的知識。分類與預測是兩種數據分析形式,它們可以用來抽取能夠描述重要數據集合或預測未來數據趨勢的模型。分類方法(Classification)用於預測數據對象的離散類別(Categorical Label);預測方法(Prediction )用於預測數據對象的連續取值。
分類技術在很多領域都有應用,例如可以通過客戶分類構造一個分類模型來對銀行貸款進行風險評估;當前的市場營銷中很重要的一個特點是強調客戶細分。客戶類別分析的功能也在於此,採用數據挖掘中的分類技術,可以將客戶分成不同的類別,比如呼叫中心設計時可以分為:呼叫頻繁的客戶、偶然大量呼叫的客戶、穩定呼叫的客戶、其他,幫助呼叫中心尋找出這些不同種類客戶之間的特徵,這樣的分類模型可以讓用戶了解不同行為類別客戶的分布特徵;其他分類應用如文獻檢索和搜索引擎中的自動文本分類技術;安全領域有基於分類技術的入侵檢測等等。機器學習、專家系統、統計學和神經網路等領域的研究人員已經提出了許多具體的分類預測方法。下面對分類流程作個簡要描述:
訓練:訓練集——>特徵選取——>訓練——>分類器
分類:新樣本——>特徵選取——>分類——>判決
最初的數據挖掘分類應用大多都是在這些方法及基於內存基礎上所構造的演算法。目前數據挖掘方法都要求具有基於外存以處理大規模數據集合能力且具有可擴展能力。下面對幾種主要的分類方法做個簡要介紹:
(1)決策樹
決策樹歸納是經典的分類演算法。它採用自頂向下遞歸的各個擊破方式構造決策樹。樹的每一個結點上使用信息增益度量選擇測試屬性。可以從生成的決策樹中提取規則。
(2) KNN法(K-Nearest Neighbor)
KNN法即K最近鄰法,最初由Cover和Hart於1968年提出的,是一個理論上比較成熟的方法。該方法的思路非常簡單直觀:如果一個樣本在特徵空間中的k個最相似(即特徵空間中最鄰近)的樣本中的大多數屬於某一個類別,則該樣本也屬於這個類別。該方法在定類決策上只依據最鄰近的一個或者幾個樣本的類別來決定待分樣本所屬的類別。
KNN方法雖然從原理上也依賴於極限定理,但在類別決策時,只與極少量的相鄰樣本有關。因此,採用這種方法可以較好地避免樣本的不平衡問題。另外,由於KNN方法主要靠周圍有限的鄰近的樣本,而不是靠判別類域的方法來確定所屬類別的,因此對於類域的交叉或重疊較多的待分樣本集來說,KNN方法較其他方法更為適合。
該方法的不足之處是計算量較大,因為對每一個待分類的文本都要計算它到全體已知樣本的距離,才能求得它的K個最近鄰點。目前常用的解決方法是事先對已知樣本點進行剪輯,事先去除對分類作用不大的樣本。另外還有一種Reverse KNN法,能降低KNN演算法的計算復雜度,提高分類的效率。
該演算法比較適用於樣本容量比較大的類域的自動分類,而那些樣本容量較小的類域採用這種演算法比較容易產生誤分。
(3) SVM法SVM法即支持向量機(Support Vector Machine)法,由Vapnik等人於1995年提出,具有相對優良的性能指標。該方法是建立在統計學習理論基礎上的機器學習方法。通過學習演算法,SVM可以自動尋找出那些對分類有較好區分能力的支持向量,由此構造出的分類器可以最大化類與類的間隔,因而有較好的適應能力和較高的分准率。該方法只需要由各類域的邊界樣本的類別來決定最後的分類結果。
支持向量機演算法的目的在於尋找一個超平面H(d),該超平面可以將訓練集中的數據分開,且與類域邊界的沿垂直於該超平面方向的距離最大,故SVM法亦被稱為最大邊緣(maximum margin)演算法。待分樣本集中的大部分樣本不是支持向量,移去或者減少這些樣本對分類結果沒有影響,SVM法對小樣本情況下的自動分類有著較好的分類結果。
(4) VSM法VSM法即向量空間模型(Vector Space Model)法,由Salton等人於60年代末提出。這是最早也是最出名的信息檢索方面的數學模型。其基本思想是將文檔表示為加權的特徵向量:D=D(T1,W1;T2,W2;…;Tn,Wn),然後通過計算文本相似度的方法來確定待分樣本的類別。當文本被表示為空間向量模型的時候,文本的相似度就可以藉助特徵向量之間的內積來表示。
在實際應用中,VSM法一般事先依據語料庫中的訓練樣本和分類體系建立類別向量空間。當需要對一篇待分樣本進行分類的時候,只需要計算待分樣本和每一個類別向量的相似度即內積,然後選取相似度最大的類別作為該待分樣本所對應的類別。
由於VSM法中需要事先計算類別的空間向量,而該空間向量的建立又很大程度的依賴於該類別向量中所包含的特徵項。根據研究發現,類別中所包含的非零特徵項越多,其包含的每個特徵項對於類別的表達能力越弱。因此,VSM法相對其他分類方法而言,更適合於專業文獻的分類。
(5) Bayes法
Bayes法是一種在已知先驗概率與類條件概率的情況下的模式分類方法,待分樣本的分類結果取決於各類域中樣本的全體。
設訓練樣本集分為M類,記為C={c1,…,ci,…cM},每類的先驗概率為P(ci),i=1,2,…,M。當樣本集非常大時,可以認為P(ci)=ci類樣本數/總樣本數。對於一個待分樣本X,其歸於cj類的類條件概率是P(X/ci),則根據Bayes定理,可得到cj類的後驗概率P(ci/X):
P(ci/x)=P(x/ci)·P(ci)/P(x)(1)
若P(ci/X)=MaxjP(cj/X),i=1,2,…,M,j=1,2,…,M,則有x∈ci(2)
式(2)是最大後驗概率判決准則,將式(1)代入式(2),則有:
若P(x/ci)P(ci)=Maxj〔P(x/cj)P(cj)〕,i=1,2,…,M,j=1,2,…,M,則x∈ci
這就是常用到的Bayes分類判決准則。經過長期的研究,Bayes分類方法在理論上論證得比較充分,在應用上也是非常廣泛的。
Bayes方法的薄弱環節在於實際情況下,類別總體的概率分布和各類樣本的概率分布函數(或密度函數)常常是不知道的。為了獲得它們,就要求樣本足夠大。另外,Bayes法要求表達文本的主題詞相互獨立,這樣的條件在實際文本中一般很難滿足,因此該方法往往在效果上難以達到理論上的最大值。
神經網路分類演算法的重點是構造閾值邏輯單元,一個值邏輯單元是一個對象,它可以輸入一組加權系數的量,對它們進行求和,如果這個和達到或者超過了某個閾值,輸出一個量。如有輸入值X1, X2, ..., Xn 和它們的權系數:W1, W2, ..., Wn,求和計算出的 Xi*Wi ,產生了激發層 a = (X1 * W1)+(X2 * W2)+...+(Xi * Wi)+...+ (Xn * Wn),其中Xi 是各條記錄出現頻率或其他參數,Wi是實時特徵評估模型中得到的權系數。神經網路是基於經驗風險最小化原則的學習演算法,有一些固有的缺陷,比如層數和神經元個數難以確定,容易陷入局部極小,還有過學習現象,這些本身的缺陷在SVM演算法中可以得到很好的解決。
H. SVM的類型和核函數選擇
線性分類:線性可分性、損失函數(loss function)、經驗風險(empirical risk)與結構風險(structural risk)。
核函數的選擇要求滿足Mercer定理(Mercer's theorem),即核函數在樣本空間內的任意格拉姆矩陣(Gram matrix)為半正定矩陣(semi-positive definite)。
常用的核函數有:線性核函數,多項式核函數,徑向基核函數,Sigmoid核函數和復合核函數,傅立葉級數核,B樣條核函數和張量積核函數等。
(8)svm演算法文本分類擴展閱讀
SVM被提出於1964年,在二十世紀90年代後得到快速發展並衍生出一系列改進和擴展演算法,在人像識別、文本分類等模式識別(pattern recognition)問題中有得到應用。
核函數具有以下性質:
1、核函數的引入避免了「維數災難」,大大減小了計算量。而輸入空間的維數n對核函數矩陣無影響,因此,核函數方法可以有效處理高維輸入。
2、無需知道非線性變換函數Φ的形式和參數。
3、核函數的形式和參數的變化會隱式地改變從輸入空間到特徵空間的映射,進而對特徵空間的性質產生影響,最終改變各種核函數方法的性能。
4、核函數方法可以和不同的演算法相結合,形成多種不同的基於核函數技術的方法,且這兩部分的設計可以單獨進行,並可以為不同的應用選擇不同的核函數和演算法。
I. 誰有改進的svm文本分類的源代碼
支持向量機SVM ( Support Vector Machines)是由Vanpik領導的AT&TBell實驗室研究小組
在1963年提出的一種新的非常有潛力的分類技術, SVM是一種基於統計學習理論的模式識別方法,主要應用於模式識別領域.由於當時這些研究尚不十分完善,在解決模式識別問題中往往趨於保守,且數學上比較艱澀,因此這些研究一直沒有得到充的重視.直到90年代,一個較完善的理論體系—統計學習理論 ( StatisticalLearningTheory,簡稱SLT) 的實現和由於神經網路等較新興的機器學習方法的研究遇到一些重要的困難,比如如何確定網路結構的問題、過學習與欠學習問題、局部極小點問題等,使得SVM迅速發展和完善,在解決小樣本 、非線性及高維模式識別問題中表現出許多特有的優勢,並能夠推廣應用到函數擬合等其他機器學習問題中.從此迅速的發展起來,現在已經在許多領域(生物信息學,文本和手寫識別等)都取得了成功的應用。
SVM的關鍵在於核函數,這也是最喜人的地方。低維空間向量集通常難於劃分,解決的方法是將它們映射到高維空間。但這個辦法帶來的困難就是計算復雜度的增加,而核函數正好巧妙地解決了這個問題。也就是說,只要選用適當的核函數,我們就可以得到高維空間的分類函數。在SVM理論中,採用不同的核函數將導致不同的SVM演算法
它是一種以統計學理論為基礎的,以結構風險最小化的學習機學習方法,要優於神經網路學習,以上是摘自本人的畢業設計,如需轉載,請通知本人
J. 文本分類的方法
文本分類問題與其它分類問題沒有本質上的區別,其方法可以歸結為根據待分類數據的某些特徵來進行匹配,當然完全的匹配是不太可能的,因此必須(根據某種評價標准)選擇最優的匹配結果,從而完成分類。 後來人們意識到,究竟依據什麼特徵來判斷文本應當隸屬的類別這個問題,就連人類自己都不太回答得清楚,有太多所謂「只可意會,不能言傳」的東西在裡面。人類的判斷大多依據經驗以及直覺,因此自然而然的會有人想到何讓機器像人類一樣自己來通過對大量同類文檔的觀察來自己總結經驗,作為今後分類的依據。這便是統計學習方法的基本思想。
統計學習方法需要一批由人工進行了准確分類的文檔作為學習的材料(稱為訓練集,注意由人分類一批文檔比從這些文檔中總結出准確的規則成本要低得多),計算機從這些文檔中挖掘出一些能夠有效分類的規則,這個過程被形象的稱為訓練,而總結出的規則集合常常被稱為分類器。訓練完成之後,需要對計算機從來沒有見過的文檔進行分類時,便使用這些分類器來進行。這些訓練集包括sogou文本分類分類測試數據、中文文本分類分類語料庫,包含Arts、Literature等類別的語料文本、可用於聚類的英文文本數據集、網易分類文本分類文本數據、tc-corpus-train(語料庫訓練集,適用於文本分類分類中的訓練)、2002年中文網頁分類訓練集CCT2002-v1.1等。
現如今,統計學習方法已經成為了文本分類領域絕對的主流。主要的原因在於其中的很多技術擁有堅實的理論基礎(相比之下,知識工程方法中專家的主觀因素居多),存在明確的評價標准,以及實際表現良好。統計分類演算法
將樣本數據成功轉化為向量表示之後,計算機才算開始真正意義上的「學習」過程。常用的分類演算法為:
決策樹,Rocchio,樸素貝葉斯,神經網路,支持向量機,線性最小平方擬合,kNN,遺傳演算法,最大熵,Generalized Instance Set等。在這里只挑幾個最具代表性的演算法侃一侃。
Rocchio演算法
Rocchio演算法應該算是人們思考文本分類問題時最先能想到,也最符合直覺的解決方法。基本的思路是把一個類別里的樣本文檔各項取個平均值(例如把所有 「體育」類文檔中詞彙「籃球」出現的次數取個平均值,再把「裁判」取個平均值,依次做下去),可以得到一個新的向量,形象的稱之為「質心」,質心就成了這 個類別最具代表性的向量表示。再有新文檔需要判斷的時候,比較新文檔和質心有多麼相像(八股點說,判斷他們之間的距離)就可以確定新文檔屬不屬於這個類。 稍微改進一點的Rocchio演算法不僅考慮屬於這個類別的文檔(稱為正樣本),也考慮不屬於這個類別的文檔數據(稱為負樣本),計算出來的質心盡量靠近正樣本同時盡量遠離負樣本。Rocchio演算法做了兩個很致命的假設,使得它的性能出奇的差。一是它認為一個類別的文檔僅僅聚集在一個質心的周圍,實際情況往往不是如此(這樣的數據稱為線性不可分的);二是它假設訓練數據是絕對正確的,因為它沒有任何定量衡量樣本是否含有雜訊的機制,因而也就對錯誤數據毫無抵抗力。
不過Rocchio產生的分類器很直觀,很容易被人類理解,演算法也簡單,還是有一定的利用價值的,常常被用來做科研中比較不同演算法優劣的基線系統(Base Line)。
樸素貝葉斯演算法
貝葉斯演算法關注的是文檔屬於某類別概率。文檔屬於某個類別的概率等於文檔中每個詞屬於該類別的概率的綜合表達式。而每個詞屬於該類別的概率又在一定程度上 可以用這個詞在該類別訓練文檔中出現的次數(詞頻信息)來粗略估計,因而使得整個計算過程成為可行的。使用樸素貝葉斯演算法時,在訓練階段的主要任務就是估計這些值。
樸素貝葉斯演算法的公式並不是只有一個。
首先對於每一個樣本中的元素要計算先驗概率。其次要計算一個樣本對於每個分類的概率,概率最大的分類將被採納。所以
其中P(d| Ci)=P(w1|Ci) P(w2|Ci) …P(wi|Ci) P(w1|Ci) …P(wm|Ci) (式1)
P(w|C)=元素w在分類為C的樣本中出現次數/數據整理後的樣本中元素的總數(式2)
這其中就蘊含著樸素貝葉斯演算法最大的兩個缺陷。
首先,P(d| Ci)之所以能展開成(式1)的連乘積形式,就是假設一篇文章中的各個詞之間是彼此獨立的,其中一個詞的出現絲毫不受另一個詞的影響(回憶一下概率論中變 量彼此獨立的概念就可以知道),但這顯然不對,即使不是語言學專家的我們也知道,詞語之間有明顯的所謂「共現」關系,在不同主題的文章中,可能共現的次數 或頻率有變化,但彼此間絕對談不上獨立。
其二,使用某個詞在某個類別訓練文檔中出現的次數來估計P(wi|Ci)時,只在訓練樣本數量非常多的情況下才比較准確(考慮扔硬幣的問題,得通過大量觀 察才能基本得出正反面出現的概率都是二分之一的結論,觀察次數太少時很可能得到錯誤的答案),而需要大量樣本的要求不僅給前期人工分類的工作帶來更高要求 (從而成本上升),在後期由計算機處理的時候也對存儲和計算資源提出了更高的要求。
但是稍有常識的技術人員都會了解,數據挖掘中佔用大量時間的部分是數據整理。在數據整理階段,可以根據詞彙的情況生成字典,刪除冗餘沒有意義的詞彙,對於單字和重要的片語分開計算等等。
這樣可以避免樸素貝葉斯演算法的一些問題。其實真正的問題還是存在於演算法對於信息熵的計算方式。
樸素貝葉斯演算法在很多情況下,通過專業人員的優化,可以取得極為良好的識別效果。最為人熟悉的兩家跨國軟體公司在目前仍採用樸素貝葉斯演算法作為有些軟體自然語言處理的工具演算法。
kNN演算法
最近鄰演算法(kNN):在給定新文檔後,計算新文檔特徵向量和訓練文檔集中各個文檔的向量的相似度,得到K篇與該新文 檔距離最近最相似的文檔,根據這K篇文檔所屬的類別判定新文檔所屬的類別(注意這也意味著kNN演算法根本沒有真正意義上的「訓練」階段)。這種判斷方法很 好的克服了Rocchio演算法中無法處理線性不可分問題的缺陷,也很適用於分類標准隨時會產生變化的需求(只要刪除舊訓練文檔,添加新訓練文檔,就改變了 分類的准則)。
kNN唯一的也可以說最致命的缺點就是判斷一篇新文檔的類別時,需要把它與現存的所有訓練文檔全都比較一遍,這個計算代價並不是每個系統都能夠承受的(比 如我將要構建的一個文本分類系統,上萬個類,每個類即便只有20個訓練樣本,為了判斷一個新文檔的類別,也要做20萬次的向量比較!)。一些基於kNN的 改良方法比如Generalized Instance Set就在試圖解決這個問題。
kNN也有另一個缺點,當樣本不平衡時,如一個類的樣本容量很大,而其他類樣本容量很小時,有可能導致當輸入一個新樣本時,該樣本的K個鄰居中大容量類的樣本佔多數。 SVM(Support Vector Machine)是Cortes和Vapnik於1995年首先提出的,它在解決小樣本、非線性及高維模式識別中表現出許多特有的優勢,並能夠推廣應用到函數擬合等其他機器學習問題中。
支持向量機方法是建立在統計學習理論的VC維理論和結構風險最小原理基礎上的,根據有限的樣本信息在模型的復雜性(即對特定訓練樣本的學習精度,Accuracy)和學習能力(即無錯誤地識別任意樣本的能力)之間尋求最佳折衷,以期獲得最好的推廣能力(或稱泛化能力)。
SVM 方法有很堅實的理論基礎,SVM 訓練的本質是解決一個二次規劃問題(Quadruple Programming,指目標函數為二次函數,約束條件為線性約束的最優化問題),得到的是全局最優解,這使它有著其他統計學習技術難以比擬的優越性。 SVM分類器的文本分類效果很好,是最好的分類器之一。同時使用核函數將 原始的樣本空間向高維空間進行變換,能夠解決原始樣本線性不可分的問題。其缺點是核函數的選擇缺乏指導,難以針對具體問題選擇最佳的核函數;另外SVM 訓練速度極大地受到訓練集規模的影響,計算開銷比較大,針對SVM 的訓練速度問題,研究者提出了很多改進方法,包括Chunking 方法、Osuna演算法、SMO 演算法和交互SVM 等。SVM分類器的優點在於通用性較好,且分類精度高、分類速度快、分類速度與訓練樣本個數無關,在查准和查全率方面都略優於kNN及樸素貝葉斯方法。