中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

支持向量機在 R 語言中的實現(xiàn)和使用
來源:易賢網(wǎng) 閱讀:1681 次 日期:2015-04-02 13:50:43
溫馨提示:易賢網(wǎng)小編為您整理了“支持向量機在 R 語言中的實現(xiàn)和使用”,方便廣大網(wǎng)友查閱!

支持向量機是一個相對較新和較先進的機器學習技術,最初提出是為了解決二類分類問題,現(xiàn)在被廣泛用于解決多類非線性分類問題和回歸問題。繼續(xù)閱讀本文,你將學習到支持向量機如何工作,以及如何利用R語言實現(xiàn)支持向量機。

支持向量機如何工作?

簡單介紹下支持向量機是做什么的:

假設你的數(shù)據(jù)點分為兩類,支持向量機試圖尋找最優(yōu)的一條線(超平面),使得離這條線最近的點與其他類中的點的距離最大。有些時候,一個類的邊界上的點可能越過超平面落在了錯誤的一邊,或者和超平面重合,這種情況下,需要將這些點的權重降低,以減小它們的重要性。

這種情況下,“支持向量”就是那些落在分離超平面邊緣的數(shù)據(jù)點形成的線。

無法確定分類線(線性超平面)時該怎么辦?

此時可以將數(shù)據(jù)點投影到一個高維空間,在高維空間中它們可能就變得線性可分了。它會將問題作為一個帶約束的最優(yōu)化問題來定義和解決,其目的是為了最大化兩個類的邊界之間的距離。

我的數(shù)據(jù)點多于兩個類時該怎么辦?

此時支持向量機仍將問題看做一個二元分類問題,但這次會有多個支持向量機用來兩兩區(qū)分每一個類,直到所有的類之間都有區(qū)別。

工程實例

讓我們看一下如何使用支持向量機實現(xiàn)二元分類器,使用的數(shù)據(jù)是來自MASS包的cats數(shù)據(jù)集。在本例中你將嘗試使用體重和心臟重量來預測一只貓的性別。我們拿數(shù)據(jù)集中20%的數(shù)據(jù)點,用于測試模型的準確性(在其余的80%的數(shù)據(jù)上建立模型)。

# Setup

library(e1071)

data(cats, package="MASS")

inputData <- data.frame(cats[, c (2,3)], response = as.factor(cats$Sex)) # response as factor

線性支持向量機

傳遞給函數(shù)svm()的關鍵參數(shù)是kernel、cost和gamma。Kernel指的是支持向量機的類型,它可能是線性SVM、多項式SVM、徑向SVM或Sigmoid SVM。Cost是違反約束時的成本函數(shù),gamma是除線性SVM外其余所有SVM都使用的一個參數(shù)。還有一個類型參數(shù),用于指定該模型是用于回歸、分類還是異常檢測。但是這個參數(shù)不需要顯式地設置,因為支持向量機會基于響應變量的類別自動檢測這個參數(shù),響應變量的類別可能是一個因子或一個連續(xù)變量。所以對于分類問題,一定要把你的響應變量作為一個因子。

# linear SVM

svmfit <- svm(response ~ ., data = inputData, kernel = "linear", cost = 10, scale = FALSE) # linear svm, scaling turned OFF

print(svmfit)

plot(svmfit, inputData)

compareTable <- table (inputData$response, predict(svmfit)) # tabulate

mean(inputData$response != predict(svmfit)) # 19.44% misclassification error

徑向支持向量機

徑向基函數(shù)作為一個受歡迎的內核函數(shù),可以通過設置內核參數(shù)作為“radial”來使用。當使用一個帶有“radial”的內核時,結果中的超平面就不需要是一個線性的了。通常定義一個彎曲的區(qū)域來界定類別之間的分隔,這也往往導致相同的訓練數(shù)據(jù),更高的準確度。

# radial SVM

svmfit <- svm(response ~ ., data = inputData, kernel = "radial", cost = 10, scale = FALSE) # radial svm, scaling turned OFF

print(svmfit)

plot(svmfit, inputData)

compareTable <- table (inputData$response, predict(svmfit)) # tabulate

mean(inputData$response != predict(svmfit)) # 18.75% misclassification error

尋找最優(yōu)參數(shù)

你可以使用tune.svm()函數(shù),來尋找svm()函數(shù)的最優(yōu)參數(shù)。

### Tuning

# Prepare training and test data

set.seed(100) # for reproducing results

rowIndices <- 1 : nrow(inputData) # prepare row indices

sampleSize <- 0.8 * length(rowIndices) # training sample size

trainingRows <- sample (rowIndices, sampleSize) # random sampling

trainingData <- inputData[trainingRows, ] # training data

testData <- inputData[-trainingRows, ] # test data

tuned <- tune.svm(response ~., data = trainingData, gamma = 10^(-6:-1), cost = 10^(1:2)) # tune

summary (tuned) # to select best gamma and cost

# Parameter tuning of 'svm':

