【问题标题】:MATLAB mapminmax function in Python?Python中的MATLAB mapminmax函数?
【发布时间】:2018-08-15 23:32:51
【问题描述】:

总结:我对线性回归模型的数据进行了归一化,我想将归一化恢复为原始值:

我有以下函数可以在 MATLAB 中反转归一化数据:

Y_Pred_denorm=(mapminmax('reverse','Y_pred',params.Y))';

如何在 Python 中编写此代码?我做了一些阅读并想出了以下引发错误的内容:

from sklearn.preprocessing import MinMaxScaler

scaler = MinMaxScaler(feature_range=(60, 90))

Y_Pred_denorm = Y_Pred.reshape(-1, 1) 

new_Y = scaler.fit_transform(60, 90)

【问题讨论】:

    标签: python matlab scikit-learn regression


    【解决方案1】:

    我其实没看懂你的代码,但是你可以使用inverse_transform 方法来反向缩放。示例:

    from sklearn.preprocessing import MinMaxScaler
    
    X = [[100, -100], [25, 30], [50, 50]]
    scaler = MinMaxScaler(feature_range=(60, 90))
    X_transformed = scaler.fit_transform(X)
    print(X_transformed)
    X_retransformed = scaler.inverse_transform(X_transformed)
    print(X_retransformed)
    

    结果:

    [[90. 60.]
     [60. 86.]
     [70. 90.]]
    [[ 100. -100.]
     [  25.   30.]
     [  50.   50.]]
    

    编辑:如果是一维输入,过程类似。唯一的区别是相关方法的 scikit learn API 只接受二维数组,所以数组应该是 nx1 二维矩阵。

    from sklearn.preprocessing import MinMaxScaler
    import numpy as np
    
    X = [100, -100, 25, 30, 50, 50]
    X = np.array(X).reshape((-1, 1)) # This line is for converting X into nx1 2D matrix.
    
    scaler = MinMaxScaler(feature_range=(60, 90))
    X_transformed = scaler.fit_transform(X)
    print(X_transformed)
    X_retransformed = scaler.inverse_transform(X_transformed)
    print(X_retransformed)
    

    【讨论】:

    • 感谢您的回复,我不确定我是否在关注您为什么使用 2D 数组而不是 1D?当我将此应用于我的数据时,我收到:ValueError: Expected 2D array, got 1D array instead.
    • @shaucha 你是对的,我不知道为什么我假设你的数据矩阵是二维的。但是,transform 和 inverse_transform 方法需要二维数组。即使您的数据是一维数据,您也需要将数据转换为二维矩阵。我编辑了我的答案以涵盖一维数据矩阵。关键行是.reshape((-1, 1)),它将一维数组转换为 n x 1 矩阵。元组中的第二个数字显示没有列,-1 使 numpy 计算行本身的数量。
    • 出于这个确切原因,我在原始问题中已经有了相同的功能:Y_Pred_denorm = Y_Pred.reshape(-1, 1)
    猜你喜欢
    • 2015-06-19
    • 2012-07-15
    • 2014-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-04
    • 2017-07-01
    • 2021-04-22
    相关资源
    最近更新 更多