大佬教程收集整理的这篇文章主要介绍了sklearn.preprocessing.MinMaxScalar 中“inverse_transform”函数的奇怪行为,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 sklearn.preprocessing 中使用 MinMaxScalar 函数来规范化我的一些变量(数组)的属性,以便在模型创建和训练之后在模型(线性回归)中使用它
我用 x_test(splited usind Train_test_split)
测试了我的模型并将结果存储在一些 variable(say preDicted)
中,为了评估目的,我想用原始数据集评估我的预测,因为我使用了“@H_941_3@minMaxScalar.inverse_transform”函数,该函数有效好吧,当我的代码按以下顺序排列时,
x_Train,x_test,y_Train,y_test=Train_test_split(x,y,test_size=0.25,Train_size=0.75,random_state=27)
sc=MinMaxScaler(feature_range=(0,1))
x_Train=sc.fit_transform(x_Train)
x_test=sc.fit_transform(x_Train)
y_Train=y_Train.reshape(-1,1)
y_Train=sc.fit_transform(y_Train)
当我像下面的代码一样更改顺序时,它会引发我的错误 具有形状 (379,1) 的可广播输出操作数与 广播形状 (379,13))
x_Train,1))
x_Train=sc.fit_transform(x_Train)
y_Train=y_Train.reshape(-1,1)
y_Train=sc.fit_transform(y_Train)
x_test=sc.fit_transform(x_Train)
please compare the two photos for better understanding of my query
从链接的打印屏幕图中可以看出,您使用 same @H_941_3@minMaxScaler 来fit 和 transform 火车并测试 x 数据,以及训练 y 数据(这是没有意义的)。
正确的流程是
fit_transform()
还会变换(缩放)x_Train
。sc = MinMaxScaler(feature_range=(0,1))
x_Train = sc.fit_transform(x_Train)
fit
在这里;只需缩放/转换即可。x_test = sc.transform(x_test)
# Option A: Do not scale y-data
# (do nothing)
# Option B: Scale y-data
sc_y = MinMaxScaler(feature_range=(0,1))
y_Train = sc_y.fit_transform(y_Train)
lr
) 后,您可以使用缩放后的 x_test
和模型进行预测:# Option A:
preDicted = lr.preDict(x_test)
# Option B:
y_test_scaled = lr.preDict(x_test)
preDicted = sc_y.inverse_transform(y_test_scaled)
以上是大佬教程为你收集整理的sklearn.preprocessing.MinMaxScalar 中“inverse_transform”函数的奇怪行为全部内容,希望文章能够帮你解决sklearn.preprocessing.MinMaxScalar 中“inverse_transform”函数的奇怪行为所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。