📊 회귀분석이란?


📌 회귀분석

  • 회귀분석 정의
    - 각각의 데이터에 대한 잔차(예측값 - 실제값)제곱합이 최소가 되는 추세선(표준회귀선)을 만들고 이를 통해 독립변수가 종속변수에 얼마나 영향을 주는지 인과관계를 분석한다.

  • 독립변수와 종속변수 용어
    - 독립변수 : x, feature
    - 종속변수 : y, label, class

  • 머신러닝 학습 시, 독립변수와 종속변수 차원
    - 독립변수 차원 : 2차원 Matrix
    - 종속변수 차원 : 벡터 or Matrix

  • 회귀분석 특징
    1) 회귀분석 조건 = 독립변수(연속형) + 종속변수(연속형)
    2) 독립변수와 종속변수는 상관관계가 존재해야 하며, 인과관계가 성립해야 한다.

  • 회귀분석 선행 조건
    - 상관관계 만족 : 상관계수로 확인
    - 인과관계 만족 : 분석가가 확인 -> p-value를 통해 유의수준을 넘지 않을 때, 인과관계가 있다고 판단할 수 있다.









📊 sklearn의 LinearRegression


📌 LinearRegression 클래스

  • LinearRegression
    - lr = LinearRegression() : 모델 생성
    - lr_fit = lr.fit() : 모델 학습
    - lr_fit.predict(2차원 Matrix 값) : 모델 예측
    - lr_fit.coef_ : 선형회귀모델의 기울기
    - lr_fit.intercept_ : 선형회귀모델의 편향


📌 LinearRegression 모델 학습 절차

  • 1. 데이터 준비
x1 = np.array([[ 0.75314283],[ 0.47298583],[ 0.2424395 ],[-1.70073563],[-0.68142588]])
y1 = [171.11363949, 144.66051111, 122.89174667, -60.58773354, 35.65805563]

  • 2. 모델 생성
lr = LinearRegression()

  • 3. 모델 학습
    - feature, label을 갖고 모댈 학습에 사용 -> 최소제곱법으로 기울기와 절편을 구해간다.
lr_fit = lr.fit(x1, y1)

  • 4. 실제값과 예측값 차이 확인
print(lr_fit.predict(x1))   # 예측값 확인
print(y1)                   # 실제값 확인
# [171.11363929 144.66051108 122.89174705 -60.58773351  35.65805544]
# [171.11363949, 144.66051111, 122.89174667, -60.58773354, 35.65805563]

  • 6. 실제 예측 적용
print(lr_fit.predict([[55]]))		# 2차원 Matrix로 지정해야 한다.
# [5293.23825997]


profile
데이터 사이언티스트를 목표로 하는 개발자

0개의 댓글