PYTHON/머신러닝
[PYTHON] 머신러닝 기초
G허니
2024. 4. 16. 02:29
머신러닝의 이해와 실습
머신러닝은 인공지능의 한 분야로, 데이터를 활용하여 컴퓨터가 스스로 학습하고 문제를 해결할 수 있게 하는 기술입니다. 머신러닝의 학습 방법과 문제 유형, 그리고 대표적인 라이브러리인 Scikit-Learn의 모델링 코드 구조에 대해 살펴보겠습니다.
머신러닝의 학습 방법
- 지도학습(Supervised Learning)
- 정답이 있는 데이터를 활용하여 학습하는 방식
- 분류(Classification)와 회귀(Regression) 문제가 있음
- 비지도학습(Unsupervised Learning)
- 정답이 없는 데이터를 활용하여 학습하는 방식
- 군집화(Clustering)가 대표적인 예
- 강화학습(Reinforcement Learning)
- 환경과의 상호작용을 통해 보상을 최대화하는 방식으로 학습
머신러닝의 문제 유형
- 분류(Classification)
- 입력 데이터를 미리 정의된 범주로 구분하는 문제
- 예: 이메일 스팸 분류, 종양 악성 여부 판단
- 회귀(Regression)
- 입력 데이터와 연속적인 출력 값 사이의 관계를 모델링하는 문제
- 예: 주택 가격 예측, 매출 예측
- 클러스터링(Clustering)
- 유사한 데이터를 자동으로 그룹화하는 문제
- 예: 고객 세분화, 문서 분류
Scikit-Learn의 모델링 코드 구조
- 불러오기(Import)
- 필요한 라이브러리와 모듈을 불러옵니다.
- 선언하기(Declare)
- 사용할 알고리즘과 평가 지표를 선언합니다.
- 학습하기(Train)
- 훈련 데이터를 사용하여 모델을 학습시킵니다.
- 예측하기(Predict)
- 학습된 모델을 사용하여 새로운 데이터에 대한 예측을 수행합니다.
- 평가하기(Evaluate)
- 모델의 성능을 평가하기 위해 적절한 지표를 사용합니다.
# 1단계: 불러오기
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error
# 2단계: 선언하기
model = LinearRegression()
# 3단계: 학습하기
model.fit(x_train, y_train)
# 4단계: 예측하기
y_pred = model.predict(x_test)
# 5단계: 평가하기
print('MAE:',mean_absolute_error(y_test, y_pred))
회귀 모델 평가 지표
- MSE(Mean Squared Error): 실제값과 예측값의 차이 제곱의 평균
- RMSE(Root Mean Squared Error): MSE의 제곱근
- MAE(Mean Absolute Error): 실제값과 예측값의 절대 차이의 평균
- MAPE(Mean Absolute Percentage Error): 실제값과 예측값의 백분율 오차의 평균
- R-squared(R²): 모델의 설명력을 나타내는 지표
분류 모델 평가 지표
- Confusion Matrix(오분류표): 실제값과 예측값의 비교 결과를 나타내는 표
- Accuracy: 전체 예측 중 정확하게 예측한 비율
- Precision: 양성으로 예측한 것 중 실제 양성인 비율
- Recall: 실제 양성인 것 중 양성으로 예측한 비율
- Specificity: 실제 음성인 것 중 음성으로 예측한 비율
- F1-Score: Precision과 Recall의 조화평균
이와 같이 머신러닝은 다양한 학습 방법과 문제 유형, 그리고 평가 지표를 가지고 있습니다. Scikit-Learn은 이러한 머신러닝 기술을 쉽게 활용할 수 있도록 지원하는 대표적인 라이브러리입니다.