这是一个问题贴

问题是这样子的,通过计算后我得到了y=ax+b,中的a=0.97637,b=0.057565063

x年份归一化后 [0,0.25,0.5,0.75,1 ]分别对应2013、2014、2015、2016、2017年
y房价归一化后[0. 、0.36363637、 0.54545456 、0.8181818 、 1. ]分别对应
12000、14000、15000、16500、17500

那么,我该如何用这个公式把预测的2020房价表现出来?如何把房价还原出来?

这是个好问题。首先,容易看出2020对应的归一化的值为1.75,可据此计算出y=0.97637*1.75+0.05756=1.76621.然后再还原(0对应12000,1对应17500,可以看出斜率是5500,那么1.76621对应12000+1.76621*5500=21714.155)。之后的版本中可能会对此进行注解。

5500是用17500—12000得到的么?
还有最后为什么用12000+1.76221*5500?

是,更准确地说是 \frac{17500-12000}{1-0}
就,一元一次函数 y=kx+b ,k是斜率(即5500),b是截距(即x=0时y的值,这里归一化之后的房价为0时原始房价为12000,所以截距是12000)

还是不明白,您说的这个K和我求出的a是一个东西吗?

不是。其实就是,数字x=0对应12000,数字x=1对应17500,已知增长是线性的(x每增长1,对应的数字增加5500),求数字x=1.76621对应的数字。

明白了 非常感谢

不好意思还有一个问题,我在tensorflow里实现这一个过程的时候,比如说预测2020年的时候,如何实现把这个年份归一化?或者我随便输入一个年份它就可以自动归一化?我用了一个比较笨的办法就是用1除4*3再加上1的办法

其实道理差不多。数字x=2013对应0,数字x=2017对应1,已知增长是线性的(x每增长1,对应的数字增加0.25),那么这个关系即一次函数 x' = 0.25 * (x - 2013) 。也就是说,你随便拿一个年份,减去2013再乘0.25就可以了。

已经实现,非常感谢

:+1: 学到了