为啥在 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 中逆变换不起作用?的主要内容,如果未能解决你的问题,请参考以下文章