前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R分类算法-神经网络算法

R分类算法-神经网络算法

作者头像
Erin
发布2018-01-09 11:01:46
1.3K0
发布2018-01-09 11:01:46
举报
文章被收录于专栏:大数据风控大数据风控

神经网络(Artifical Neural Network)

神经网络(人工神经网络),是一种模仿生物网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型或计算模型。 现代神经网络,是一种非线性的数据建模工具,常用来对输入和输出间复杂的关系进行建模。用来探索数据的未知模式。

这里写图片描述
这里写图片描述

神经网络用到的包”nnet” nnet(formula,data,size,decay,maxit,linout,trace)

  • formula 建模表达式
  • data 训练数据
  • size 隐藏层的数量,一般3-5层
  • decay 模型的精度(防止拟合过度)
  • maxit 最大回归次数(防止拟合过度)
  • linout 是否使用S型函数处理输出,一般设置为TRUE
  • trace 是否输出训练过程的日记,一般设置为FALSE

代码实现:

代码语言:javascript
复制
library(nnet) 
#数据清洗
data <- read.csv("customers.csv")
for(colName in names(data)) {
  data <- data[data[, colName]!='NULL', ]
}

write.csv(data, file="data.csv", row.names=FALSE, quote=FALSE)
data <- read.csv("data.csv")

data <- data[, colnames(data)!='CustomerID']
#设置虚拟变量
mmFormula <- ~ .;
modelData <- model.matrix(mmFormula, data)
data <- as.data.frame(modelData[, -1])
names(data)

total <- nrow(data)
index <- sample(1:total, total*0.7)

data.train <- data[index, ]
data.test <- data[-index, ]

formula <- Home.OwnershipRent ~ .;
data.train.nnet = nnet(
  formula = formula, 
  data = data.train,
  size = 3,
  decay = 0.1, 
  linout = T, 
  trace = F
)

data.test.predict <- predict(
  data.train.nnet, 
  newdata = data.test
)

data.test.predict <- ifelse(data.test.predict>0.5, "Rent", "Own")

table(data.test$Home.Ownership, data.test.predict)
 data.test.predict
    Own Rent
  0 530   78
  1  90  228
prop.table(table(data.test$Home.Ownership, data.test.predict), 1)
data.test.predict
          Own      Rent
  0 0.8717105 0.1282895
  1 0.2830189 0.7169811
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年07月24日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 神经网络(Artifical Neural Network)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档