当前位置:网站首页>R语言书籍学习03 《深入浅出R语言数据分析》-第十二章 支持向量机 第十三章 神经网络

R语言书籍学习03 《深入浅出R语言数据分析》-第十二章 支持向量机 第十三章 神经网络

2022-06-11 21:39:00 深竹清风

1 支持向量机

1.1 概述

支持向量机(Surpport Vector Machine, SVM) 是机器学习中一种有监督的算法,可以用于解决分类和回归问题。支持向量机是将数据映射成空间中的点,这个映射要形成一个足够宽的间隔,将数据区分开来。

关于支持向量机,一定要理解超平面的概念,另外就是核技巧。

1.2 代码实现

书中的数据很好,在此一并引用(melbench包中的Glass数据集,其中包括6种玻璃材质的化学元素含量)

library(mlbench)
data(Glass)

smp.size = floor(0.8*nrow(Glass)) 
set.seed(1)                     
train.ind = sample(seq_len(nrow(Glass)), smp.size)
train = Glass[train.ind, ] # 80%的训练集
test = Glass[-train.ind, ] # 20%的测试集



library(e1071)
model = svm(formula = Type ~ .,data = train)
summary(model)

使用caret包中的confusionMatrix()函数计算指标。对于e1071参数上,cost参数决定支持向量机的软边界,用于惩罚被分错的样本,epsilon参数主要影响SVR,创造一个容忍区间,容忍区间越大,则越多的数据会被忽视掉。gamma是与核函数有关的参数,主要是polynomial, radial asis 以及sigmoid。

2 神经网络

2.1 概述

在机器学习和认知科学中,人工神经网络是受生物学启发的统计学模型,用于估计或近似函数。

包括输入、隐藏和输出三个层次。

神经元是信息处理的基本单位,会接收输入,产生输出。神经网络的输出通过激活函数用于神经元输入的加权和来产生输出,不同激活函数有不同的功能。在R语言中有nnet\RSNNS\neuralnet等时线神经网络的包。

2.2 R语言实现

使用neuralnet构建神经网络模型。

n <- names(shuttleTrain)
form <- as.formula(paste("use~", paste(n[!n %in% "use"], collapse = "+")))
fit <- neuralnet(form, 
                 data = shuttleTrain,
                 err.fct = "ce",
                 linear.output = FALSE
)  

使用scorecard包中的perf_eva()函数绘制ROC和KS曲线。

3 其他篇章

第十四章为文本挖掘,涉及分词、情感分析以及LDA等内容。

第十五章为社交网络分析,包括社群发现方法等。

第十六章介绍H20及其学习平台。

第十七章 R语言爬虫。

不作为本次学习的主要内容。

全书完

 

原网站

版权声明
本文为[深竹清风]所创,转载请带上原文链接,感谢
https://happyroy.blog.csdn.net/article/details/125231784