# - sampling method: 10-fold cross validation

#

# - best parameters:

# gamma cost

# 0.001 100

#

# - best performance: 0.26

#

# - Detailed performance results:

# gamma cost error dispersion

# 1 1e-06 10 0.36 0.09660918

# 2 1e-05 10 0.36 0.09660918

# 3 1e-04 10 0.36 0.09660918

# 4 1e-03 10 0.36 0.09660918

# 5 1e-02 10 0.27 0.20027759

# 6 1e-01 10 0.27 0.14944341

# 7 1e-06 100 0.36 0.09660918

# 8 1e-05 100 0.36 0.09660918

# 9 1e-04 100 0.36 0.09660918

# 10 1e-03 100 0.26 0.18378732

# 11 1e-02 100 0.26 0.17763883

# 12 1e-01 100 0.26 0.15055453

結果證明,當cost為100,gamma為0.001時產生最小的錯誤率。利用這些參數(shù)訓練徑向支持向量機。

svmfit <- svm (response ~ ., data = trainingData, kernel = "radial", cost = 100, gamma=0.001, scale = FALSE) # radial svm, scaling turned OFF

print(svmfit)

plot(svmfit, trainingData)

compareTable <- table (testData$response, predict(svmfit, testData)) # comparison table

mean(testData$response != predict(svmfit, testData)) # 13.79% misclassification error

F M

F 6 3

M 1 19

網(wǎng)格圖

一個2-色的網(wǎng)格圖,能讓結果看起來更清楚,它將圖的區(qū)域指定為利用SVM分類器得到的結果的類別。在下邊的例子中,這樣的網(wǎng)格圖中有很多數(shù)據(jù)點,并且通過數(shù)據(jù)點上的傾斜的方格來標記支持向量上的點。很明顯,在這種情況下,有很多越過邊界違反約束的點,但在SVM內部它們的權重都被降低了。

# Grid Plot

n_points_in_grid = 60 # num grid points in a line

x_axis_range &lt;- range (inputData[, 2]) # range of X axis

y_axis_range &lt;- range (inputData[, 1]) # range of Y axis

X_grid_points &lt;- seq (from=x_axis_range[1], to=x_axis_range[2], length=n_points_in_grid) # grid points along x-axis

Y_grid_points &lt;- seq (from=y_axis_range[1], to=y_axis_range[2], length=n_points_in_grid) # grid points along y-axis

all_grid_points &lt;- expand.grid (X_grid_points, Y_grid_points) # generate all grid points

names (all_grid_points) &lt;- c("Hwt", "Bwt") # rename

all_points_predited &lt;- predict(svmfit, all_grid_points) # predict for all points in grid

color_array &lt;- c("red", "blue")[as.numeric(all_points_predited)] # colors for all points based on predictions

plot (all_grid_points, col=color_array, pch=20, cex=0.25) # plot all grid points

points (x=trainingData$Hwt, y=trainingData$Bwt, col=c("red", "blue")[as.numeric(trainingData$response)], pch=19) # plot data points

points (trainingData[svmfit$index, c (2, 1)], pch=5, cex=2) # plot support vectors

更多信息請查看IT技術專欄

