2023년 6월 업데이트

 

안녕하세요. SQLER의 코난 김대우입니다. 

이번 강좌에서는, Python 머신러닝 강좌 - 11. scikit-learn으로 선형회귀(linear regression) 모델 머신러닝 트레이닝 수행을 진행토록 하겠습니다.

예제 노트북 파일 : scikit-learn으로 선형회기(linear regression) 모델 머신러닝 트레이닝 수행

 

SQLER에서 진행되는 전체 Python / 머신러닝 강좌 목록

 

코드를 실행하기 위해서는, vscode에서 새로운 파일을 만들고 강좌 내용을 단계별로 copy&paste 해서 실행하시면 됩니다. 또는, Jupyter notebook을 실행하고 단계별로 실행하셔도 됩니다.

예를 들어, 11_sklearn_train.ipynb를 생성하고 vscode에서 실행하면, Jupyter notebook이 실행됩니다.(vscode에서 실행도 가능하며, 웹브라우저에서도 실행 가능합니다.)

또는, github 리포지토리를 clone 하신 후, vscode나 Jupyter notebook에서, 위의 노트북 파일을 열면 됩니다. 
 

상세한 환경 구성이 필요하시다면, 개발자 커뮤니티 SQLER.com - Python 초급 강좌 목차 - 1. Python 개발 환경 구성 문서를 참조해 WSL, vscode, conda, jupyter notebook 설정을 모두 먼저 완료하시길 권장해 드립니다.

 

 

 

TL;DR

scikit-learn의 LinearRegression 모델을 사용하여 선형회귀(linear regression) 모델 머신러닝 트레이닝을 수행합니다. 데이터를 준비하고, LinearRegression.fit 메서드를 사용하여 트레이닝 데이터를 기반으로 모델을 훈련하며 모델은 regressor 객체에 저장됩니다.
 

 

Python 머신러닝 강좌 - 11. scikit-learn으로 선형회귀(linear regression) 모델 머신러닝 트레이닝 수행

 

선형회귀 머신러닝 알고리즘

선형 회귀(Linear regression)는 데이터셋을 기반으로 값을 예측하는 일반적인 알고리즘입니다.

 

☑️ 챗GPT 활용: 머신러닝 분류와 회기 차이

☑️ 챗GPT 활용: 선형회기 알고리즘에 대해서 알려줘

 

일반적인 클래스와 함수

 

선형 회귀(linear regression) 알고리즘으로 모델 트레이닝

데이터를 준비하고 모델 트레이닝을 진행합니다. scikit-learn에는 머신러닝 모델 트레이닝을 위해 호출할 수 있는 여러 라이브러리와 메서드가 있습니다. 이 노트북에서는 scikit-learn 라이브러리의 LinearRegression 모델을 사용합니다.

 

데이터 로드, null 값이 모두 제거, feature 및 label이 별도의 트레이닝 및 테스트 데이터셋으로 분할된 DataFrame이 필요합니다. 따라서 이전 노트북의 명령을 빠르게 다시 실행하여 시작합니다.

import pandas as pd
from sklearn.model_selection import train_test_split

# CSV 파일에서 데이터를 로드
delays_df = pd.read_csv('Lots_of_flight_data.csv') 

# null값을 제거 - null값이 있으면 트레이닝 과정에서 문제를 유발할 수 있습니다.
delays_df.dropna(inplace=True)

# Feature column들을 X DataFrame으로 이동
X = delays_df.loc[:,['DISTANCE', 'CRS_ELAPSED_TIME']]

# Label column을 y DataFrame으로 이동
y = delays_df.loc[:,['ARR_DELAY']] 

# 데이터를 트레이닝 데이터셋과 테스트 데이터셋으로 분리 
X_train, X_test, y_train, y_test = train_test_split(
                                                    X, 
                                                    y, 
                                                    test_size=0.3, 
                                                    random_state=42
                                                   )

 

Scikit Learn의 Linear Regression fit 메서드를 사용하여 X_train 및 y_train에 저장된 트레이닝 데이터를 기반으로 선형 회귀(linear regression) 모델 트레이닝을 시작합니다.

