Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Numpy:反变换不同大小的数组_Python_Numpy - Fatal编程技术网

Python Numpy:反变换不同大小的数组

Python Numpy:反变换不同大小的数组,python,numpy,Python,Numpy,我正试图掌握规范化数据的诀窍,对其进行一些处理,然后将其更改回来。当进行逆_变换时,我是否必须始终以与进行拟合_变换时完全相同的形状进行传递?下面的代码将给出一个“形状(3,1)与广播形状(3,3)不匹配的不可广播输出操作数” 您不必传递具有完全相同形状的数据集,但列数必须与原始数据集匹配,因为每一行被解释为记录,每一列被解释为特征。从技术上讲,您不能错过测试数据集的功能。例如,对行进行切片仍然有效: new_dataset = dataset[:1,:] trainPredict2 = sca

我正试图掌握规范化数据的诀窍,对其进行一些处理,然后将其更改回来。当进行逆_变换时,我是否必须始终以与进行拟合_变换时完全相同的形状进行传递?下面的代码将给出一个“形状(3,1)与广播形状(3,3)不匹配的不可广播输出操作数”


您不必传递具有完全相同形状的数据集,但列数必须与原始数据集匹配,因为每一行被解释为记录,每一列被解释为特征。从技术上讲,您不能错过测试数据集的功能。例如,对行进行切片仍然有效:

new_dataset = dataset[:1,:]
trainPredict2 = scaler.inverse_transform(new_dataset)
这将返回原始数据集的第一行:

trainPredict2
# array([[ 1.2345 ,  1.22   ,  1.26245]])

如果您真的想要反转一个或两个特征,可以通过反转最小-最大变换
x′:=(x)来计算−xmin)/(xmax−xmin)
公式:

scaler.data_range_[:1] * dataset[:,:1] + scaler.data_min_[:1]
# array([[ 1.2345],
#        [ 1.234 ],
#        [ 1.2345]])

这将返回原始数据集的第一列

所以如果我的数据只有一列,我就不能再求逆了?new_dataset只是一个示例,说明了我使用它后数据的外观。我试图做的是,在对数据集进行预测后,我得到一个仅在1列(预测)中的数组,其中当我进行fit_变换时,它位于多个列中。现在我想用反变换将预测转换回常规格式,但是我得到了不同的形状。为什么你需要对你的预测做反变换?缩放仅适用于功能。您的意思是您事先将比例变换应用于标签吗?如果是这样,您可能需要进行重塑
scaler.data_range_[:1] * dataset[:,:1] + scaler.data_min_[:1]
# array([[ 1.2345],
#        [ 1.234 ],
#        [ 1.2345]])