为啥在 Python 中逆变换不起作用?

Posted

技术标签:

【中文标题】为啥在 Python 中逆变换不起作用?【英文标题】:why inverse transform out of work in Python?为什么在 Python 中逆变换不起作用? 【发布时间】:2021-01-01 17:57:29 【问题描述】:

我正在练习 SVR,模块 inverse_transform 已退出工作,没有引发任何错误。

from sklearn.preprocessing import StandardScaler
sc1=StandardScaler()
sc2=StandardScaler()
x=sc1.fit_transform(x)
y=sc2.fit_transform(y)

print(x)

输出是:

[[-1.5666989 ]
[-1.21854359]
[-0.87038828]
[-0.52223297]
[-0.17407766]
[ 0.17407766]
[ 0.52223297]
[ 0.87038828]
[ 1.21854359]
[ 1.5666989 ]]
sc1.inverse_transform(x)

输出是:

array([[-1.5666989 ],
   [-1.21854359],
    [-0.87038828],
    [-0.52223297],
    [-0.17407766],
    [ 0.17407766],
    [ 0.52223297],
    [ 0.87038828],
    [ 1.21854359],
    [ 1.5666989 ]])

请帮忙。

【问题讨论】:

【参考方案1】:

我认为您的代码有问题,因为 StandardScaler 工作正常。

请看下面的测试:

from sklearn.preprocessing import StandardScaler
import numpy as np

x = np.arange(20).reshape(-1, 1)
sc1=StandardScaler()
x_transform = sc1.fit_transform(x)
assert np.equal(sc1.inverse_transform(x_transform), x).all() == True

【讨论】:

以上是关于为啥在 Python 中逆变换不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

3D(7 参数)Helmert 变换在 Python 中不起作用

Python 函数退出不起作用 - 为啥? [复制]

任何/所有python短路:为啥以下不起作用?

为啥这个 python 闭包不起作用?

PYTHON:简单的浮点转换不起作用,为啥?

为啥 ./configure 在 python setup.py 中不起作用?