陸勤 續(xù)《十大經(jīng)典數(shù)據(jù)挖掘算法R語(yǔ)言實(shí)踐(一)》,本文介紹支持向量機(jī)算法在R語(yǔ)言中如何使用,。 數(shù)據(jù)集,,采用R語(yǔ)言?xún)?nèi)置的iris數(shù)據(jù)集,。 查看數(shù)據(jù)集前六個(gè)觀測(cè) head(iris) 第一步:加載SVM算法的R包e1071 library(e1071) ## Warning: package 'e1071' was built under R version 3.1.3 library(printr) 第二步:把iris按著2:1的比例分為訓(xùn)練集和測(cè)試集 index <- sample(1:nrow(iris), 100) iris.train <- iris[index, ] iris.test <- iris[-index, ] 第三步:在訓(xùn)練集上用SVM構(gòu)建模型 model.SVM <- svm(Species ~ ., data=iris.train) 第四步:在測(cè)試集上對(duì)模型做測(cè)試 results.SVM <- predict(object=model.SVM, newdata=iris.test, type='class') 第五步:生成混淆矩陣,,理解測(cè)試結(jié)果 table(results.SVM, iris.test$Species) SVM原理 支持向量機(jī),英文為Support Vector Machine,,簡(jiǎn)稱(chēng)SV機(jī)(論文中一般簡(jiǎn)稱(chēng)SVM),。它是一種監(jiān)督式學(xué)習(xí)的方法,它廣泛的應(yīng)用于統(tǒng)計(jì)分類(lèi)以及回歸分析中,。 SVM 的主要思想可以概括為兩點(diǎn): (1) 它是針對(duì)線(xiàn)性可分情況進(jìn)行分析,,對(duì)于線(xiàn)性不可分的情況,通過(guò)使用非線(xiàn)性映射算法將低維輸入空間線(xiàn)性不可分的樣本轉(zhuǎn)化為高維特征空間使 其線(xiàn)性可分,,從而使得高維特征空間采用線(xiàn)性算法對(duì)樣本的非線(xiàn)性特征進(jìn)行線(xiàn)性分析成為可能,; (2) 它基于結(jié)構(gòu)風(fēng)險(xiǎn)最小化理論之上在特征空間中建構(gòu)最優(yōu)分割超平面,使得學(xué)習(xí)器得到全局最優(yōu)化,并且在整個(gè)樣本空間的期望風(fēng)險(xiǎn)以某個(gè)概率滿(mǎn)足一定上界,。 在學(xué)習(xí)這種方法時(shí),,首先要弄清楚這種方法考慮問(wèn)題的特點(diǎn),這就要從線(xiàn)性可分的最簡(jiǎn)單情況討論起,,在沒(méi)有弄懂其原理之前,,不要急于學(xué)習(xí)線(xiàn)性不可分等較復(fù)雜的情況,支持向量機(jī),。在設(shè)計(jì)時(shí),,需要用到條件極值問(wèn)題的求解,因此需用拉格朗日乘子理論,,但對(duì)多數(shù)人來(lái)說(shuō),以前學(xué)到的或常用的是約束條件為等式表示的方式,,但在此要用到以不等式作為必須滿(mǎn)足的條件,,此時(shí)只要了解拉格朗日理論的有關(guān)結(jié)論就行。 參考資料 1 《數(shù)據(jù)挖掘?qū)д摗泛汀稊?shù)據(jù)挖掘:概念與技術(shù)》 2 數(shù)據(jù)挖掘十大經(jīng)典算法(詳解) 3 Top 10 data mining algorithms in plain R 中國(guó)數(shù)據(jù)人QQ群:290937046,,使命:讓更多人懂?dāng)?shù)據(jù),、用數(shù)據(jù)。陸勤微信:luqin360 ,多交流,。 |
|