神经网络

作者

[编辑] 郑虎;

[审核] .

注记

Hiplot 网站

本页面为 Hiplot Neural Network 插件的源码版本教程,您也可以使用 Hiplot 网站实现无代码绘图,更多信息请查看以下链接:

https://hiplot.cn/basic/neural-network?lang=zh_cn

环境配置

  • 系统: Cross-platform (Linux/MacOS/Windows)

  • 编程语言: R

  • 依赖包: data.table; jsonlite; NeuralNetTools; nnet

# 安装包
if (!requireNamespace("data.table", quietly = TRUE)) {
  install.packages("data.table")
}
if (!requireNamespace("jsonlite", quietly = TRUE)) {
  install.packages("jsonlite")
}
if (!requireNamespace("NeuralNetTools", quietly = TRUE)) {
  install.packages("NeuralNetTools")
}
if (!requireNamespace("nnet", quietly = TRUE)) {
  install.packages("nnet")
}

# 加载包
library(data.table)
library(jsonlite)
library(NeuralNetTools)
library(nnet)

数据准备

# 加载数据
data <- data.table::fread(jsonlite::read_json("https://hiplot.cn/ui/basic/neural-network/data.json")$exampleData$textarea[[1]])
data <- as.data.frame(data)

# 查看数据
head(data)
         Y1        Y2          X1         X2         X3
1 0.7646258 0.5494452 -0.89691455 -1.8923489  0.6408445
2 0.2383994 0.4605024  0.18484918  1.2928042 -1.6013778
3 0.3800247 0.2527468  1.58784533 -0.6182543 -0.7778154
4 0.3545279 0.6319730 -1.13037567  1.0409383 -1.6473925
5 0.3667356 0.4684437 -0.08025176  1.1758795  0.1542662
6 0.5509560 0.4439474  0.13242028 -1.5018321 -1.1756313

可视化

# 神经网络
mod <- nnet(Y1 ~ X1 + X2 + X3, data = neuraldat, size = 10,
            maxint = 100, decay = 0)
# weights:  51
initial  value 19.044098 
iter  10 value 0.263627
iter  20 value 0.185842
iter  30 value 0.151438
iter  40 value 0.139204
iter  50 value 0.131595
iter  60 value 0.125574
iter  70 value 0.096450
iter  80 value 0.027228
iter  90 value 0.014154
iter 100 value 0.009485
final  value 0.009485 
stopped after 100 iterations
# plot
par(mar = numeric(4))
plotnet(mod)
图 1: 神经网络