使用 Keras 循环神经网络进行预测 - 准确度始终为 1.0

2024-03-31

TLDR:如何使用 Keras RNN 预测序列中的下一个值?


我有一个连续值列表。我想将它们输入 RNNpredict序列中的下一个值。

[ 0.43589744  0.44230769  0.49358974 ...,  0.71153846  0.70833333 0.69230769]

我使用 Keras 来执行此操作,并且可以获得损失不断减少的网络,但准确度始终为 1.0。这是错误的。y_tests != model.predict(x_tests).

Epoch 0
1517/1517 [==============================] - 0s - loss: 0.0726 - acc: 1.0000 - val_loss: 0.0636 - val_acc: 1.0000
Epoch 1
1517/1517 [==============================] - 0s - loss: 0.0720 - acc: 1.0000 - val_loss: 0.0629 - val_acc: 1.0000
...

这是我的网络。

model = Sequential()
model.add(SimpleRNN(1, 100))
model.add(Dense(100, 1, activation = "sigmoid"))
model.compile(loss="mean_squared_error", optimizer = "sgd")

我尝试过 SimpleRNN、GRU 和 LSTM,但没有成功。以下是数据的格式化方式。

# Current value
y_train = [[ 0.60576923] [ 0.64102564] [ 0.66025641] ..., [ 0.71153846] [ 0.70833333] [ 0.69230769]]

# Previous 10 values
x_train_10 = [
    [[ 0.65064103] [ 0.66346154] [ 0.66346154] ..., [ 0.72115385] [ 0.72435897] [ 0.71153846]] ...,
    [[ 0.66346154] [ 0.66346154] [ 0.67628205] ..., [ 0.72435897] [ 0.71153846] [ 0.70833333]]
]

# Previous value
x_train_1 = [[ 0.58333333] [ 0.60576923] [ 0.64102564] ...,  [ 0.72435897] [ 0.71153846] [ 0.70833333]]

# So here are the shapes...
y_train.shape    = (1895, 1)
x_train_10.shape = (1895, 10, 1)
x_train_1.shape  = (1895, 1)

中的每个元素x_train_10是前 10 个值的列表。我将其格式化为遵循 Keras 的文档,即循环层采用形状输入(nb_samples, timesteps, input_dim).

我也尝试过使用Embedding层没有运气。 (这可能是错误的使用方式 - 我只看到它用于分类而不是预测)。

model = Sequential()
model.add(Embedding(1, 30))
model.add(LSTM(30, 100))
...

pad_sequences也没有工作。

x_train_1 = sequence.pad_sequences(x_train_1, maxlen = None, dtype = "float32")

我想让 RNN 能够处理这个简单的数据/架构,这样我以后就可以用它来解决更复杂的问题。

谢谢 :)


我发布了一个Keras Github 上有类似问题 https://github.com/fchollet/keras/issues/724页面并得到了很好的答案。


lukedeoacc: 1.0000表示真实输出和预测输出都大于 0.5,反之亦然。相反,我应该看看损失,或者mse,以确定模型的准确性。这是因为我的网络是回归而不是分类器/聚类。

均方根误差是准确度的良好衡量标准。accuracy_percent = 1 - np.sqrt(mse)


fchollet(Keras 创建者)详细阐述道:“准确性对于回归问题根本不相关."

