ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 머신 러닝 만들기 - 선형 회귀
    기계학습 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

    댓글

Designed by Tistory.