자신의 메모: scikit-learn, matplotlib로 나타내는 선형 회귀

6401 단어 파이썬Jupyter
라이브러리 가져오기
from sklearn.linear_model import LinearRegression
import numpy as np
import matplotlib.pyplot as plt

: 그래프용 데이터 작성
X, y를 랜덤으로 20개씩 생성
X = np.random.rand(20)
y = np.random.rand(20)

X를 오름차순, sklearn에 전달하기 쉬운 형태로 리셰이프
X = np.sort(X).reshape(20,1)
X

내용은, 이런.
>>array([[0.00460232],
       [0.05499239],
       [0.07249879],
       [0.10357735],
       [0.12304941],
       [0.12399111],
       [0.21219358],
       [0.23241532],
       [0.2975664 ],
       [0.3241855 ],
       [0.33018194],
       [0.47777823],
       [0.51792399],
       [0.52408334],
       [0.69196947],
       [0.7926415 ],
       [0.79900541],
       [0.87883547],
       [0.9491404 ],
       [0.98766611]])

y도 오름차순
y = np.sort(y)
y
>>array([0.0042209 , 0.13057395, 0.16788022, 0.17403799, 0.25919865,
       0.3030241 , 0.35839353, 0.39294163, 0.44227869, 0.46863275,
       0.54436167, 0.55472105, 0.57756643, 0.60124576, 0.66758224,
       0.69719244, 0.73952565, 0.81040396, 0.86517258, 0.95263727])

그래프화
plt.scatter(X,y)



LinearRegression()에서 fit, 표시.
model = LinearRegression()
model.fit(X,y)
plt.plot(X, model.predict(X))
plt.scatter(X,y)



이런 느낌으로 표시할 수 있다.

좋은 웹페이지 즐겨찾기