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