更多信息請查看技術文章
易賢網(wǎng)手機網(wǎng)站地址:支持向量機在 R 語言中的實現(xiàn)和使用

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網(wǎng)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
国产一区二区三区四区三区四| 99re6这里只有精品视频在线观看| 亚洲欧美在线磁力| 亚洲一区999| 久久综合久久综合这里只有精品| 国产一区视频网站| 欧美精品在线免费观看| 亚洲欧美一区二区三区久久 | 性色av一区二区三区| 欧美一区二区在线看| 老牛嫩草一区二区三区日本| 久久久久久久久蜜桃| 老司机久久99久久精品播放免费 | 樱花yy私人影院亚洲| 亚洲国产另类久久精品| 亚洲一区日韩在线| 久久综合九色综合欧美狠狠| 亚洲天堂av综合网| 午夜电影亚洲| 久久久国产91| 国产日韩精品一区二区| 亚洲一区二区三区精品在线| 久久综合色播五月| 国产欧美精品va在线观看| 亚洲国产欧美一区二区三区同亚洲 | 一本大道久久a久久精品综合| 亚洲综合日本| 欧美视频在线观看一区二区| 亚洲欧美日韩国产中文 | 亚洲视频精选在线| 欧美午夜在线视频| 久久精品成人一区二区三区| 欧美视频一区二区在线观看| 亚洲欧洲日本在线| 欧美精品精品一区| 亚洲一区二区三区精品视频| 国产精品高潮呻吟久久| 亚洲成人在线网| 亚洲最新色图| 欧美日本国产一区| 在线视频精品| 国产一区二区三区不卡在线观看 | 久久久国产精品亚洲一区 | 国产曰批免费观看久久久| 久久国产福利| 一区二区三区四区五区精品| 国产日韩欧美精品| 欧美激情在线免费观看| 韩国福利一区| 欧美日韩一区二区三区在线观看免| 欧美一区二区三区免费视| 亚洲激情二区| 日韩视频精品在线观看| 激情综合自拍| 国产精品三区www17con| 欧美日韩精品伦理作品在线免费观看| 欧美一区二区久久久| 亚洲九九爱视频| 狠狠色2019综合网| 亚洲国产一区二区三区高清| 一色屋精品视频在线观看网站| 国产精品久久久久久久一区探花| 欧美 日韩 国产在线| 午夜亚洲精品| 亚洲欧美日本另类| 亚洲摸下面视频| 亚洲欧美中文字幕| 亚洲字幕一区二区| 亚洲一区二区三区精品在线观看 | 亚洲人成77777在线观看网| 国产亚洲视频在线| 国产手机视频精品| 国产午夜精品视频| 国产一区二区三区不卡在线观看| 国产精品亚洲成人| 国产欧美日本一区二区三区| 国产伦精品一区二区三区免费迷| 欧美日韩综合在线| 国产精品一区二区久久| 狠狠综合久久| 亚洲第一在线视频| 亚洲精品一品区二品区三品区| 日韩系列欧美系列| 欧美在线一级视频| 欧美www在线| 国产精品激情| 亚洲第一中文字幕在线观看| 一区二区三区精品视频| 亚洲欧美国产三级| 欧美成人综合在线| 国产美女搞久久| 亚洲精品之草原avav久久| 亚洲图片欧洲图片av| 久久免费视频在线| 国产美女精品视频| 亚洲精品日韩激情在线电影| 新狼窝色av性久久久久久| 欧美高清视频一区二区| 国内精品一区二区| 销魂美女一区二区三区视频在线| 欧美成人国产| 亚洲成色www8888| 欧美中文字幕在线观看| 国产精品亚洲综合久久| 中文高清一区| 欧美视频网站| 亚洲一级影院| 欧美午夜在线一二页| 亚洲人成77777在线观看网| 麻豆精品视频| 亚洲国产成人高清精品| 欧美jizzhd精品欧美喷水| 在线观看亚洲专区| 欧美成人69av| 亚洲乱码国产乱码精品精天堂 | 国产精品一级久久久| 亚洲每日在线| 国产精品久久二区二区| 亚洲综合大片69999| 国产日产欧美精品| 久久精品一区二区三区四区 | 国产一区香蕉久久| 性欧美videos另类喷潮| 国产日韩欧美一区二区三区四区| 亚洲欧美国产不卡| 精品不卡在线| 欧美三区在线视频| 欧美在线91| 最近中文字幕日韩精品 | 国产精品久久久久久久久久久久久 | 国产精品久久一区二区三区| 欧美一二区视频| 亚洲日韩中文字幕在线播放| 欧美日一区二区在线观看| 久久成人av少妇免费| 在线观看一区二区精品视频| 欧美日韩国产一中文字不卡| 欧美一区二区福利在线| 亚洲人成高清| 韩国成人福利片在线播放| 欧美日韩免费观看一区二区三区 | 欧美麻豆久久久久久中文| 亚洲一级黄色av| 亚洲欧洲午夜| 国产精品一区二区你懂得| 免费看av成人| 久久久之久亚州精品露出| 国产一区二区三区黄| 国产精品yjizz| 老巨人导航500精品| 久久国产主播| 亚洲午夜精品网| 亚洲欧洲一区二区三区久久| 黄色欧美成人| 亚洲二区免费| 在线观看av不卡| 在线观看亚洲专区| 亚洲国产日韩一区| 亚洲人成绝费网站色www| 日韩午夜在线电影| 亚洲精品乱码| 亚洲一区欧美激情| 久久精品视频在线看| 久久久久久久999精品视频| 久久国产精品久久国产精品| 久久久久久综合| 欧美激情在线狂野欧美精品| 欧美日韩国产电影| 国产精品任我爽爆在线播放| 国产精品亚洲一区| 亚洲黄一区二区| 亚洲视频免费| 欧美日韩一区二区国产| 国产午夜一区二区三区| 亚洲精品国产精品乱码不99按摩| 在线一区欧美| 能在线观看的日韩av| 国产欧美日韩不卡免费| 亚洲伦理一区| 久久婷婷国产综合精品青草| 欧美日韩大片一区二区三区| 国产亚洲欧美日韩美女| 一本久久知道综合久久| 久久久另类综合| 国产精品久久久久久久久搜平片 | 亚洲国产高潮在线观看| 在线一区免费观看| 欧美激情在线有限公司| 一区视频在线看| 国产专区欧美专区| 欧美一区二区大片| 国产伦精品一区二区三区视频孕妇| 国产精品一区=区| 99在线|亚洲一区二区| 欧美国产视频在线| 一本大道久久a久久精二百| 欧美日韩系列| 亚洲欧美在线播放| 国语自产精品视频在线看一大j8 | 国产精品天天看|