1071svm函数 r语言_R语言机器学习之核心包e1071 - 数据分析
R語(yǔ)言有很多包可以做機(jī)器學(xué)習(xí)(Machine Learning)的任務(wù)。機(jī)器學(xué)習(xí)的任務(wù)主要有有監(jiān)督的學(xué)習(xí)方式和無(wú)監(jiān)督的學(xué)習(xí)方式。
有監(jiān)督學(xué)習(xí):在正確結(jié)果指導(dǎo)下的學(xué)習(xí)方式,若是正確結(jié)果是定性的,屬于分類(lèi)問(wèn)題;若正確結(jié)果是定量的,屬于回歸問(wèn)題。
無(wú)監(jiān)督學(xué)習(xí):在沒(méi)有正確結(jié)果指導(dǎo)下的學(xué)習(xí)方式,例如:聚類(lèi)分析、降維處理等
有很多R包可以做機(jī)器學(xué)習(xí),本文介紹RForML之核心包:e1071
一、 e1071包簡(jiǎn)介
e1071包實(shí)現(xiàn)了機(jī)器學(xué)習(xí)里面的SVM(支持向量機(jī))算法,NB(樸素貝葉斯)算法、模糊聚類(lèi)算法、裝袋聚類(lèi)算法等。
二、e1071包安裝和加載
e1071包是R的擴(kuò)展包,需要先安裝,再加載,才能使用這個(gè)包里面函數(shù)做機(jī)器學(xué)習(xí)任務(wù)。
安裝和加載e1071包的代碼
if(!suppressWarnings(require(e1071)))
{
install.packages('e1071')
require(e1071)
}
三、e1071包做機(jī)器學(xué)習(xí)
e1071包做預(yù)測(cè),即分類(lèi)和回歸。
1、分類(lèi)問(wèn)題
利用SVM算法對(duì)UCI的glass數(shù)據(jù)進(jìn)行分類(lèi)
SVM算法
R代碼
##第一步:載入mlbench的Glass數(shù)據(jù)集
if(!suppressWarnings(require(mlbench)))
{
install.packages('mlbench')
require(mlbench)
}
data(Glass,?package="mlbench")
##第二步:數(shù)據(jù)集劃分:訓(xùn)練集和測(cè)試集
index?
testindex?
testset?
trainset?
##第三步:構(gòu)建SVM模型
svm.model?
##第四步:SVM模型應(yīng)用到測(cè)試數(shù)據(jù)集
svm.pred?
##第五步:模型結(jié)果評(píng)估
##1混淆矩陣
table(pred?=?svm.pred,?true?=?testset[,10])
##2計(jì)算Accuracy和Kappa值
classAgreement(table(pred?=?svm.pred,?true?=?testset[,10]))
2、回歸問(wèn)題
回歸算法
R代碼
##第一步:載入mlbench的Ozone數(shù)據(jù)集
if(!suppressWarnings(require(mlbench)))
{
install.packages('mlbench')
require(mlbench)
}
data(Ozone,?package="mlbench")
View(Ozone)
##第二步:數(shù)據(jù)集劃分,訓(xùn)練集和測(cè)試集7:3
index?
testindex?
trainset?
dim(trainset)
testset?
dim(testset)
##第三步:創(chuàng)建SVM模型
svm.model?
##第四步:利用SVM?模型預(yù)測(cè)目標(biāo)變量的值
svm.pred?
##第五步:計(jì)算MSE(Mean?Squared?Error)
crossprod(svm.pred?-?testset[,3])?/?length(testindex)
參考資料
作者:JackWang
個(gè)人介紹:專(zhuān)注于從數(shù)據(jù)中學(xué)習(xí),努力發(fā)掘數(shù)據(jù)之洞見(jiàn),積極利用數(shù)據(jù)之價(jià)值。
總結(jié)
以上是生活随笔為你收集整理的1071svm函数 r语言_R语言机器学习之核心包e1071 - 数据分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 阵列信号处理仿真一——延时求和滤波器
- 下一篇: java起步