일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리눅스
- 자바암호
- 인프라
- oracle
- 웹 크롤링
- android
- 역학
- 시스템
- NIO
- 파이썬
- GPT-4's answer
- Spring boot
- 소프트웨어공학
- 유닉스
- Database
- 자바네트워크
- write by GPT-4
- 자바
- chatGPT's answer
- lombok
- GIT
- Java
- flet
- 뉴턴역학
- 고전역학
- kotlin
- python
- JVM
- 코틀린
- write by chatGPT
- Today
- Total
Akashic Records
14.3 지도학습 본문
지도학습(Supervised Learning)은 입력 데이터와 해당 데이터에 대한 정답 레이블(label)을 사용하여 기계학습 모델을 학습시키는 방법입니다. 지도학습은 크게 회귀(Regression)와 분류(Classification)로 나뉩니다. 회귀는 연속적인 값(예: 집 가격)을 예측하는 문제를 해결하고, 분류는 이산적인 클래스 레이블(예: 스팸 메일 여부)을 예측하는 문제를 해결합니다.
예제: 붓꽃(Iris) 데이터셋을 사용한 분류
이 예제에서는 Scikit-learn을 사용하여 붓꽃(Iris) 데이터셋에 대한 분류 모델을 만들어보겠습니다. 이 데이터셋은 3개의 붓꽃 종(setosa, versicolor, virginica)에 대한 꽃잎과 꽃받침의 너비와 길이를 담고 있습니다.
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score
# 데이터 불러오기
iris = load_iris()
X, y = iris.data, iris.target
# 데이터 분할
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 데이터 정규화
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
# 모델 선택 및 학습
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train_scaled, y_train)
# 예측 및 성능 평가
y_pred = knn.predict(X_test_scaled)
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy:.2f}")
위 예제에서는 붓꽃 데이터셋을 불러와서 K-최근접 이웃(K-Nearest Neighbors, KNN) 알고리즘을 사용하여 분류 모델을 학습시키고, 테스트 데이터에 대한 정확도를 계산하였습니다. 이 과정에서 데이터 분할과 정규화를 수행하였으며, Scikit-learn 라이브러리의 다양한 함수와 클래스를 사용하였습니다.
지도학습 알고리즘에는 KNN 외에도 선형 회귀(Linear Regression), 로지스틱 회귀(Logistic Regression), 서포트 벡터 머신(Support Vector Machine), 결정 트리(Decision Tree), 랜덤 포레스트(Random Forest) 등 다양한 방법이 있습니다. 문제와 데이터에 따라 적절한 알고리즘을 선택하여 모델을 학습시킬 수 있습니다.
'Python for Beginners' 카테고리의 다른 글
14.5 강화학습 (0) | 2023.04.25 |
---|---|
14.4 비지도학습 (0) | 2023.04.25 |
14.2 scikit-learn 라이브러리 (0) | 2023.04.25 |
14.1 기계학습 소개 (0) | 2023.04.25 |
13.5 패키징 및 배포 (0) | 2023.04.17 |