【问题标题】:Deep Learning: How to scale predicted data with skLearn - MinMaxScaler()深度学习:如何使用 skLearn 缩放预测数据 - MinMaxScaler()
【发布时间】:2019-10-04 06:37:00
【问题描述】:

我正在创建一个神经网络来对音乐进行降噪。

模型的输入是一个从 0 缩放到 1 的数组。这是使用 sklearn MinMaxScaler 实现的。数据的原始范围是从-1到1。模型的输出也是一个从0到1缩放的数组。

但是,在预测信息时,我无法将数据缩放回 -1 到 1。

我的代码类似于:

data = load(data_path)
scaler = MinMaxScaler(feature_range = (0,1))
data = data.reshape(-1,1)
data = scaler.fit_transform(data)

model = load_model(model_path)
predicted_data = model.predict(data)

predicted_data = scaler.inverse_transform(predicted_data)

但是我收到了错误:

This MinMaxScaler instance is not fitted yet. Call 'fit' with appropriate arguments before using this method.

然而,数据已经被拟合了,我不想再次拟合它。

为什么我会收到此错误? MinMaxScaler 不应该仍然能够对未拟合的数据进行 inverse_transform 吗?

关于这个错误有什么建议吗?

【问题讨论】:

    标签: python keras scikit-learn deep-learning


    【解决方案1】:

    错误说明了一切,您需要分别调用fittransform 方法,而不仅仅是fit_transform

    data = load(data_path)
    data = data.reshape(-1, 1)
    scaler = MinMaxScaler(feature_range = (0,1)).fit(data)
    data = scaler.transform(data)
    
    model = load_model(model_path)
    predicted_data = model.predict(data)
    
    predicted_data = scaler.inverse_transform(predicted_data)
    

    【讨论】:

      猜你喜欢
      • 2018-09-16
      • 1970-01-01
      • 2019-09-23
      • 1970-01-01
      • 1970-01-01
      • 2017-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多