본문 바로가기
ML/머신러닝 기초

선형회귀 - simple / basic

by sniffer-k 2023. 6. 7.

선형회귀 (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