在做分类问题时,可以通过设置来使准确性相关class_mode to 'categorical' or 'binary' in model.comple(...)取决于目标(网络输出)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Keras 循环神经网络进行预测 - 准确度始终为 1.0 的相关文章

  • 有没有一种方法可以将python对象直接存储在mongoDB中而不需要序列化它们

    我在某处读到过 您可以使用 BSON 将 python 对象 更具体地说是字典 作为二进制文件存储在 MongoDB 中 但是现在我找不到任何与此相关的文档 有人知道具体如何做到这一点吗 没有办法在不序列化的情况下将对象存储在文件 数据库
  • 检测到通过 ChromeDriver 启动的 Chrome 浏览器

    我正在尝试在 python 中使用 selenium chromedriver 来访问 www mouser co uk 网站 然而 从第一次拍摄开始 它就被检测为机器人 有人对此有解释吗 此后我使用的代码 options Options
  • 如何在 Jupyter Notebook 中运行 Python 异步代码?

    我有一些 asyncio 代码在 Python 解释器 CPython 3 6 2 中运行良好 我现在想在具有 IPython 内核的 Jupyter 笔记本中运行它 我可以运行它 import asyncio asyncio get ev
  • TensorFlow:带有轴选项的 bincount

    在 TensorFlow 中 我可以使用 tf bincount 获取数组中每个元素的计数 x tf placeholder tf int32 None freq tf bincount x tf Session run freq feed
  • Pyqt-如何因另一个组合框数据而更改组合框数据?

    我有一个表 有 4 列 这 4 列中的两列是关于功能的 一个是特征 另一个是子特征 在每一列中 所有单元格都有组合框 我可以在这些单元格中打开txt 我想 当我选择电影院作为功能时 我只想看到子功能组合框中的电影名称 而不是我的 数据 中的
  • cv2.drawContours() - 取消填充字符内的圆圈(Python,OpenCV)

    根据 Silencer的建议 我使用了他发布的代码here https stackoverflow com questions 48244328 copy shape to blank canvas opencv python 482465
  • Pandas dataframe:每批行的操作

    我有一个熊猫数据框df我想计算每批行的一些统计信息 例如 假设我有一个batch size 200000 对于每批batch sizerows 我想要一列的唯一值的数量ID我的数据框 我怎样才能做这样的事情呢 这是我想要的一个例子 prin
  • “一旦获取切片就无法更新查询”。最佳实践?

    由于我的项目的性质 我发现自己不断地从查询集中取出切片 如下所示 Thread objects filter board requested board id order by updatedate 10 但这给我带来了实际对我选择的元素进
  • ImportError:运行 jupyter Notebook 时没有名为 IPython.paths 的模块?

    我通过以下方式安装了 jupyter usr local opt python bin python2 7 m pip install jupyter 这将安装 ipython 版本 4 1 2 但是 当我运行 jupyter Notebo
  • 小部件之间的自定义信号

    尝试将信号从一个 gtk EventBox 子级发送到另一个 在 init HeadMode 第 75 行 上出现错误 类型错误 未知信号名称 消息发送 why usr bin env python coding utf8 import p
  • Python中列表中两个连续元素的平均值

    我有一个偶数个浮点数的列表 2 34 3 45 4 56 1 23 2 34 7 89 我的任务是计算 1 和 2 个元素 3 和 4 5 和 6 等元素的平均值 在 Python 中执行此操作的快捷方法是什么 data 2 34 3 45
  • 更改 x 轴比例

    我使用 Matlab 创建了这个图 使用 matplotlib x 轴绘制大数字 例如 100000 200000 300000 我想要 1 2 3 和 10 5 之类的值来指示它实际上是 100000 200000 300000 有没有一
  • CNTK 抱怨 LSTM 中的动态轴

    我正在尝试在 CNTK 中实现 LSTM 使用 Python 来对序列进行分类 Input 特征是固定长度的数字序列 时间序列 标签是 one hot 值的向量 Network input input variable input dim
  • 揭秘sharedctypes性能

    在 python 中 可以在多个进程之间共享 ctypes 对象 然而我注意到分配这些对象似乎非常昂贵 考虑以下代码 from multiprocessing import sharedctypes as sct import ctypes
  • GradientTape 根据损失函数是否被 tf.function 修饰给出不同的梯度

    我发现计算的梯度取决于 tf function 装饰器的相互作用 如下所示 首先 我为二元分类创建一些合成数据 tf random set seed 42 np random seed 42 x tf random normal 2 1 y
  • `pyqt5'错误`元数据生成失败`

    我正在尝试安装pyqt5使用带有 M1 芯片和 Python 3 9 12 的 mac 操作系统 我怀疑M1芯片可能是原因 我收到一个错误metadata generation failed 最小工作示例 directly in the t
  • PIL - 需要抖动,但限制调色板会导致问题

    我是 Python 新手 正在尝试使用 PIL 来执行 Arduino 项目所需的解析任务 这个问题涉及到Image convert 方法以及调色板 抖动等选项 我有一些硬件能够一次仅显示 16 种颜色的图像 但它们可以指定为 RGB 三元
  • 从列表python的单个列表中删除子列表

    我已经经历过从列表列表中删除子列表 https stackoverflow com questions 47209786 removing sublists from a list of lists 但当我为我的数据集扩展它时 它不适用于我
  • 导入错误:无法导入名称“时间戳”

    我使用以下代码在 python 3 6 3 中成功安装了 ggplot conda install c conda forge ggplot 但是当我使用下面的代码将其导入笔记本时 出现错误 from ggplot import Impor
  • python 中的 after() 与 update()

    我是 python 新手 开始使用 tkinter 作为画布 到目前为止 我使用 update 来更新我的画布 但还有一个 after 方法 谁能给我解释一下这个函数 请举个例子 两者之间有什么区别 root after integer c

随机推荐

  • 使用 Bash 脚本进行日志轮换

    我有以下问题 我有一个应用程序 它不断地向 stderr 和 stdout 生成输出 该应用程序的输出被捕获在日志文件中 该应用程序被重定向为 gt log txt 我没有任何选项来为此生成适当的日志记录 现在 我有一个 cron 作业 它
  • 音频处理和删除音频的某些部分

    我是语音编码新手 现在我成功地在文件中录制麦克风 并将每 10 秒保存在一个文件中SaveRecordtoFile功能 这样做没有问题 现在我想从记录的数据中删除例如 2 秒 这样我的输出将是 8 秒而不是 10 秒 在randomTime
  • 如何获取当前运行的hadoop作业的名称?

    我需要获取当前正在运行的作业名称列表 但是hadoop job list给我一份 jobID 列表 有没有办法获取正在运行的作业的名称 有没有办法从 jobID 中获取作业名称 我不得不多次执行此操作 因此我想出了以下命令行 您可以将其放入
  • 如何从 Entity Framework 4.3 代码优先模型生成 DDL 脚本?

    我有一个正在尝试部署的项目 并且我正在使用廉价的主机来开始 作为托管包的一部分 我有一个 SQL Server 数据库 但我没有删除或创建权限 我只能使用他们为我创建的数据库 既然如此 我想获取 DDL 以便我可以手动运行它 我知道我可以从
  • 如何使用 JavaScript 函数式编程从对象列表中找到具有最低属性的对象?

    老方法 let min Number MAX VALUE for let item of food let current Problem manhattan distance player item if current gt min m
  • Webpacker/Typescript 无法解析 Rails 资产管道文件

    我正在尝试导入 Rails 资产管道中的文件 但由于某种原因 webpack 找不到它 这是我的 tsconfig json compilerOptions declaration false emitDecoratorMetadata t
  • 使用Spring Data JPA调用存储过程时如何传入数组

    我正在关注这个example https dzone com articles calling stored procedures from spring data jpa使用 Spring Data JPA 调用存储过程 这个想法是创建一
  • setNavigationItemSelectedListener 不工作

    My NavigationView onClick活动不起作用 以下是我一一尝试过的代码片段 但没有任何效果 实施NavigationView OnNavigationItemSelectedListener using OnClick M
  • Angular Ivy 在手动变更检测方面具体允许我们做什么?

    本文 https blog ninja squad com 2019 05 07 what is angular ivy 提到 不过 常春藤为未来开启了一些可能性 现在应该可以在没有 zone js 的情况下运行应用程序 并半手动处理更改检
  • 列表子列表优化

    问题是从给定列表中查找不包含大于指定上限数字的子列表总数right并且子列表的最大数量应该大于下限left假设我的清单是 x 2 0 11 3 0 子列表元素的上限是10下界是1那么我的子列表可以是 2 2 0 3 3 0 因为子列表始终是
  • Interlocked.Exchange 可空小数

    我想交换两个可为空的十进制值 如下所示 o2 Interlocked Exchange ref o1 o2 类型 十进制 必须是引用类型才能将其用作泛型类型或方法 System Threading Interlocked Exchange
  • 尝试在单独的实例中打开工作簿

    不确定我做得是否正确 请建议我 我正在尝试在新实例中打开一本工作簿 但有些地方效果不太好 下面是代码供您参考 我正在尝试在新实例中打开名为 Loginfrm 的表单 假设如果另一个工作簿已打开 则当前代码也会冻结该工作簿 理想情况下 这不应
  • 添加/删除程序中的 Wix 图标

    我正在使用 Wix 来创建我的安装程序 据官方称文档 http wixtoolset org documentation manual v3 howtos ui and localization configure arp appearan
  • 访问路径被拒绝 (Xamarin/Android)

    我运行的是 Windows 10 Visual Studio 2015 和 Xamarin 我对 Xamarin 相当陌生 只是为了设置地面水平 我最近更新后遇到了一个问题 我的应用程序在更新之前可以正常运行 我的所有文件都是只读的 更新之
  • 尝试使用 Jersey 创建 REt 服务

    我正在关注this http www vogella com articles REST article html first使用 Jersey 创建 REt 服务的教程 有时我无法完全理解本教程作者的意思 但这些是我到目前为止所遵循的步骤
  • lit-element 将数据从一个组件传递到另一个组件

    我目前正在学习如何使用 lit element v2 0 0 rc 2 我有两个组件 app js 和 list items js 在 app js 中 我从本地存储收集数据并将其存储在 this todoList 中 然后我在 list
  • Python 多处理性能

    这应该是我的第三个也是最后一个问题 涉及我尝试提高使用 python 进行的一些统计分析的性能 我的代码有 2 个版本 单核与多处理 我希望通过使用多个核心来获得性能 因为我希望我的代码能够解压 解压相当多的二进制字符串 遗憾的是我注意到使
  • 颜色分类库[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Status 我正在开发自己的图书馆 https stackoverflow com question
  • 响应式设计,网站在手机上不滚动

    我正在设计一个响应式网站 它在桌面上运行良好 但当我在手机中测试时 我无法滚动页面 所以我只能看到适合设备高度的内容 注意 我什至包含了元名称 viewport 内容 宽度 设备宽度 initial scale 1 0 请帮我 你问这个问题
  • 使用 Keras 循环神经网络进行预测 - 准确度始终为 1.0

    TLDR 如何使用 Keras RNN 预测序列中的下一个值 我有一个连续值列表 我想将它们输入 RNNpredict序列中的下一个值 0 43589744 0 44230769 0 49358974 0 71153846 0 708333