82 RSNNS包快速实现 RBF神经网络

简介: RSNNS包 RBF神经网络

1 RBF神经网络

在统计学章节里面,博主介绍了RBF神经网络的原理,通过把线性不可分的数据,通过径向基距离转化为线性可分数据,在使用径向基函数进行分类。
本章里面将使用R代码实现RBF网络

rm(list=ls())
install.packages("mlbench")
install.packages("RSNNS")
install.packages("mlbench")
library(mlbench)
library(RSNNS)
library(ROCR)

相关的包依赖
此次章节承接上一章节的代码
链接: link.

2 建立模型与预估

由于数据使用R自带的数据集,并进行过清洗转化,直接建模

#############################RBF neural network##################################
myrbf<- rbf(Sonar$inputsTrain, Sonar$targetsTrain, size=100, 
            maxit=1000,linOut=F)
0.5阈值估计,一般阈值根据业务设计

model predict

out<-predict(myrbf, Sonar$inputsTest)
out[out<0.5543928]=0
out[out>=0.5543928]=1

calculation accuracy

rate<-sum(out==Sonar$targetsTest)/length(Sonar$targetsTest)

![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/6c9d266ceda043038eca5103072e0b2c.png)

# 3 绘制ROC曲线
方法与上一章节一致,绘制ROC曲线,找出auc值

Prediction probability

tr_rbf<-predict(myrbf,Sonar$inputsTrain)
te_rbf<-predict(myrbf,Sonar$inputsTest)

draw ROC curve

tr_pred<-prediction(tr_rbf,Sonar$targetsTrain)
tr_perf<-performance(tr_pred,"tpr","fpr")
te_pred<-prediction(te_rbf,Sonar$targetsTest)
te_perf<-performance(te_pred,"tpr","fpr")

plot(tr_perf,col='green',main="ROC of Models")
plot(te_perf, col='black',lty=2,add=TRUE);
abline(0,1,lty=2,col='red')

tr_auc<-round(as.numeric(performance(tr_pred,'auc')@y.values),3)
tr_str<-paste("Train-AUC:",tr_auc,sep="")
legend(0.3,0.45,c(tr_str),2:8)

te_auc<-round(as.numeric(performance(te_pred,'auc')@y.values),3)
te_ste<-paste("Test-AUC:",te_auc,sep="")
legend(0.3,0.25,c(te_ste),2:8)


![4](https://ucc.alicdn.com/images/user-upload-01/260f7d1cfa7f4dd98febb66a83fa9ffd.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAVEhFIE9SREVS,size_20,color_FFFFFF,t_70,g_se,x_16)

# 4 发现最佳阈值

library(colorspace)
library(pROC)

modelroc=roc(Sonar$targetsTest,te_rbf,plot=T)

plot(modelroc,print.auc=T,auc.polygon=T,grid=c(0.1,0.2),grid.col=c("green","red"),max.auc.polygon=T,auc.polygon.col="skyblue",print.thres=T)

modelauc=auc(modelroc)
modelauc
rocbest=coords(modelroc,"best")

![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/1fddc251ef0f4bcc8227ca46ac5f9f7c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAVEhFIE9SREVS,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/41fff1d87bd3409db59a1481ed984ddc.png)
目录
相关文章
|
17天前
|
监控 网络协议 安全
|
3天前
|
存储 弹性计算 测试技术
阿里云服务器实例规格vCPU、内存、网络带宽、网络收发包PPS、连接数等性能指标详解
阿里云服务器ECS实例可以分为多种实例规格族。根据CPU、内存等配置,一种实例规格族又分为多种实例规格。而实例规格又包含vCPU、处理器、内存、vTPM、本地存储、网络带宽、网络收发包PPS、连接数、弹性网卡、云盘带宽、云盘IOPS等指标,本文为大家详细介绍实例规格的这些指标,以供大家了解和选择。
阿里云服务器实例规格vCPU、内存、网络带宽、网络收发包PPS、连接数等性能指标详解
|
3天前
|
网络协议 网络虚拟化
接收网络包的过程——从硬件网卡解析到IP
【9月更文挑战第18天】这段内容详细描述了网络包接收过程中机制。当网络包触发中断后,内核处理完这批网络包,会进入主动轮询模式,持续处理后续到来的包,直至处理间隙返回其他任务,从而减少中断次数,提高处理效率。此机制涉及网卡驱动初始化时注册轮询函数,通过软中断触发后续处理,并逐步深入内核网络协议栈,最终到达TCP层。整个接收流程分为多个层次,包括DMA技术存入Ring Buffer、中断通知CPU、软中断处理、以及进入内核网络协议栈等多个步骤。
|
23天前
|
存储 缓存 网络协议
网络丢包排查方法
网络丢包排查方法
|
1月前
|
内存技术
思科TAC专家分享的内嵌抓包法,真是网络大神必备技能啊!
思科TAC专家分享的内嵌抓包法,真是网络大神必备技能啊!
|
27天前
|
网络协议 Linux 网络安全
【Azure 应用服务】更便捷的方式抓取Azure App Service for Windows的网络包
【Azure 应用服务】更便捷的方式抓取Azure App Service for Windows的网络包
|
1月前
|
移动开发 网络协议 算法
(十)Netty进阶篇:漫谈网络粘包、半包问题、解码器与长连接、心跳机制实战
在前面关于《Netty入门篇》的文章中,咱们已经初步对Netty这个著名的网络框架有了认知,本章的目的则是承接上文,再对Netty中的一些进阶知识进行阐述,毕竟前面的内容中,仅阐述了一些Netty的核心组件,想要真正掌握Netty框架,对于它我们应该具备更为全面的认知。
|
28天前
|
Windows
【Azure 环境】在Windows环境中抓取网络包(netsh trace)后,如何转换为Wireshark格式以便进行分析
【Azure 环境】在Windows环境中抓取网络包(netsh trace)后,如何转换为Wireshark格式以便进行分析
|
1月前
|
网络协议 网络虚拟化
解析接收网络包的过程
【8月更文挑战第6天】IP层->TCP层->Socket层
|
3月前
|
网络协议 Java 程序员
TCP/IP协议栈是网络通信基础,Java的`java.net`包提供工具,使开发者能利用TCP/IP创建网络应用
【6月更文挑战第23天】 **TCP/IP协议栈是网络通信基础,它包含应用层(HTTP, FTP等)、传输层(TCP, UDP)、网络层(IP)、数据链路层(帧, MAC地址)和物理层(硬件信号)。Java的`java.net`包提供工具,使开发者能利用TCP/IP创建网络应用,如Socket和ServerSocket用于客户端和服务器通信。**
48 3

热门文章

最新文章