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