我现在正在做线性回归分析。输入变量是Size。输出变量是Price。我将这组数据存储在二维数组中。我知道使用NumPy很容易进行分析,但我的教授告诉我只用循环来执行迭代。 Formula of interation is shown as the picture in the hyperlink。因此,我决定下面的代码来执行计算:简单线性回归使用for循环只能用于Python
#Structure of array (Stored in float), with structure like this [Room, Price]
array = [[4.0, 399.9], [5.0, 329.9], [6.0, 369.0]]
#Set initial value
theta_price = 0
theta_room = 0
stepsize = 0.01
item = 3
#Perform iterations
for looping in range(0, 50): #Loop 50 times
for j in array[0]: #Call the value stored in array[0]
for k in array[1]: #Call the value stored in array[1]
theta_price_1 = theta_price - stepsize * (1/item) * (sum((theta_price + theta_room * int(j) - int(k)))#Perform iterations of theta 0
theta_room_1 = theta_room - stepsize * (1/item) * (sum((theta_price + t + theta_room * int(j) - int(k))*int(j)))#Perform iterations of theta 1
#Bring the new theta value to the next loop
theta_price = theta_price_1
theta_room = theta_room_1
print(theta_price,theta_room)#Print the result for every loop
上面的代码,错误消息在线路10没有起作用的是:
'int' object is not iterable
但是如果删除的总和函数,它的工作原理计算结果不正确。因此,我知道它的sum函数和数组有一些问题,但我不知道如何解决它?
在每次迭代中,'sum'应该应用于所有'x'和'y','array [0]'和'arrary [1]',但不是其中的一个。 – zsrkmyn