티스토리 뷰
import matplotlib.pyplot as plt
import numpy as np
from sklearn.linear_model import LinearRegression
def loss(x, y, beta_0, beta_1):
N = len(x)
'''
이전 실습에서 구현한 loss function을 여기에 붙여넣습니다.
'''
x = np.array(x)
y = np.array(y)
pred = beta_0 * x + beta_1
diff = (y- pred) **2
loss = np.sum(diff)
print(loss)
return loss
X = [8.70153760, 3.90825773, 1.89362433, 3.28730045, 7.39333004, 2.98984649, 2.25757240, 9.84450732, 9.94589513, 5.48321616]
Y = [5.64413093, 3.75876583, 3.87233310, 4.40990425, 6.43845020, 4.02827829, 2.26105955, 7.15768995, 6.29097441, 5.19692852]
print(X)
train_X = np.array(X).reshape(-1,1)
#train_X = np.array(X)
print(train_X)
train_Y = np.array(Y)
'''
여기에서 모델을 트레이닝합니다.
'''
lrmodel = LinearRegression()
lrmodel.fit(train_X, train_Y)
'''
loss가 최소가 되는 직선의 기울기와 절편을 계산함
'''
beta_0 = lrmodel.coef_[0] # lrmodel로 구한 직선의 기울기 beta_0
beta_1 = lrmodel.intercept_ # lrmodel로 구한 직선의 y절편 betat_1
print("beta_0: %f" % beta_0)
print("beta_1: %f" % beta_1)
print("Loss: %f" % loss(X, Y, beta_0, beta_1))
plt.scatter(X, Y) # (x, y) 점을 그립니다.
plt.plot([0, 10], [beta_1, 10 * beta_0 + beta_1], c='r') # y = beta_0 * x + beta_1 에 해당하는 선을 그립니다.
plt.xlim(0, 10) # 그래프의 X축을 설정합니다.
plt.ylim(0, 10) # 그래프의 Y축을 설정합니다.
plt.show()
'IT신기술' 카테고리의 다른 글
| Azure 재직자 무료 과정 소개 (0) | 2025.10.23 |
|---|---|
| 고급 프롬프트 예시 (2) | 2025.07.09 |
| 회귀모델 예시 (8) | 2025.07.09 |
| RAG연계 예시 (1) | 2025.07.08 |
| RAG구성시 전처리가 불필요한가? (3) | 2025.06.18 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 정보관리기술사
- MariaDB
- argocd
- 클라우드 활용
- 고급개발자
- 모델저장
- 인공지능교육
- 핵심집중반
- RegeneratorRuntime
- python성능
- SWA
- mysql
- 컴퓨터시스템응용기술사
- 핀옵스
- BERT
- joblib
- 경력자인공지능교육
- atom git 연동
- 인공지능주말교육
- ci/cd
- 정보처리기술사
- 벡터db
- 아이리포
- 중급개발자
- FinOps
- 소프트웨어아키텍트
- 클라우드 비용절감
- 두음신공
- 123회기술사
- 기술사
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
글 보관함
