将 Keras 模型的输出重新缩放回原始比例

2024-03-01

我是神经网络的新手(只是免责声明)。

我有一个基于 8 个特征预测混凝土强度的回归问题。我首先做的是使用最小-最大标准化重新调整数据:

# Normalize data between 0 and 1
from sklearn.preprocessing import MinMaxScaler

min_max = MinMaxScaler()
dataframe2 = pd.DataFrame(min_max.fit_transform(dataframe), columns = dataframe.columns)

然后将数据帧转换为numpy数组并将其拆分为X_train,y_train,X_test,y_test。 现在这是网络本身的 Keras 代码:

from keras.models import Sequential
from keras.layers import Dense, Activation

#Set the params of the Neural Network
batch_size = 64
num_of_epochs = 40
hidden_layer_size = 256

model = Sequential()
model.add(Dense(hidden_layer_size, input_shape=(8, )))
model.add(Activation('relu'))
model.add(Dense(hidden_layer_size))
model.add(Activation('relu'))
model.add(Dense(hidden_layer_size))
model.add(Activation('relu'))
model.add(Dense(1))
model.add(Activation('linear'))


model.compile(loss='mean_squared_error', # using the mean squared error function
              optimizer='adam', # using the Adam optimiser
              metrics=['mae', 'mse']) # reporting the accuracy with mean absolute error and mean squared error

model.fit(X_train, y_train, # Train the model using the training set...
          batch_size=batch_size, epochs=num_of_epochs,
          verbose=0, validation_split=0.1)

# All predictions in one array
predictions = model.predict(X_test)

问题:

  1. 预测array 将具有缩放格式的所有值(0 到 1 之间),但显然我需要预测为其真实值。如何将这些输出重新调整回实际值?

  2. 最小-最大标准化还是 Z 分数标准化更适合回归问题?这个“批量归一化”怎么样?

谢谢你,


根据doc http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.MinMaxScaler.html, the MinMaxScaler类有一个inverse_transform执行您想要的操作的方法:

inverse_transform(X):根据feature_range撤销X的缩放。

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

