神经网络

作者

[编辑] 郑虎;

[审核] .

修改于

2026-06-14

🤖 AI Skill — Download the Bizard unified skill for your AI assistant ⬇️ Download Skill ZIP
注记

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)
sessioninfo::session_info("attached")
─ Session info ───────────────────────────────────────────────────────────────
 setting  value
 version  R version 4.6.0 (2026-04-24)
 os       Ubuntu 24.04.4 LTS
 system   x86_64, linux-gnu
 ui       X11
 language (EN)
 collate  C.UTF-8
 ctype    C.UTF-8
 tz       UTC
 date     2026-05-09
 pandoc   3.1.3 @ /usr/bin/ (via rmarkdown)
 quarto   1.9.37 @ /usr/local/bin/quarto

─ Packages ───────────────────────────────────────────────────────────────────
 package        * version date (UTC) lib source
 data.table     * 1.18.4  2026-05-06 [1] RSPM
 jsonlite       * 2.0.0   2025-03-27 [1] RSPM
 NeuralNetTools * 1.5.3   2022-01-06 [1] RSPM
 nnet           * 7.3-20  2025-01-01 [3] CRAN (R 4.6.0)

 [1] /home/runner/work/_temp/Library
 [2] /opt/R/4.6.0/lib/R/site-library
 [3] /opt/R/4.6.0/lib/R/library
 * ── Packages attached to the search path.

──────────────────────────────────────────────────────────────────────────────

数据准备

# 加载数据
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 63.403220 
iter  10 value 0.377687
iter  20 value 0.193568
iter  30 value 0.158115
iter  40 value 0.096673
iter  50 value 0.026012
iter  60 value 0.013831
iter  70 value 0.007158
iter  80 value 0.003657
iter  90 value 0.002989
iter 100 value 0.002517
final  value 0.002517 
stopped after 100 iterations
# plot
par(mar = numeric(4))
plotnet(mod)
图 1: 神经网络