선형회귀 (Linear Regression) 는 통계학에서 다른 두 데이터 값 X, Y 에 대한 상관 관계를 모델링 하는 회귀분석 방법
둘의 상관관계를 모델링하여 유사도 비교, 두 데이터의 관계를 정량화 하는데에 사용할 수 있음
" y = ax + b "
-> a, b 를 찾아내는것 !
선형 회귀에 대한 기본적 테스트 코드는 다음과 같다
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.datasets import load_diabetes
from sklearn import linear_model
x = np.random.rand(20,1) #표준 정규 분포 난수 메트릭스를 생성
y = np.random.rand(20,1) #표준 정규 분포 난수 메트릭스를 생성
print(x)
print(f'===========')
print(y)
#create model
model = linear_model.LinearRegression()
model.fit(x,y)
score = model.score(x,y)
print(f' model 결정 계수 : {score}')
plt.scatter(x, y, color="black")
plt.plot(x, model.predict(x), color="blue", linewidth=3)
plt.grid(True)
plt.xticks(())
plt.yticks(())
plt.show()
출력 결과
램덤으로 뿌려준 x,y 값에 대한 학습 결과이다.
x 값 np.random.rand(20,1) 을 처리하면 20개의 표준 정규 분포 난수 메트릭스를 생성한다.
y 값 또한 x 값과 유사한 난수 메트릭스가 생성된다
따라서 이를 예측하는 회귀 결과는 가로 방향으로 나오게 된다.
score 함수를 통해 상관 계수를 확인할수있다. 난수로 x,y 를해서 0.09 ~ 정도로 나온다
참고자료
https://ko.wikipedia.org/wiki/%EC%84%A0%ED%98%95_%ED%9A%8C%EA%B7%80
https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html
728x90
'ML > 머신러닝 기초' 카테고리의 다른 글
선형회귀 - 주식 유사성 비교 - part1 (0) | 2023.06.18 |
---|