- 회귀분석 정의
- 각각의 데이터에 대한 잔차(예측값 - 실제값)제곱합이 최소가 되는 추세선(표준회귀선)을 만들고 이를 통해 독립변수가 종속변수에 얼마나 영향을 주는지 인과관계를 분석한다.
- 독립변수와 종속변수 용어
- 독립변수 : x, feature
- 종속변수 : y, label, class
- 머신러닝 학습 시, 독립변수와 종속변수 차원
- 독립변수 차원 : 2차원 Matrix
- 종속변수 차원 : 벡터 or Matrix
- 회귀분석 특징
1) 회귀분석 조건 = 독립변수(연속형) + 종속변수(연속형)
2) 독립변수와 종속변수는 상관관계가 존재해야 하며, 인과관계가 성립해야 한다.
- 회귀분석 선행 조건
- 상관관계 만족 : 상관계수로 확인
- 인과관계 만족 : 분석가가 확인 -> p-value를 통해 유의수준을 넘지 않을 때, 인과관계가 있다고 판단할 수 있다.
- LinearRegression
- lr = LinearRegression() : 모델 생성
- lr_fit = lr.fit() : 모델 학습
- lr_fit.predict(2차원 Matrix 값) : 모델 예측
- lr_fit.coef_ : 선형회귀모델의 기울기
- lr_fit.intercept_ : 선형회귀모델의 편향
- 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]