In [168]:
import numpy as np
csv = np.genfromtxt('train_data.csv', delimiter = ",")
size_data = len(csv[1:,:])
var0 = np.ones(size_data).reshape(1, size_data)
var = np.concatenate((var0, np.transpose(csv[1:, 0:4])))
target = csv[1:, 4]
In [169]:
theta = np.zeros(5)
In [170]:
def dif_cost(n):
dJ = 0
alpha = 0.5
h = np.dot(theta, var)
dJ = np.sum(np.dot((h - target), var[n, :]))
dJ = alpha * dJ / size_data
return dJ
In [171]:
new_th = np.zeros(5)
n_iter = 1000
for i in range(0, n_iter):
for j in range(0, 5):
new_th[j] = theta[j] - dif_cost(j)
theta = new_th
In [172]:
print(theta)
In [173]:
csv2 = np.genfromtxt('test_input.csv', delimiter = ",")
size_inp = len(csv2[1:,:])
inp_var0 = np.ones(size_inp).reshape(1, size_inp)
inp_var = np.concatenate((inp_var0, np.transpose(csv2[1:, 0:4])))
In [174]:
out_h = np.dot(theta, inp_var)
In [175]:
np.savetxt("test_output2.csv", out_h, delimiter=",")
In [ ]: