일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 잔차분석
- 선형회귀분석
- 비지도학습
- Python
- 시계열 데이터
- time series
- 분류
- OrdinalEncoder
- 데이터전처리
- 단순선형회귀분석
- 지도학습
- LogisticRegression
- 로지스틱회귀분석
- 데이터분석
- 의사결정나무
- GridSearchCV
- LinearRegression
- 하이퍼파라미터
- dataframe
- deeplearning
- scikitlearn
- DataScience
- 결정계수
- machinelearning
- RegressionTree
- 딥러닝
- ML
- 시계열데이터
- 손실함수
- 다중선형회귀분석
- Today
- Total
IE가 어른이 되기까지
[Machine Learning] 회귀분석 Scikit Learn으로 구현하기 본문
이 글에서는 머신러닝의 지도학습 중
예측을 하는 데에 쓰이는 '회귀분석'이라는
알고리즘 코드 구현 방법에 대해 알아보겠습니다.
https://piscesue0317.tistory.com/34
[Machine Learning] 선형 회귀분석 ( 지도학습 / 예측 )
https://piscesue0317.tistory.com/27 [Data Science] 지도학습과 비지도학습이란 ? 데이터 마이닝이란 대량의 데이터를 탐색하고 분석하여 의미 있는 패턴과 규칙을 발견하는 것입니다. 또한, 예측이 주된 목
piscesue0317.tistory.com
https://piscesue0317.tistory.com/35
[Machine Learning] 단순 선형 회귀분석 ( 지도학습 / 예측 )
https://piscesue0317.tistory.com/34 [Machine Learning] 선형 회귀분석 ( 지도학습 / 예측 ) https://piscesue0317.tistory.com/27 [Data Science] 지도학습과 비지도학습이란 ? 데이터 마이닝이란 대량의 데이터를 탐색하고
piscesue0317.tistory.com
https://piscesue0317.tistory.com/36
[Machine Learning] 다중 선형 회귀분석 ( 지도학습 / 예측 )
https://piscesue0317.tistory.com/34 [Machine Learning] 선형 회귀분석 ( 지도학습 / 예측 ) https://piscesue0317.tistory.com/27 [Data Science] 지도학습과 비지도학습이란 ? 데이터 마이닝이란 대량의 데이터를 탐색하고
piscesue0317.tistory.com
먼저, 위 글은 회귀분석 알고리즘에 대한
이론을 설명하고 있습니다.
https://piscesue0317.tistory.com/31
[Machine Learning] Scikit - Learn을 이용한 데이터 분석 (지도학습 / 예측)
Machine Learning (머신러닝) 이란 기계가 스스로 학습하는 것을 의미합니다. 특히 사람이 지정해준 규칙이나 모델을 스스로 학습하게 됩니다. https://piscesue0317.tistory.com/27 [Data Science] 지도학습과 비지
piscesue0317.tistory.com
또한, 위 글은 본 알고리즘 모델링을
하기 이전의 과정입니다.
해당 과정을 수행하여야 앞으로 진행되는
모델링이 가능합니다.
Scikit - Learn에서는 모델 선택과 훈련을 시킬 때
fit (학습)과 predict (적용) 의 순서를 따릅니다.
또한, 회귀분석 알고리즘의 경우,
최적의 하이퍼파라미터 탐색이 필요 없습니다.
* 하이퍼파라미터 : 모델링 시 사용자가 직접 지정해주어야 하는 옵션
모델 선택 및 학습
from sklearn.linear_model import LinearRegression # 모델 선택
model_linear = LinearRegression(fit_intercept=True, n_jobs=None) # 학습
model_linear.fit(X_train_pretained, y_train) # 적용
sklearn.linear_model 모듈에서 LinearRegression을
호출합니다.
모델 학습 내용을 'model_linear'이라는 변수에 저장한 후,
'.fit( )' 함수를 통해 적용합니다.
* fit_intercept : 상수항 존재 여부
* n_jobs : 병렬 처리 여부
모델 적용 및 성능평가
from sklearn.metrics import mean_squared_error
from sklearn.metrics import mean_absolute_error
from sklearn.metrics import mean_absolute_percentage_error
# 평가 데이터에 대한 전처리
X_test_prepared = full_pipeline.transform(X_test) # full_pipeline 사용해서 전처리
# 평가 데이터에 대한 예측
y_test_hat = model_linear.predict(X_test_prepared)
# 평가 데이터에 대한 평가
mse_linear = mean_squared_error(y_test, y_test_hat, squared=True) # mean squared error
rmse_linear = mean_squared_error(y_test, y_test_hat, squared=False) # root mean squared error
mae_linear = mean_absolute_error(y_test, y_test_hat) # mean absolute error
mape_linear = mean_absolute_percentage_error(y_test, y_test_hat) # mean absolute error
print(f'mse_linear:{mse_linear}')
print(f'rmse_linear:{rmse_linear}')
print(f'mae_linear:{mae_linear}')
print(f'mape_linear:{mape_linear}')
평가 데이터도 훈련 데이터와 같은 방식으로
전처리를 해준 후, '.predict( )' 함수를 통해 예측을 진행합니다.
마지막으로 다양한 성능지표를 통해
모델을 평가하면 됩니다.
'ML > Python' 카테고리의 다른 글
[Machine Learning] KNN Scikit Learn으로 구현하기 (0) | 2023.01.12 |
---|---|
[Machine Learning] 의사결정나무 (CART) Scikit Learn으로 구현하기 (0) | 2023.01.12 |
[Machine Learning] Scikit - Learn을 이용한 데이터 분석 (비지도학습) (0) | 2023.01.06 |
[Machine Learning] Scikit - Learn을 이용한 데이터 분석 (지도학습 / 분류) (0) | 2023.01.05 |
[Machine Learning] Scikit - Learn을 이용한 데이터 분석 (지도학습 / 예측) (0) | 2023.01.05 |