일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- SQL
- PostgreSQL
- 데이터리안 웨비나
- Limit
- 머신러닝
- airflow 설치
- 전처리
- airflow.cfg
- Oracle
- 결측값
- matplotlib
- 프로그래머스
- 데이터시각화
- 그로스해킹
- SUM
- 다중 JOIN
- solvesql
- GROUPBY
- not in
- hackerrank
- 데이터분석
- seaborn
- join
- having
- TRUNCATE
- MySQL
- 파이썬
- SQLite
- pandas
- Round
Archives
- Today
- Total
Milky's note
Chap 2. sklearn 개요 본문
- 학습(fit), 예측(predict)
LinearRegression 모델로 간단하게 학습과 예측을 구현해보려고 한다.
기본 사용 방법은 다음과 같다.
# 라이브러리 불러오기
from sklearn.linear_model import LinearRegression
# 모델 선언
model = LinearRegression()
# 모델에 데이터 학습
model.fit(x, y)
# 모델이 학습이 얼마나 되었는 지 검증 (=예측)
prediction = model.predict(x2)
다음의 데이터로 LinearRegression 모델의 간단한 학습과 예측을 수행하였다.
import numpy as np
from sklearn.linear_model import LinearRegression
# 샘플 데이터 생성
x = np.arange(11).reshape(-1,1)
y = (x*2+1).reshape(-1,1)
# 모델 선언
model = LinearRegression()
# 학습
model.fit(x, y)
# 예측
prediction = model.predict([[11.0]])
※샘플 데이터 생성의 reshape
reshape는 2차원 배열로 재설정 해주는 함수인데, (ex. reshape(2,5) ==> 2행 5열의 행렬 생성)
인수 값을 -1을 주게 되면 해당 행(또는 열)이 자동으로 구조화되게 된다.
- np.arange(10).reshape(-1, 5) ==> 5열로 자동으로 구조화
[[0 1 2 3 4],
[5 6 7 8 9]]
- np.arange(10).reshape(5, -1) ==> 5행으로 자동으로 구조화
[[0 1],
[2 3],
[4 5],
[6 7],
[8 9]]
- 학습 데이터, 예측 데이터(train, test)
model.fix(x, y)
x : features 라고 불리며, 학습 데이터를 나타냄
y : labels 라고 불리며, 예측 데이터를 나타냄
즉, label이 있냐? 없냐?에 따라서 학습 데이터와 예측 데이터가 결정됨
- 검증 데이터(validation)
과대 적합과 과소 적합을 피하기 위해 학습 데이터 중의 일부분을 검증을 위한 데이터로 사용한다.
trainning set로 학습하고 validation set로 모니터를 해주면, 모델의 성능을 가장 높일 수 있는 점을 찾을 수 있다.
절대로 학습할 때, validation set가 관여되면 안된다 !!! 배제하고 trainning set로 학습을 해야한다.
'머신러닝 > 요약 정리' 카테고리의 다른 글
Chap 3. sklearn 전처리 (0) | 2022.02.16 |
---|---|
Chap 1. 머신러닝 기초 (0) | 2022.02.14 |
Comments