머신러닝
ㅇㅇ
학습 구분 | 상세 구분 | 종류 |
지도학습 (Supervised) |
회귀(Regression) | Linear Regression Ridge Regression Lasso Regression |
Decision Trees Regression Support Vector Regression |
||
K-Nearest Neighbors Regression | ||
Random Forests Regression | ||
분류(Classification) | Logistic Regression | |
Decision Trees Classifier | ||
K-Nearest Neighbors Classifier | ||
Random Forests Classifier | ||
비지도학습 (Unsupervised) |
군집화 | K-Means clustering |
DBSCAN | ||
차원 축소 | PCA |
머신러닝 유형별 다양한 알고리즘들이다.
물론 이보다 훨씬 더 많고 상세한 분류 알고리즘들이 존재한다.
ㅇㅇ
독립 변수, 종속 변수 선택
필터 방법 | 설명 |
상관계수 기반 선택 (Correlation Coefficient) |
연속형 변수와 연속형 타겟 간의 상관 관계를 측정하여 중요한 특성을 선택 |
카이제곱 검정 기반 선택 (Chi-square Test) |
범주형 변수와 타켓 간의 관계를 평가하여 선택 |
분산 분석 기반 선택 (Variance) |
분산이 낮은 특성, 정보가 적은 특성을 제거 |
정보 이득 기반 선택 (Information Gain) |
각 특성과 타겟 간의 정보의 양을 측정하여 선택 |
어떤 컬럼을 선택할 지에 대한 방법 중 필터 방법(Filter Method)에 해당하는 방법이다.
통계적 특성에 기반하여 중요도를 평가하고, 특정 기준에 따라 변수를 선택하거나 제거한다.
변수 선택을 모델 학습과 독립적으로 수행한다.
래퍼 방법 | 설명 |
전진선택법 (Forward Selection) |
가장 중요한 특성부터 하나씩 추가하면서 모델의 성능을 평가 |
후진제거법 (Backward Elimination) |
모든 특성으로 시작하여 가장 덜 중요한 특성부터 하나씩 제거 |
단계적 선택법 (Stepwise Selection) |
전진선택법과 후진제거법을 번갈아가면서 적용 |
어떤 컬럼을 선택할 지에 대한 방법 중 래퍼 방법(Wrapper Method)에 해당하는 방법이다.
특정 모델을 사용하여 다양한 특성 조합을 평가하고 가장 좋은 성능을 보이는 조합을 선택한다.
변수 선택 과정에서 모델 학습을 한다.
임베디드 방법 | 설명 |
L1 정규화 (Lasso) |
회귀 모델에서 L1 정규화를 적용하여 특성 중 일부의 계수를 0으로 만들어 선택 |
L2 정규화 (Ridge) |
L2 정규화를 통해 덜 중요한 특성의 영향력 감소 |
엘라스틱넷 | Lasso와 Ridge의 조합 |
트리 기반 방법 | 트리 기반 모델로 특성 중요도를 계산하여, 이를 바탕으로 중요하지 않은 특성을 제거 |
어떤 컬럼을 선택할 지에 대한 방법 중 임베디드 방법(Embedded Method)에 해당하는 방법이다.
모델 학습 과정에서 변수 선택을 수행한다.
특정 알고리즘이나 특성 선택을 내장하고 있어 학습과 선택이 동시에 이루어진다.
차원 축소 방법 | 설명 |
주성분 분석 (PCA) |
데이터의 분산을 최대화하는 새로운 축을 찾아 차원을 축소한다. |
선형 판별 분석 (LDA) |
클래스 구분을 최대화하는 축을 찾는 방법으로, 분류 문제에서 유용하다. |
차원 축소 방법(Dimensionality Reduction)에 대한 설명이다.
특성의 수를 줄이는 접근 방식으로, 원래 특성을 사용하지 않고 주성분이라는 새로운 특성을 생성한다.
결측치 처리 방법 | 구체 방안 | 설명 |
결측치 제거 | Listwise Deletion | 결측치가 있는 행 전체를 제거하는 방법 |
Pairwise Deletion | 분석에 사용하는 변수에 결측치가 있는 경우만 제거하는 방법 | |
결측치 대체 | 특정 값 대체 | 특정 값(0, 1, -1 등)으로 대체하는 방법 |
대푯값 대체 | 평균값, 중앙값, 최빈값 등으로 대체하는 방법 | |
회귀 대체 | 결측치가 있는 변수를 다른 변수의 값으로 예측하여 대체하는 방법 | |
KNN 대체 | K-최근접 이웃 알고리즘을 사용하여 유사한 샘플들의 값으로 대체하는 방법 | |
전방값으로 채우기 | 시계열에서 이전 값으로 대체하는 방법 | |
후방 값으로 채우기 | 시계열에서 다음 값으로 대체하는 방법 | |
도메인 지식 활용하기 | 전문가의 판단으로 적절한 값으로 대체하는 방법 |
결측치 처리 방법에 따라서 분석 결과가 달라질 수 있으므로 가능하면 여러 방법을 시도 후 결과를 비교하며 선택한다.
ㅇㅇ
이상치 처리 | 설명 |
제거 | 확실한 이상치나 오류인 경우 해당 데이터를 제거 |
변환 | 로그 변환, 제곱근 변환, Box-Cox 변환 등을 통해 큰 값의 영향을 줄임 |
대체 | 평균/중앙값 대체, 이상치를 특정 한곗값으로 대체, 도메인 지식을 활용하여 수정 등의 방법으로 대체 |
모델링 | 이상치에 덜 민감함 모델링 기법을 사용(RandomForest, Boosting 모델 등) |
스케일링 | Robust 스케일링 사용 이는 이상치의 영향을 줄이기 위해 중앙값과 IQR을 사용하여 데이터를 스케일링하는 방법 |
ㅇㅇ
데이터 유형 | 특징 | 예시 | |
수치형 데이터 | 연속형 데이터 | 셀 수 없는 수치형 자료 | 키, 몸무게, 기온 |
이산형 데이터 | 셀 수 있는 수치형 자료 | 나이, 판매량 | |
범주형 데이터 | 순위형 데이터 | 순서가 있는 범주형 자료 | 등급, 학점 |
명목형 데이터 | 순서가 없는 범주형 자료 | 성별, 혈액형, 지역 |
범주형 데이터는 숫자 형태로 인코딩이 필요하다.
ㅇㅇ
종류 | 방법 | 적용 사례 |
표준화 (Standardization) |
평균이 0, 분산이 1이 되도록 변환 | - 선형회귀, 로지스틱회귀, SVM 등 대부분에 적합 - 데이터가 정규 분포를 따른다고 가정하는 경우 |
정규화 (Normalization) |
데이터를 0과 1 사이 범위로 변환 음수가 있을 경우 -1에서 1사이로 변환 |
- KNN, SVM 등의 거리 기반 알고리즘을 사용하는 경우 - 데이터가 정규 분포를 따르지 않는 경우 - 신경망, 이미지 처리 등 0 ~ 1 범위가 중요한 경우 |
로버스트 스케일링 (Robust Scaling) |
중위수(median)과 IQR(사분위수)를 사용하여 스케일링 |
- 이상치가 존재할 때 평균과 표준편차 대신에 중위수와 IQR을 사용하여 이상치의 영향을 줄여야 하는 경우 |
로그 변환 (Log Transformation) |
데이터의 값을 log 스케일로 변환 | - 비대칭 분포인 경우 (데이터가 정규 분포에서 벗어나 한 쪽으로 치우친 경우) - 양수에 대해서만 가능하다는 한계 |
피처 스케일링(Feature scaling)에 대한 설명이다.
특정 변수의 값이 서로 다른 범위에 있는 경우, 이를 동일한 범위로 조정하는 방법
수치형 변수의 범위, 분포가 차이나는 경우에 사용한다.
평가 방법 | 종류 |
회귀 | MSE, MAE, RMSE, R^2 |
분류 | Accuracy, Precision, Recall, Sensitivity, F1-score, ROC-AUC curve |
ㅇㅇ
Scikit Learn
구분 | 모듈 | 함수 및 클래스 |
데이터 전처리 | sklearn.preprocessing | StandardScaler, MinMaxScaler, Robustscaler |
데이터 분리 및 검증 |
sklearn.model_selection | train_test_split, KFold, cross_val_scores |
머신러닝 | sklearn.linear_model | LinearRegression, Ridge, etc... |
성능 평가 | sklearn.metrics | mean_squared_error, etc... |
00
구분 | 함수 | 설명 |
선형 회귀 예측기 |
fit(X_train, y_train) | 모델 훈련 |
predict(X_test) | 훈련한 모델 기반 결괏값 예측 | |
score(X, y) | 점수 산출 | |
coef_ | 모델의 회귀 계수 | |
intercept_ | 모델의 절편 | |
표준화 변환기 |
fit(X_train, y_train) | 변환기 학습 |
transform(X_test) | 변환기로 변환 | |
fir_transform(X, y) | 학습 및 변환 동시 진행 |
ㅇㅇ
- Hamming Distance
- Euclidean Distance
- Manhattan Distance
- Minkowski Distance
00
00
'공부 > Microsoft Data School 1기' 카테고리의 다른 글
SQL 기본 및 고급 쿼리문 1 (0) | 2025.04.29 |
---|---|
PowerBI를 활용한 데이터 시각화 1 (0) | 2025.04.25 |
파이썬으로 데이터 수집, 형태 및 분석 5 (0) | 2025.04.18 |
파이썬으로 데이터 수집, 형태 및 분석 4 (0) | 2025.04.17 |
파이썬으로 데이터 수집, 형태 및 분석 3 (0) | 2025.04.16 |