支持向量机
支持有机农场,他们更倾向于可持续农业实践。 #生活技巧# #环保生活技巧# #有机食品选择#
支持向量机(Support Vector Machine, SVM)是统计机器学习和数据挖掘中常用的一种分类模型。
从逻辑回归到线性分类与非线性分类> install.packages("e1071", dep = TRUE, type = "source") # 正确的安装软件包
> iris[1:5,] # datasets软件包中的iris数据集
# 正确的安装软件包 > iris[1:5,] # datasets软件包中的iris数据集Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
> library(lattice)
> xyplot(Petal.Length ~ Petal.Width, data = iris, groups = Species, auto.key = list(corner = c(1, 0))) # 简单地线性图初步判定数据的分布情况。
# 简单地线性图初步判定数据的分布情况。> data(iris)
> attach(iris)
> subdata <- iris[iris$Species != 'virginica',]
> subdata$Species <- factor(subdata$Species)
> model1 <- svm(Species ~ Petal.Length + Petal.Width, data = subdata)
> plot(model1, subdata, Petal.Length ~ Petal.Width)
> model2 <- svm(Species ~ ., data = iris) # .代替全部特征变量
# .代替全部特征变量> summary(model2) # 显示模型构建的情况
Call:
svm(formula = Species ~ ., data = iris)
Parameters:
SVM-Type: C-classification
SVM-Kernel: radial
cost: 1
gamma: 0.25
Number of Support Vectors: 51
( 8 22 21 )
Number of Classes: 3
Levels:
setosa versicolor virginica
# 显示模型构建的情况 Call: svm(formula = Species ~ ., data = iris) Parameters: SVM-Type: C-classification SVM-Kernel: radial cost: 1 gamma: 0.25 Number of Support Vectors: 51 ( 8 22 21 ) Number of Classes: 3 Levels: setosa versicolor virginicasvm(x, y = NULL, scale = TRUE, type = NULL, kernel ="radial", degree = 3, gamma = if (is.vector(x)) 1 else 1 / ncol(x),
coef0 = 0, cost = 1, nu = 0.5,class.weights = NULL, cachesize = 40, tolerance = 0.001, epsilon = 0.1,
shrinking = TRUE, cross = 0, probability = FALSE, fitted = TRUE,..., subset, na.action = na.omit)
上述为svm函数的主要格式,x可以是一个数据矩阵或稀疏矩阵或数据向量,y是对于x数据的结果标签,可以是字符变量或数值变量。type指定建立模型的类别,通常有分类模型,回归模型或者异常检测模型。kernel是指在模型建立过程中使用的核函数,有线性核函数,多项式核函数,高斯核函数和神经网络函数等。
> x = iris[,-5]
> y = iris[,5]
> model3 = svm(x,y, kenel = "radial",gamma = if (is.vector(x)) 1 else 1 / ncol(x)) # 如果特征向量是向量则ganma=1,否则gamma值为特征向量个数的倒数。
> pred <- predict(model3, x)
> table(pred, y)
y
pred setosa versicolor virginica
setosa 50 0 0
versicolor 0 48 2
virginica 0 2 48
# 如果特征向量是向量则ganma=1,否则gamma值为特征向量个数的倒数。 > pred <- predict(model3, x) > table(pred, y) y pred setosa versicolor virginica setosa 50 0 0 versicolor 0 48 2 virginica 0 2 48> pred <- predict(model3, x, decision.values = T) # 预测分类
> plot(cmdscale(dist(iris[,-5])), col = c("Orange", "blue", "green")[as.integer(iris[,5])], pch = c("o","+")[1:150 %in% model3$index + 1])
> legend(1.8, -0.8, c("Setosa", "Versicolor", "virgincia"), col = c("Orange", "blue", "green"), lty = 1 )
# 预测分类 > plot(cmdscale(dist(iris[,-5])), col = c("Orange", "blue", "green")[as.integer(iris[,5])], pch = c("o","+")[1:150 %in% model3$index + 1]) > legend(1.8, -0.8, c("Setosa", "Versicolor", "virgincia"), col = c("Orange", "blue", "green"), lty = 1 )
图中“+”表示的是支持向量,“0”表示的是普通的样本点。
网址:支持向量机 https://www.yuejiaxmz.com/news/view/212271
相关内容
家长的力量:认可=支持【支持5g的电视机】
从工业制造迈向生活服务支援的机器人
eastersealsontario给家长的小贴士向学校的健康及个人护理支持.pdf
移动支付行业离不开手机功能的支持
群决策支持系统(关于群决策支持系统简述)
已知向量OA=3,
二十国峰会宣言:支持到2030年努力争取将全球可再生能源装机容量增至三倍
癌症护理中需要高质量的自我管理支持
我国将加大金融支持经济高质量发展力度