我有以下一组数据:
km,price
240000,3650
139800,3800
150500,4400
185530,4450
176000,5250
114800,5350
166800,5800
89000,5990
144500,5999
84000,6200
82029,6390
63060,6390
74000,6600
97500,6800
67000,6800
76025,6900
48235,6900
93000,6990
60949,7490
65674,7555
54000,7990
68500,7990
22899,7990
61789,8290在对它们进行规范化之后,我将执行一个渐变下降,它给我提供了以下thetas:
θ0 = 0.9362124793084768
θ1 = -0.9953762249792935如果我提供一个标准化的里程数,我可以正确地预测价格,然后对预测的价格进行去normalized,即:
Asked price for a mileage of 50000km:
normalized mileage: 0.12483129971764294
normalized price: (mx + c) = 0.8119583714362707
real price: 7417.486843464296我想要的是将我的thetas恢复到它们的非规范化值,但是无论我尝试了哪种方程,我都无法做到。是否有办法这样做?
发布于 2019-11-24 09:24:29
像往常一样,我需要问一个关于堆叠溢出的问题,然后我才能自己解决这个问题。
它只是一个需要求解的两个变量方程,正如您在这里看到的(请原谅手写的):https://ibb.co/178qWcQ。
下面是完成计算的python代码:
x0, x1 = self.training_set[0][0], self.training_set[1][0]
x0n, x1n = self.normalized_training_set[0][0], self.normalized_training_set[1][0]
y0n, y1n = self.hypothesis(x0n), self.hypothesis(x1n)
p_diff = self.max_price - self.min_price
theta0 = (x1 / (x1 - x0)) * (y0n * p_diff + self.min_price - (x0 / x1 * (y1n * p_diff + self.min_price)))
y0 = self.training_set[0][1]
theta1 = (y0 - theta0) / x0
print(theta0, theta1) //RESULT: 8481.172796984529 -0.020129886654102203https://stackoverflow.com/questions/59015958
复制相似问题