-
머신 러닝 만들기 - 선형 회귀기계학습 2021. 9. 24. 16:46
50cm 농어의 이웃
50cm의 농어가 들어오면 그 무게가 어느 정도가 되는 지 예측하는 것을 만든는 것이다.
# 50cm 농어의 이웃 distances, indexes = knr.kneighbors([[100]]) #훈련 세트의 산점도를 그린다. plt.scatter(train_input, train_target) plt.scatter(train_input[indexes], train_target[indexes], marker='D') plt.scatter(50,1033, marker='^') plt.show()
어떤 직선이 가장 잘 표현 했는지 알아야 한다.
print(lr.score(train_input, train_target)) 0.9398463339976039 print(lr.score(test_input, test_target)) 0.8247503123313558
어느 정도의 유사성은 가진다. 하지만, 더 정확하게 하는 방법이 있다. 바로 다항 회귀를 사용하는 것이다.
다항 회귀
train_poly = np.column_stack((train_input ** 2, train_input)) test_poly = np.column_stack((test_input ** 2, test_input))
다항 그래픽의 식
무게 = 1.01... * 길이^2 - 21.6 * 길이 + 116.05
point = np.arange(15,50) plt.scatter(train_input, train_target) plt.plot(point, 1.01*point**2 - 21.6*point + 116.05) plt.scatter([50], [1574], marker='^') plt.show() print(lr.score(train_poly, train_target)) 0.9706807451768623 print(lr.score(test_poly, test_target)) 0.9775935108325122
선형 회귀 보다는 좀더 정확한 값이 나온다.
'기계학습' 카테고리의 다른 글
서포트 벡터 머신 (0) 2021.10.15 분류 알고리즘 (0) 2021.10.01 머신러닝 만들기 - K최근접 이웃회귀 (0) 2021.09.24 회귀 (0) 2021.09.24 머신 러닝 만들기 - 데이터 전처리 (0) 2021.09.17