SVM支持向量机

线性支持向量机#

library(ggplot2)
library(lattice)
library(kernlab)
library(caret)  
#将数据使用留出采样法进行划分成训练集、测试集
train <- createDataPartition(y=iris$Species, p=0.75, list=FALSE)
training <- iris[train,]
testing <- iris[-train,]
#导入e1071包训练svm模型
library(e1071)
svmfit <- svm(Species ~ ., data = training, kernel = "linear", cost = 10, scale = FALSE)
#比较测试数据集预测结果
table(testing$Species, predict(svmfit, testing[, c(1, 2, 3, 4)]))

径向支持向量机#

library(ggplot2)
library(lattice)
library(kernlab)
library(caret)

#将数据使用留出采样法进行划分成训练集、测试集
train <- createDataPartition(y=iris$Species, p=0.75, list=FALSE)
training <- iris[train,]
testing <- iris[-train,]

#导入e1071包训练svm模型
library(e1071)
svmfit <- svm(Species ~ ., data = training, kernel = "radial", cost = 10, scale = FALSE)

#比较测试数据集预测结果
table(testing$Species, predict(svmfit, testing[, c(1, 2, 3, 4)]))

最优参数##

library(ggplot2)
library(lattice)
library(kernlab)
library(caret)
library(e1071)

train <- createDataPartition(y=iris$Species, p=0.75, list=FALSE)
training <- iris[train,]
tuned <- tune.svm(Species ~ ., data = training, gamma = 10^(-6:-1), cost = 10^(1:2)) # tune
summary (tuned)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转自微信公众号:机器学习算法与Python学习 统计学习方法 & 小象学院 SVM算法优点: 可用于线性/非线性分...
    士多啤梨苹果橙_cc15阅读 4,606评论 0 2
  • 线性可分支持向量机 特点 二分类问题 输入空间:欧式空间或离散集合 特征空间:欧式空间或希尔伯特空间 线性可分支持...
    谜碌小孩阅读 4,274评论 0 0
  • 囫囵吞枣看完SVM,个人感觉如果不好好理解一些概念,或说如果知其然而不知其所以然的话,不如不看。因此我想随便写一写...
    煎鱼不可能有BUG阅读 17,915评论 2 38
  • SVM是数据挖掘算法中比较复杂难懂的,反复观看斯坦福机器学习的视频, 以及网上零散学习各种数学和SVM相关资料, ...
    wujustin阅读 22,457评论 0 20
  • 非线性支持向量机与核函数 对解线性分类问题,线性分类支持向量机是一种非常有效的方法。但是有些分类问题的非线性的。其...
    士多啤梨苹果橙_cc15阅读 2,656评论 0 0