출처 : 더에이아이랩 AICE Associate특강, Chat GPT
scikit-learn을 이용한 학습 데이터 분할
train_test_split 함수
- 사용자가 전체 데이터를 직접 나누면 번거롭고, 학습에 적합하도록 분배하기도 어려움
- scikit-learn의 train_test_split 함수를 활용하면 쉽게 데이터 분할 가능
from sklearn.model_selection import train_test_split
x_train, x_valid, y_train, y_valid = train_test_split(data, target, test_size=None,
train_size=None, random_state=None, shuffle=True, stratify=None)
- test_size : 전체 데이터 중 test 데이터의 비율
- train_size : 전체 데이터 중 train 데이터의 비율
- random_state : 데이터 분할 전 데이터에 적용되는 셔플링 제어
- shuffle : 데이터 분할 전 데이터를 섞을지 여부를 결정
- stratify : 데이터 분할에서 자동으로 Target의 데이터 분포 비율을 유지할지 결정
scikit-learn 라이브러리
- 파이썬에서 머신러닝을 구현하기 위해 널리 사용되는 라이브러리
- 분류, 회귀, 군집화 등의 다양한 머신러닝 알고리즘을 쉽게 사용할 수 있는 도구제공
다양한 머신러닝 알고리즘 제공
- 분류(Classification) : SVM, k-Nearest Neighbors, Decision Tree, Random Forest, Logistic Regression 등
- 회귀(Regression) : 선형회귀(Linear Regression), Lasso, Ridge 등
- 군집화(Clustering) : K-Means, DBSCAN, 계층적 군집화
- 차원 축소(Dimensionality Reduction) : PCA, t-SNE
- 모델 평가 및 선택 : 교차 검증(Cross-validation), 하이퍼파라미터 튜닝(GridSearchCV, RandomizedSearchCV)
머신러닝 모델링
scikit-learn 라이브러리 활용
- 분류, 회귀, 클러스터링, 차원축소 등의 머신러닝 모델들을 간단하고 효율적으로 구현 가능
- 데이터 준비 : 입력 데이터(x)와 타겟 변수(y) 준비
- 모델 선택 : sklearn에서 제공하는 다양한 알고리즘 중 선택
- 모델 학습 : fit() 메서드를 사용하여 모델 학습
- 모델 평가 : 테스트 데이터에 모델을 적용하고 성능 평가
- 예측 : 학습된 모델을 사용해 새로운 데이터에 대한 예측 수행
[예시1 : 선형회귀]
라이브러리 불러오기
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
- train_test_split : 데이터를 훈련용과 테스트용으로 분리
- LinearRegression : 선형 회귀 모델 불러오기
데이터 준비
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
- X : 입력 데이터(독립 변수, feature)
- y : 정답 데이터(종속 변수, target)
- train_test_split : X와 y를 훈련/테스트 데이터셋으로 나눔
- test_size=0.2 : 전체 데이터 중 20%를 테스트용으로, 80%를 훈련용으로 사용
모델 선택 및 학습
model = LinearRegression()
model.fit(X_train, y_train)
- x랑 y를 주고 f를 찾는다.
- 선형 회귀 모델 객체 생성
- fit() → 훈련 데이터를 이용해 모델 학습 진행
모델 평가
accuracy = model.score(X_test, y_test)
print("Accuracy:", accuracy)
- score() : 모델 성능 평가 (선형회귀에서는 R² 결정계수를 반환)
- Accuracy : Accuracy 텍스트와 함께 결과 출력
새로운 데이터에 대한 예측
new_data = [[...], [...], ...]
predictions = model.predict(new_data)
- 학습된 모델로 새로운 입력 데이터를 넣어 예측값 출력
반응형
'자격증 > AICE' 카테고리의 다른 글
| 머신러닝 의사결정나무 & 랜덤포레스트로 모델 학습 - 개념 및 연습문제 (0) | 2025.10.10 |
|---|---|
| 머신러닝 데이터셋 분리 및 스케일링 - 개념 및 연습문제 (0) | 2025.09.30 |
| 머신러닝 원-핫 인코딩(One-Hot Encoding) - 개념 및 연습문제 (0) | 2025.09.26 |
| 데이터 전처리 기초 (0) | 2025.08.29 |
| 데이터 수집 및 분석 기초 (0) | 2025.08.26 |