from sklearn.linear_model import LinearRegression

regressor = LinearRegression()     # scikit learn LinearRegression 개체 생성
regressor.fit(X_train, y_train)    # fit 메서드를 사용해 모델 트레이닝 실행

=== 실행결과 ===

LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)

 

머신러닝 트레이닝 과정이 완료되었습니다. 이제, regressor 객체에는 트레이닝된 선형 회귀(Linear Regression) 모델이 포함되어 있습니다. 

다음 강좌에서는 이 모델을 테스트하는 과정을 진행하겠습니다.

 

 

파이썬 강좌 책 구매

강좌가 도움이 되셨다면, 책으로 구매 가능합니다. 책 판매 수익금은 전액 코딩 교육 사회공헌 활동에 기부되며, 아래 링크에서 구매하시면 더 많은 금액이 기부됩니다. 

 

책구매 링크: 챗GPT와 함께하는 파이썬 & 머신러닝 코딩 마스터 

파이썬-책구매링크.png

 

참고자료

개발자 커뮤니티 SQLER.com - Python 무료 강좌 - 기초, 중급, 머신러닝

c9-python-getting-started/even-more-python-for-beginners-data-tools/11 - Train a linear regression model with scikit-learn at master · CloudBreadPaPa/c9-python-getting-started (github.com)

 

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 13217
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 8172
34 Azure Databricks - MLflow를 이용한 머신러닝(5) - Model 배포 file 코난(김대우) 2021.10.14 486
33 Azure Databricks - MLflow를 이용한 머신러닝(4) - Model Registry file 코난(김대우) 2021.10.12 324
32 Azure Databricks - MLflow를 이용한 머신러닝(3) - Project file 코난(김대우) 2021.10.08 292
31 Azure Databricks - MLflow를 이용한 머신러닝(2) - Tracking file 코난(김대우) 2021.10.08 296
30 Azure Databricks - MLflow를 이용한 머신러닝(1) file 코난(김대우) 2021.10.08 390
29 Azure Databricks - Spark에서 머신러닝 분산 처리 file 코난(김대우) 2021.10.07 144
28 PySpark cheat sheet 자료 - RDD, 데이터 처리 file 코난(김대우) 2021.10.01 115
27 PySpark을 이용한 머신러닝 튜토리얼 예제 코난(김대우) 2021.10.01 895
26 Form Recognizer로 문서에서 표 데이터 추출 file 코난(김대우) 2021.01.21 329
25 MLaaS - 12가지의 머신러닝을 먼저 도입한 기업들의 고민 file 코난(김대우) 2021.01.15 714
24 Python 머신러닝 강좌 - 15. Matplotlib으로 데이터 시각화(visualization) file 코난(김대우) 2021.01.09 666
23 Python 머신러닝 강좌 - 14. NumPy와 Pandas 코난(김대우) 2021.01.09 663
22 Python 머신러닝 강좌 - 13. 모델의 정확도 평가(accuracy evaluating) 코난(김대우) 2021.01.09 1606
21 Python 머신러닝 강좌 - 12. 머신러닝 모델 테스트 코난(김대우) 2021.01.09 941
» Python 머신러닝 강좌 - 11. scikit-learn으로 선형회귀(linear regression) 모델 머신러닝 트레이닝 수행 코난(김대우) 2021.01.08 327
19 Python 머신러닝 강좌 - 10. 머신러닝을 위해 scikit-learn으로 트레이닝 데이터와 테스트 데이터 분할 코난(김대우) 2021.01.08 514
18 Python 머신러닝 강좌 - 9. 중복데이터와 결측값(missing value) 처리 코난(김대우) 2021.01.08 231
17 Python 머신러닝 강좌 - 8. Pandas DataFrame 컬럼(column) 분할(split)과 삭제(remove) 코난(김대우) 2021.01.08 363
16 Python 머신러닝 강좌 - 7. Pandas DataFrame으로 CSV 파일 읽고 쓰기 코난(김대우) 2021.01.08 454
15 Python 머신러닝 강좌 - 6. CSV 파일과 주피터 노트북 file 코난(김대우) 2021.01.08 399





XE Login