将 Keras 模型的输出重新缩放回原始比例 的相关文章

  • numpy 沿第一个轴添加

    我想通过简单地沿第一个轴执行相同的加法来添加两个具有不同维度的数组 非矢量化解决方案 x np array 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 shape 4 3 2 y np a
  • 使用基于 ConvLSTM2D 的 Keras 模型从较低分辨率图像估计高分辨率图像

    我正在尝试使用以下内容ConvLSTM2D从低分辨率图像序列估计高分辨率图像序列的架构 import numpy as np scipy ndimage matplotlib pyplot as plt from keras models
  • Keras AttributeError:“顺序”对象没有属性“predict_classes”

    我试图按照本指南找到模型性能指标 F1 分数 准确性 召回率 https machinelearningmastery com how to calculate precision recall f1 and more for deep l
  • Keras 中的 Tensorflow 自定义损失函数 - 张量循环

    我正在尝试在 Keras 中编写自定义损失函数 如下所示 Keras 中的自定义损失函数 https stackoverflow com questions 43818584 custom loss function in keras 我的
  • 如何开始使用“scipy”

    我之前安装过 Python 3 4 2 和 3 5 2 在这两种情况下 我都可以在 Idle 中涉足编写和测试代码 这给了我两个窗口 一个用于代码的 运行 窗口 一个用于交互和测试的 Shell 窗口 输出 抱歉 不确定术语是否正确 现在我
  • 验证准确性非常好,但预测很差

    我正在构建一个 keras 模型来对猫和狗进行分类 我使用具有瓶颈特征的迁移学习和 vgg 模型的微调 现在我得到了非常好的验证准确率 例如 97 但是当我进行预测时 我得到了关于分类报告和混淆矩阵的非常糟糕的结果 可能是什么问题呢 这是微
  • 单个函数的 Numpy 均值和方差?

    使用 Numpy Python 是否可以从单个函数调用返回均值 AND 方差 我知道我可以单独做它们 但是计算样本标准差需要平均值 因此 如果我使用单独的函数来获取均值和方差 则会增加不必要的开销 我尝试在这里查看 numpy 文档 htt
  • TensorFlow - 为什么这个 softmax 回归没有学到任何东西?

    我的目标是用 TensorFlow 做大事 但我正在尝试从小事做起 我有一些小的灰度方块 有一点噪音 我想根据它们的颜色对它们进行分类 例如 3 个类别 黑色 灰色 白色 我编写了一个小 Python 类来生成正方形和 1 hot 向量 并
  • 是否可以使用 Google BERT 来计算两个文本文档之间的相似度?

    是否可以使用 Google BERT 来计算两个文本文档之间的相似度 据我了解 BERT 的输入应该是有限大小的句子 一些作品使用 BERT 来计算句子的相似度 例如 https github com AndriyMulyar semant
  • 使用 Keras 的 ImageDataGenerator 预测单个图像

    我对深度学习很陌生 所以请原谅我这个可能很简单的问题 我训练了一个网络来分类positive and negative 为了简化图像生成和拟合过程 我使用了ImageDataGenerator和fit generator函数 如下图 imp
  • 在提供给 sklearn 管道中的分类器之前获取所选特征的名称和数量

    我在用sel SelectFromModel ExtraTreesClassifier 10 threshold mean 选择我的数据集中最重要的特征 然后我想将这些选定的特征提供给我的 keras 分类器 但是我的基于 keras 的神
  • 在Python中为什么ifrank:比ifrank!= 0更快:

    当我改变的时候 for i in range 0 100 rank ranks i if rank 0 pass to for i in range 0 100 rank ranks i if rank pass 我发现第二个代码效率更高
  • 使用 NumPy 数组执行分组平均值和标准差

    我有一组数据 X Y 我的自变量值 X 不是唯一的 因此有多个重复值 我想输出一个新数组 其中包含 X unique 它是 X 的唯一值的列表 Y mean 与 X unique 对应的所有 Y 值的平均值 Y std X unique对应
  • 如何转置 3D np 数组中的每个元素

    给定一个 3D 数组 a 我想对其第一个索引中的每个元素调用 np transpose 例如 给定数组 array 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3
  • 在 Chaquopy 中转换数组和张量

    我该怎么做呢 我看到你的帖子说你可以将 java 对象传递给 Python 方法 但这不适用于 numpy 数组和 TensorFlow 张量 以下以及其各种变体是我尝试过的 但没有成功 double anchors new double
  • 如何检查两个数据集的匹配列之间的相关性?

    如果我们有数据集 import pandas as pd a pd DataFrame A 34 12 78 84 26 B 54 87 35 25 82 C 56 78 0 14 13 D 0 23 72 56 14 E 78 12 31
  • python 正弦和余弦精度

    如何提高Python正弦和余弦精度 例如 我想使用以下代码 只需计算随机复向量 x 的 y cos acos x import numpy as np N 100000 x np zeros N 1j np zeros N for k in
  • 在 keras 中使用自定义张量流操作

    我在张量流中有一个脚本 其中包含自定义张量流操作 我想将代码移植到 keras 但我不确定如何在 keras 代码中调用自定义操作 我想在 keras 中使用tensorflow 所以到目前为止我发现的教程描述了与我想要的相反的内容 htt
  • 输入维度/分辨率会影响卷积神经网络的性能吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在构建一个图像分类器 其中有 66 个类和大约 50000 个图像 我的电脑内存为 12 GB 我的内存不足以训练图像 我的问题是
  • 向量化 numpy bincount

    我有一个 2d numpy 数组 A我要申请np bincount 到矩阵的每一列A生成另一个二维数组B由原始矩阵每列的 bincounts 组成A 我的问题是 np bincount 是一个采用一维数组的函数 它不是像这样的数组方法B A

随机推荐