基于R语言的支持向量机(SVM)+k均值(K-means)简单实现

SVM作为一种监督学习算法,主要任务是将线性不可分的样本通过一种非线性算法(如核函数)映射到高纬空间系统,使得样本集在高纬空间变得线性可分的机器学习算法。K-means作为非监督学习算法,能在对未知样本在无标签的情况下进行划分,对探索样本内部结果分布具有重要意义,本文将用R语言简单实现两种算法

1、SVM

install.packages("e1071")

set.seed("123") //设置随机数种子,也可不设置

library(e1071)//导入需要的包
nrow(iris)//查看r自带的数据集iris的行数
index=sample(1:nrow(iris),100)//随机选出数据集的100行数据作为测试集
traindata<-iris[index,]//测试数据
testdata<-iris[-index,]//训练数据
svmmodel<-svm(Species~.,data=traindata)//用测试数据建立SVM模型
result<-predict(object=svmmodel,newdata=testdata,type="class")//模型在测试数据集上测试
table(result,testdata$Species)//查看测试结果,生成一个混淆矩阵

2、k-means

install.packages("stats")
library(stats)
modelkmeans<-kmeans(x=subset(iris,select=-Species),center=3)
table(modelkmeans$cluster,iris$Species)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洛希极限-cz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值