R中的神经网络包出现大错误

2024-05-05

我正在尝试弄清楚如何使神经网络包发挥作用。我用我创建的数据及其结果(大约 50 行数据和三列,第四列是我想要的结果,它是通过简单的数学执行(如对其他三列求和)得出的)进行了一些测试,到目前为止一切顺利。然后我决定将这个包应用到真实数据上。我从这里下载了 mpg 数据集http://vincentarelbundock.github.io/Rdatasets/datasets.html http://vincentarelbundock.github.io/Rdatasets/datasets.html

我正在运行以下代码:

net<- neuralnet(cty~displ+year+cyl+hwy,
                datain, hidden=3)

即使我有 3 个隐藏层,或者 8 个或 18 个隐藏层,错误也是相同的,并且包处理数据的时间相对于此数据量(234 行)来说相对较小:

        Error Reached Threshold Steps
1 2110.173077    0.006277805853    54

对此有什么好的建议吗?


我猜这是一个规模问题,您可以对其进行标准化或缩放。 之间存在差异scaling and normalizing,它会影响你的结果,值得一个单独的问题:

标准化输入

norm.fun = function(x){ 
  (x - min(x))/(max(x) - min(x)) 
}

require(ggplot2) # load mpg dataset
require(neuralnet)

data = mpg[, c('cty', 'displ', 'year', 'cyl', 'hwy')]
data.norm = apply(data, 2, norm.fun)

net = neuralnet(cty ~ displ + year + cyl + hwy, data.norm, hidden = 2)

然后你可以对数据进行非规范化

# restore data 
y.net = min(data[, 'cty']) + net$net.result[[1]] * range(data[, 'cty'])
plot(data[, 'cty'], col = 'red')
points(y.net)

规模投入

data.scaled = scale(data)
net = neuralnet(cty ~ displ + year + cyl + hwy, data.scaled, hidden = 2)

# restore data 
y.sd = sd(data[, 'cty'])
y.mean = mean(data[, 'cty'])

y.net = net$net.result[[1]] * y.sd + y.mean
plot(data[, 'cty'], col = 'red')
points(y.net)

您还可以尝试nnet包,速度非常快:

require(nnet)

