用
神经网络预测逻辑函数 (简洁易懂)
1.
install.packages("neuralnet") # 安装
library(neuralnet)
2.
# 构造简单数据:y ~ x1 + x2
set.seed(2001)
n <- 100
x1 <- runif(n, 0, 1)
x2 <- runif(n, 0, 1)
y <- ifelse(x1 + x2 > 1, 1, 0) # 分类目标
df <- data.frame(x1, x2, y)
head(df)
3.
# 公式写法:输出变量 ~ 输入变量
nn <- neuralnet(y ~ x1 + x2,
data = df,
hidden = c(3), # 1 层 3 个隐藏节点
linear.output = FALSE) # 分类任务设为 FALSE
4.
plot(nn)
5.
# 预测
pred <- compute(nn, df[, c("x1", "x2")])$net.result
pred_class <- ifelse(pred > 0.5, 1, 0)
table(True = df$y, Predicted = pred_class)
如需批量上传资料发帖,请点击上方的批量上传发帖按钮