8.2 机器学习—神经网络

神经网络
激活函数:将神经元的净输入信号转换成单一的输出信号,以便进一 步在网络中传播。
网络拓扑:描述了模型中神经元的数量以及层数和它们连接的方式。
训练算法:指定如何设置连接权重,以便抑制或增加神经元在输入信 号中的比重。

concrete.R:判断强度是否合格

concrete <- read.csv("concrete.csv")
str(concrete)
#缩放/归一化,定义函数
normalize <- function(x){
  return ((x - min(x)) / (max(x) - min(x)))
}

concrete_norm <- as.data.frame(lapply(concrete, normalize))
summary(concrete_norm$strength)
summary(concrete$strength)
#取1-773行,所有列的数据,训练集
concrete_train <- concrete_norm[1:773,]
#测试集
concrete_test <- concrete_norm[774:1030,]
#neuralnet代表神经网络算法
concrete_model <- neuralnet (strength ~ cement + slag + ash + water + superplastic + coarseagg + fineagg + age, data=concrete_train)
#显示图像
plot(concrete_model)

#取到1-8列
concrete_test[1:8]
#模型和测试数据进行对比
model_results <- compute(concrete_model, concrete_test[1:8])
predicted_strength <- model_results$net.result
#计算相关系数
cor(predicted_strength, concrete_test$strength)

#hidden=5代表隐藏层5个节点
concrete_model2 <- neuralnet(strength ~ cement + slag + ash + water + superplastic + coarseagg + fineagg + age, data=concrete_train, hidden=5)
plot(concrete_model2)

model_results2 <- compute(concrete_model2, concrete_test[1:8])
predicted_strength2 <- model_results2$net.result
cor(predicted_strength2, concrete_test$strength)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值