R语言进行神经网络算法——RSNNS

本文档介绍了如何利用R语言的RSNNS包进行神经网络学习,包括官方文档资源、安装加载步骤,以及通过iris数据集的DEMO详细解读。通过decodeClassLabels函数进行数据转换,splitForTrainingAndTest拆分训练测试集,normTrainingAndTestSet进行数据标准化,并使用mlp创建和训练多层感知器模型。最终展示了模型的结构信息和预测结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 官方资料

很重要,写得也很清楚,其实下文就是文档的学习笔记
https://cran.r-project.org/web/packages/RSNNS/RSNNS.pdf

2. 安装及加载

install.packages(rsnns)
install.packages(rcpp)
library(Rcpp)
library(RSNNS)

3. Demo(iris)解读及学习

文档里表示,一些高度集成的接口(high-level api)已经很强大了,用这些接口可以基本实现大部分的应用啦。我们提供了: mlp, dlvq, rbf, rbfDDA, elman, jordan, som, art1, art2, artmap, or
assoz这么多网络形式供你们选择使用呢。
学习rsnns的快速方法可以通过查看原生的demo开始,通过调用函数demo()可以查看包里的函数。demo(iris)是以iris数据做的一个示例,来对这个示例进行一下解读。

set.seed(2)
data(iris)

#shuffle the vector 打乱原始数据,并拆分成评价集和结果集
df <- iris[sample(nrow(iris)),]
dfValues <- df[,1:4]
dfTargets <- decodeClassLabels(df[,5])
#dfTargets <- decodeClassLabels(df[,5], valTrue=0.9, valFalse=0.1)

decodeClassLabels这个函数会将结果集变成一个二元矩阵,就是 c(a, b, c, b) 这样一个输入,会变成这样一个矩阵

row.num a b c
1 1 0 0
2 0 1 0
3 0 0 1
4 0 1 0
df <- splitForTrainingAndTest(dfValues, dfTargets, ratio=0.15)

splitForTrainingAndTest将按比例拆成训练集和测试集,返回list,含四个元素分别就是训练的评价集(inputsTrain)、训练的结果集(targetTrain)、测试的评价集(inputsTest)和测试的结果集(targetTest)

#normalize data
df <- normTrainingAndTestSet(df)

normTrainingAndTestSet,标准化数据,把数据化到[0,1]之间

model <- mlp(df$inputsTrain, 
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值