data2 = mpg
data2$year = scale(data2$year)
fit = nnet(cty ~ displ + year + cyl + hwy, size = 10, data = data2, linout = TRUE)
plot(mpg$cty)
points(fit$fitted.values, col = 'red')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R中的神经网络包出现大错误 的相关文章

  • 使用 writeLines 将变量写入文件

    我发现此链接对于理解如何将行写入文件非常有帮助 将文本行写入 R 中的文件 https stackoverflow com questions 2470248 write lines of text to a file in r 不幸的是
  • 导出绘图变量显示空白图像

    我正在使用 JRI 进行 java 和 R 集成 请找到下面的脚本 String path C Users hrpatel Desktop CSVs DataNVOCT csv rengine eval library tseries re
  • 词云中的空格

    我目前将 wordle 用于词云的许多艺术用途 我认为 R 的词云可能具有更好的控制能力 1 如何在词云中保持单词大写 解决了 2 如何将两个单词作为一个块保留在词云中 wordle 使用 运算符来完成此操作 R 的词云仅按原样打印 例如
  • 混合 SOM(带 MLP)

    有人可以提供一些有关如何正确地将自组织映射与多层感知器结合起来的信息吗 我最近读了一些关于这种技术的文章 与常规 MLP 相比 它在预测任务中表现得更好 因此 我想使用 SOM 作为前端 通过对输入数据进行聚类来降维 并将结果传递到 MLP
  • x[floor(d)] + x[ceiling(d)] 中的错误:二元运算符的非数字参数

    我试图绘制病毒载量和试验组的简单箱线图 但不断收到此错误 x floor d x ceiling d 中的错误 二元运算符的非数字参数 dataset PatientID trial arm viral load 1 club 19 2 c
  • R 连接到主机时出错

    我已经安装了 R 3 0 2 和包KEGGREST 在使用它的命令时 我收到以下错误 函数错误 类型 消息 asError TRUE 无法连接到 主持人 使用 internet2 选项后 我可以很好地从互联网安装软件包 该选项使用来自 In
  • 将数据帧单列中的值向上移动

    使用这样的示例数据 example data frame x c 1 2 3 4 5 6 7 8 y c 1 2 3 4 5 6 7 8 z c 1 2 3 4 5 6 7 8 看起来像这样 x y z 1 1 1 1 2 2 2 2 3
  • 在 jupyter 笔记本中内联显示 R ggplots

    我正在尝试运行这里找到的一个简单示例 https www datacamp com community blog jupyter notebook r gs OczVCjA https www datacamp com community
  • 删除 R 数据框中所有列名称的前两个字符

    有没有办法从数据框中的所有列名中按位置删除字符串 例如 如果我有如下列名称 ab sales1 kj sales2 lm sales3 pk sales100 10 34 64 288 我希望我的输出列名称类似于 sales1 sales2
  • 为什么平均百分比误差(mape)非常高?

    我已获得代码掌握机器学习 https machinelearningmastery com time series prediction lstm recurrent neural networks python keras 我修改了mod
  • 如何将第一行更改为R中的标题?

    我有下表 X 5 X 6 X 7 X 8 X 9 X 10 X 11 X 12 X 13 17 Zip CuCurrent PaCurrent PoCurrent Contact Ext Fax email Status 18 74136
  • 我可以在 data.table 连接中访问“j”中重复的列名称吗? [复制]

    这个问题在这里已经有答案了 如果我尝试连接两个具有相同列名的 data tables 那么 1附加到其中一个名称 但我似乎无法访问该名称j的一部分DT 表达 Example DT1 data table name letters value
  • Databricks:如何从 R Dataframe 切换到 Pandas Dataframe(同一笔记本中的 R 到 python)

    我正在 Databricks 笔记本中编写 R 代码 该代码在 R 中执行多项操作 清理数据帧后 我想使用 python 在 python 单元中调用它 因此使用 python 代码继续对数据帧进行操作 因此 我想在 python 块内将我
  • 当隐含 ID 列时,如何合并 csv 文件中的多个数据框?

    我想将一堆数据框合并在一起 因为如果您只处理一个数据框 则许多操作似乎会更容易 但如果我错了 请纠正我 目前我有一个像这样的数据框 ID var1 var2 A 2 2 B 4 5 Z 3 2 每个 ID 位于单行上 并带有多个单个测量值
  • 为什么R中的转置函数将数字转换为字符?

    我在 Excel 中构建了一个简单的矩阵 其中包含一些字符值和一些数值 Excel 中设置的数据的屏幕截图 https i stack imgur com UpQ1I png 我使用 openxlsx 包将其读入 R 如下所示 librar
  • 错误消息:fn(x, ...) 中的错误:已过时的 VtV 不是正定的

    我正在尝试使用 lmer 函数创建一个最小足够模型 我的模型已配对 尺寸 尝试 状态 随机因素 as logical Mated as numeric Size as factor Attempts as factor Status 这些都
  • 检查远程错误时出错 (val):5 个节点产生错误:未找到对象

    我尝试使用并行处理 parLapply 进行 10 倍交叉验证并估计联合模型的模型性能 我试图找出为什么我收到错误消息 checkForRemoteErrors val 中的错误 五个节点产生错误 未找到对象 Week 代码如下 Valid
  • 如何从 R 中的嵌套 json 数据中提取数据

    我需要能够从这个包含许多 json 条目的文件中提取这些字段 sender Hostname mem used p cpu user p load load 5 cat tmp txt senderDateTimeStamp 2016 04
  • R 使用 dplyr 将列移动到最后

    对于 data frame 来说n列 我希望能够从任何列移动列1 n 1 位置 成为第 n 列 即非最后一列成为最后一列 我也想使用dplyr 我想这样做而不是简单地键入所有列的名称 例如 data lt data frame a 1 5
  • OpenBUGS:伯努利分布中缺失值

    我正在尝试通过 R R2OpenBUGS 使用 OpenBUGS 将观察 时间 建模为随机变量 如果所有观察时间都可用 没有 NA 则一切正常 但如果我将其中一个时间设置为 NA 则什么也不会发生 我使用 WinBUGS 测试了相同的代码

随机推荐