我说错了,是按最后一行 :y_hat1(x,y) 把他的所以数据按normalize中的最后一行反归一. normalize(23,2)最后一行是目标, 型如: y_hat1 = FNormalizeMultUseData(y_hat1, normalize[-1])
时间: 2024-03-29 20:36:39 浏览: 88
好的,那么这段代码的作用是将 y_hat1 中的所有数据按照 normalize 中的最后一行进行反归一操作,其中 normalize 是一个形状为 (23, 2) 的数组,最后一行是目标行。具体的实现过程是使用 FNormalizeMultUseData 函数,该函数接受两个参数,第一个参数是要进行反归一操作的数组 y_hat1,第二个参数是反归一所需的归一化参数,即 normalize 中的最后一行。经过这个操作后,y_hat1 中的数据就被还原成了原始的数据。
相关问题
y_hat1(x,y) 把他的所以数据按normalize中的最后一列反归一. normalize(23,2)最后一列是目标列, 型如: y_hat1 = FNormalizeMultUseData(y_hat1, normalize[-1])
这段代码的作用是将 y_hat1 中的所有数据按照 normalize 中的最后一列进行反归一操作,其中 normalize 是一个形状为 (23, 2) 的数组,最后一列是目标列。具体的实现过程是使用 FNormalizeMultUseData 函数,该函数接受两个参数,第一个参数是要进行反归一操作的数组 y_hat1,第二个参数是反归一所需的归一化参数,即 normalize 中的最后一列。经过这个操作后,y_hat1 中的数据就被还原成了原始的数据。
上面代码没有实现,y_hat1(x,y) 把他的所以数据按normalize中的最后一列反归一. normalize(23,2)最后一列是目标列,
非常抱歉,我理解有误。如果您想要实现将`y_hat1(x, y)`函数返回的数据按照`normalize`中的最后一列进行反归一化,可以将函数修改为如下形式:
```
def y_hat1(x, y):
data = np.concatenate((x, y), axis=1)
data = FNormalizeMultUseData(data, normalize)
x = data[:, :-1]
y = data[:, -1:]
model = LinearRegression().fit(x, y)
y_hat = model.predict(x)
# 反归一化
y_hat = y_hat * (normalize[-1, 1] - normalize[-1, 0]) + normalize[-1, 0]
y = y * (normalize[-1, 1] - normalize[-1, 0]) + normalize[-1, 0]
return y_hat, y
```
这里新增了反归一化的实现。在`y_hat1`函数中,先使用`FNormalizeMultUseData`函数对数据进行归一化处理。然后使用线性回归模型对归一化后的数据进行拟合,并得到预测值`y_hat`。最后,将`y_hat`和原始的`y`数据按照`normalize`中的最后一列进行反归一化处理,得到反归一化后的预测值和原始值,一并返回即可。
阅读全文