Это мой код для реализации линейной регрессии:
Но я хочу изменить последние 4 строки на вычитание массива (как показано в строке комментария) Я сталкиваюсь с этой ошибкой:
File "D:/Machine Learning/hw1/hw1-b.py", line 19, in <module>
gbase = np.matmul(data, cobase) # h(x)-y matrix
TypeError: Object arrays are not currently supported
Я с нетерпением жду ответа от вас
import csv
import numpy as np
from numpy import genfromtxt
my_data = genfromtxt('C:\Users\Naghme\Desktop\HW1-Data\Data\house2.csv', delimiter=',')
my_data = np.delete(my_data, (0), axis=0)
m=150
z0=0
z1=0
z2=0
z3=0
t=np.zeros((4,1))
a=0.000001
ones=np.ones((150,1))
data=np.append(ones,my_data, axis=1)
for i in range(1,10000):
cobase = np.append(t,np.array([-1]))
gbase = np.matmul(data, cobase) # h(x)-y matrix
# sigma
z0 = np.matmul(gbase.transpose(), np.ones((150, 1)))
z1 = np.matmul(gbase.transpose(), my_data[:, 0])
z2 = np.matmul(gbase.transpose(), my_data[:, 1])
z3 = np.matmul(gbase.transpose(), my_data[:, 2])
z = np.array([z0, z1, z2, z3])
#delta
d =np.array( (1.0 / m) * z)
#t= np.subtract(t,a*d)
t[0] = t[0] - a * d[0]
t[1] = t[1] - a * d[1]
t[2] = t[2] - a * d[2]
t[3] = t[3] - a * d[3]
С наилучшими пожеланиями