0
필자는 열 1의 한 피처의 데이터 세트와 열 0에 추가 된 벡터에 모델을 맞추려고합니다. 시도해도 상관 없이 곡선이 데이터에 잘 맞지 않습니다.선형 회귀 모델 적합하지 않음
다음은 코드입니다.
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
col = ['id','ri','na','mg','al','si','k','ca','ba','fe','glass_type']
data = pd.read_csv('glass.data', names=col, index_col='id')
x = np.array(data)[:, 0]
x = x.reshape(np.size(x), 1)
y = np.array(data)[:, 3]
y = y.reshape(np.size(y), 1)
# initialising
m = np.size(x)
# appending ones vector in x
one = np.ones([m, 1], dtype=float)
x1 = np.append(one, x, axis=1)
# weight matrix
theta = np.zeros([2, 1])
i_list = []
j_l = []
error = np.zeros([m, 1])
# gradient descent
for i in range(3500):
h = x1.dot(theta)
error = h - y
theta = theta - (0.0001/m) * np.sum(x1.T.dot(error)) + (1.5/m) * np.sum(np.sum((theta[:, 1:2])**2))
i_list.append(i)
j = (1/(2*m)) * np.sum((h-y)**2)
j_l.append(j)
# plotting
plt.subplot(1, 2, 1)
plt.plot(x, y, '.r')
plt.plot(x, x1.dot(theta), '-b')
plt.subplot(1,2, 2)
plt.plot(i_list, j_l, '-g')
plt.show()
This how the data fits (image) 나에게 그것을 개선 할 수있는 방법을 제안 해주십시오. 고마워요 :)
. 그것은 거의 상관 관계가없는 것으로 보이며 센터의 해당 지점 주변에 집중됩니다. 입력하는 매개 변수 또는 회귀 모델을 변경해보십시오. – Primusa
@primusa 나는 scikit을 사용하여 데이터에 익숙해졌으며 매우 잘 맞았다. – quantumbiker