微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – scikit learn的fit_transform是否也会改变我的原始数据帧?

我正在使用scikit learning的StandardScaler()并注意到在应用变换(xtrain)或fit_transform(xtrain)后,它也会改变我的xtrain数据帧.这应该发生吗?如何避免StandardScaler更改我的数据帧? (我尝试过使用copy = False)

xtrain.describe()    #everything ok here
scalar = StandardScaler()
xtrain2 = scalar.fit_transform(xtrain)   

在这个阶段,我希望xtrain没有改变,而xtrain2是xtrain的缩放版本.但是当我在2个数据帧上运行describe()时,我发现它们都是相同的,并且都已经缩放.这是为什么?

我这样做时会遇到同样的问题:

scalekey = scalar.fit(xtrain)
xtrain2 = scalekey.transform(xtrain)

解决方法:

您可以复制并传递此信息,以便不修改您的df:

xtrain2 = xtrain.copy()
scalar.fit_transform(xtrain2) 

docs声明StandardScaler的认参数是copy = True所以它不应该修改你的df.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