具有特征缩放的线性回归
Linear Regression With Feature Scaling
我有一个关于线性回归中的特征缩放的一般性问题。
我有一个包含两年数据的数据集。特定列第一年的数据价值与第二年的完全不同。我假设可能有不同的属性与计算第一年的变量和第二年的变量相关。
无论如何,这是数据集的样子。我将显示每年的前 6 行:
Date Col1
2015-01-01 1500
2015-01-02 1432
2015-01-03 1234
2015-01-04 1324
2015-01-05 1532
2015-01-06 1424
.
.
.
2016-01-01 35
2016-01-02 31
2016-01-03 29
2016-01-04 19
2016-01-05 22
2016-01-06 32
当我想预测这个数据集时,显然它会预测结果为负,但实际上数据只是以某种方式重新缩放。
如果我这样应用特征缩放,我该如何恢复到我的原始数据集来进行预测?
normalize <- function(x){
return((x-min(x)) / (max(x)-min(x)))
}
scaled_data <-
df %>%
group_by(Date %>%
mutate(NORMALIZED = normalize(Col1))
当然可以。尽管您自己提供了答案,但也可以将其放入函数中。
这个要给出预测值和原始向量
backtransform <- function(value, x) { value * (max(x) - min(x)) + min(x) }
或者如果您计算并保留最小值和最大值,则
backtransform2 <- function(value, min, max) { value * (max - min) + min }
我有一个关于线性回归中的特征缩放的一般性问题。
我有一个包含两年数据的数据集。特定列第一年的数据价值与第二年的完全不同。我假设可能有不同的属性与计算第一年的变量和第二年的变量相关。
无论如何,这是数据集的样子。我将显示每年的前 6 行:
Date Col1
2015-01-01 1500
2015-01-02 1432
2015-01-03 1234
2015-01-04 1324
2015-01-05 1532
2015-01-06 1424
.
.
.
2016-01-01 35
2016-01-02 31
2016-01-03 29
2016-01-04 19
2016-01-05 22
2016-01-06 32
当我想预测这个数据集时,显然它会预测结果为负,但实际上数据只是以某种方式重新缩放。
如果我这样应用特征缩放,我该如何恢复到我的原始数据集来进行预测?
normalize <- function(x){
return((x-min(x)) / (max(x)-min(x)))
}
scaled_data <-
df %>%
group_by(Date %>%
mutate(NORMALIZED = normalize(Col1))
当然可以。尽管您自己提供了答案,但也可以将其放入函数中。
这个要给出预测值和原始向量
backtransform <- function(value, x) { value * (max(x) - min(x)) + min(x) }
或者如果您计算并保留最小值和最大值,则
backtransform2 <- function(value, min, max) { value * (max - min) + min }