1071svm函数 r语言_R语言机器学习之核心包e1071 - 数据分析

R语言有很多包可以做机器学习(Machine Learning)的任务。机器学习的任务主要有有监督的学习方式和无监督的学习方式。

有监督学习:在正确结果指导下的学习方式,若是正确结果是定性的,属于分类问题;若正确结果是定量的,属于回归问题。

无监督学习:在没有正确结果指导下的学习方式,例如:聚类分析、降维处理等

有很多R包可以做机器学习,本文介绍RForML之核心包:e1071

7c45f267f5fcf5083c3fa7873815ef3e.gif

一、 e1071包简介

e1071包实现了机器学习里面的SVM(支持向量机)算法,NB(朴素贝叶斯)算法、模糊聚类算法、装袋聚类算法等。

二、e1071包安装和加载

e1071包是R的扩展包,需要先安装,再加载,才能使用这个包里面函数做机器学习任务。

安装和加载e1071包的代码

if(!suppressWarnings(require(e1071)))

{

install.packages('e1071')

require(e1071)

}

三、e1071包做机器学习

e1071包做预测,即分类和回归。

1、分类问题

利用SVM算法对UCI的glass数据进行分类

SVM算法

7c45f267f5fcf5083c3fa7873815ef3e.gif

R代码

##第一步:载入mlbench的Glass数据集

if(!suppressWarnings(require(mlbench)))

{

install.packages('mlbench')

require(mlbench)

}

data(Glass, package="mlbench")

##第二步:数据集划分:训练集和测试集

index 

testindex 

testset 

trainset 

##第三步:构建SVM模型

svm.model 

##第四步:SVM模型应用到测试数据集

svm.pred 

##第五步:模型结果评估

##1混淆矩阵

table(pred = svm.pred, true = testset[,10])

##2计算Accuracy和Kappa值

classAgreement(table(pred = svm.pred, true = testset[,10]))

2、回归问题

回归算法

7c45f267f5fcf5083c3fa7873815ef3e.gif

R代码

##第一步:载入mlbench的Ozone数据集

if(!suppressWarnings(require(mlbench)))

{

install.packages('mlbench')

require(mlbench)

}

data(Ozone, package="mlbench")

View(Ozone)

##第二步:数据集划分,训练集和测试集7:3

index 

testindex 

trainset 

dim(trainset)

testset 

dim(testset)

##第三步:创建SVM模型

svm.model 

##第四步:利用SVM 模型预测目标变量的值

svm.pred 

##第五步:计算MSE(Mean Squared Error)

crossprod(svm.pred - testset[,3]) / length(testindex)

参考资料

作者:JackWang

个人介绍:专注于从数据中学习,努力发掘数据之洞见,积极利用数据之价值。

你可能感兴趣的:(1071svm函数,r语言)