본문 바로가기
데이터 분석

LinearRegression

by JoinInNoetic 2023. 11. 17.

◆ 데이터 준비

 

◆ KNeighborsRegresssor의 한계

    ● 문제 : 50cm 물고기를 예측해보면 실제값이 1500이지만 예측값은 1033이 나옴(50이상 어떤 물고기도 1033으로나옴)

    ● 원인 : KNeighbors의 경우 가장 가까운 값으로 예측하는데 예측할 데이터가 훈련데이터의 범주에서 벗어난 값이고 가장 가까운 값이 말단값들이라 부정확한 결과가 나옴

 

◆ 선형 회귀

    ● 임포트

from sklearn.linear_model import LinearRegression

 

    ● 훈련

lr = LinearRegression()

lr.fit(train_input, train_target)

 

    ● 예측

lr.predict([[예측할값]])

 

    ● 기울기, 절편

lr.coef_    # 기울기

lr.intercept_    # 절편

 

    ● 선형식 & 산점도

        ※ 과소적합 - 회귀식 직선을 따라가는 결과가 나오므로

                           - 훈련셋점수가 더 높지만 훈련셋치고 

 

◆ 다항회귀

    ● 데이터 변환 -> 2차항 추가

[데이터**2, 데이터]

np.concatenate( [데이터**2, 데이터], axis=1)

np.column_stack((데이터**2, 데이터]))

 

    ● 훈련 & 예측

lr = LinearRegression()

lr.fit([데이터**2, 데이터], 종속변수)

lr.predict([[데이터**2, 데이터]])

 

    ● 2차방정식의 기울기, 절편, scatter

    ● 정확도 평가

'데이터 분석' 카테고리의 다른 글

Logistic_regression  (0) 2023.12.12
Feature_engineering  (0) 2023.12.12
Regressor(KNeighborsRegressor)  (0) 2023.11.16
KNeiborsClassifier  (0) 2023.11.16
판다스 데이터 전처리  (0) 2023.11.07