요약
알아두면 유용한 머신러닝 10가지 알고리즘
- 선형 회귀(Linear Regression)[지도학습|회귀|종속과 독립변수 선형관계]
: 연속형 변수인 목표 변수를 예측해 내는 것을 목표로 함.
ex) 몸무게, 나이 ,bmi, 성별등을 데이터로 활용해 키와 같은 연속형 변수 예측
📌기초 알고리즘으로 예측력이 떨어지지만, 단순한 데이터에서 쉽고 빠르게 적용가능해 베이스 라인으로 사용많이함.

- 장점
모델이 간단하기 때문에 구현과 해석이 쉽다.
같은 이유로 모델링하는 데 오랜 시간이 걸리지 않는다.
- 단점
최신 알고리즘에 비해 예측력이 떨어진다.
독립변수와 예측변수의 선형 관계를 전제로 하기 때문에, 이러한 전제에서 벗어나는 데이터에서는 좋은 예측을 보여주기 어렵다(선형 관계를 전제로 한다는 부분은 이 장의 마지막까지 보면 이해할 수 있다).
- 로지스틱 회귀(Logistic Regression)[지도학습|분류|종속변수와 독립변수가 선형관계에 있는 데이터]
: Yes/No처럼 두 가지로 나뉘는 분류 문제를 다룬다.
📌기본 알고리즘으로 실제 이진분류가 필요한 상황이 많아 유용하고 딥러닝에서도 기본지식으로 여겨짐.

- 장점
선형 회귀 분석만큼 구현하기 용이.
계수(기울기)를 사용해 각 변수의 중요성을 쉽게 파악할 수 있다.
- 단점
선형 회귀 분석을 근간으로 하고 있기 때문에, 선형 관계가 아닌 데이터에 대한 예측력이 떨어진다.
- K-최근접 이웃(KNN)[지도학습|회귀/분류|아웃라이어 적은 데이터]
: 각 데이터 간의 거리를 활용해서 새로운 데이터를 예측하는 모델. 이때 가까이에 있는 데이터를 고려하여 예측값이 결정된다.
K개의 가장 가까운 이웃 데이터에 의해 예측된다는 의미.
📌다중분류 문제에 적용가능.

- 장점
수식에 대한 설명이 필요 없을 만큼 직관적이고 간단.
선형 모델과 다르게 별도의 가정이 없다(예를 들어 선형 회귀는 독립변수와 종속변수의 선형 관계를 가정하고 있기 때문에, 이 가정이 들어맞지 않는 데이터에 취약하나, KNN은 이러한 가정이 없어서 더 자유로움).
- 단점
데이터가 커질수록 상당히 느려질 수 있다.
아웃라이어에 취약.
- 나이브 베이즈(Naive Bayes)[지도학습|분류|독립변수의 종류가 많은 우]
: 조건부 확률 기반의 분류 모델로 스팸 메일 필터처럼 자연어 처리가 목적일때 사용.
📌독립변수들이 모두 독립적이라면 경쟁력이 있음. 딥러닝 제외 자연어 처리에 탁월.

- 장점
비교적 간단한 알고리즘에 속하며 속도 또한 빠름.
작은 훈련셋으로도 잘 예측.
- 단점
모든 독립변수가 각각 독립적임을 전제로 하는데 이는 장점이 되기도 하고 단점이 되기도 함. 실제로 독립변수들이 모두 독립적이라면 다른 알고리즘보다 우수할 수 있지만, 실제 데이터에서 그런 경우가 많지 않기 때문에 단점.
- 결정 트리(Decision Tree)[지도학습|회귀/분류]
: 관측값과 목표값을 연결시키는 예측 모델.
선형 모델이 각 변수에 대한 기울기값들을 최적화하여 모델을 만들어나갔다면, 트리 모델에서는 각 변수의 특정 지점을 기준으로 데이터를 분류해가며 예측 모델을 만든다.
ex)남자/여자로 나눠서 각 목푯값 평균치를 나눈다거나, 나이를 30세 이상/미만인 두 부류로 나눠서 평균치를 계산하는 방식으로 데이터를 무수하게 쪼개어나가고, 각 그룹에 대한 예측치를 만듦.
📌시각화에 굳굳. 베이스 지식

- 장점
데이터에 대한 가정이 없는 모델(Non-parametric Model). 예를 들어 선형 모델은 정규분포에 대한 가정이나 독립변수와 종속변수의 선형 관계 등을 가정으로 하는 모델인 반면, 결정 트리는 데이터에 대한 가정이 없으므로 어디에나 자유롭게 적용.
아웃라이어에 영향을 거의 받지 않는다.
트리 그래프를 통해서 직관적으로 이해하고 설명할 수 있다. 즉 시각화에 굉장히 탁월.
- 단점
트리가 무한정 깊어지면 오버피팅 문제를 야기할 수 있다.
앞으로 배울 발전된 트리 기반 모델들에 비하면 예측력이 상당히 떨어짐.
- 랜덤 포레스트(Random Forest)[지도학습|회귀/분류]
: 오버피팅 문제 완화 시켜준 트리 모델로 앙상블 기법이 있다.(여러 모델을 활용해 하나의 모델을 이루는 기법)
📌가장 보편적. 부스팅 이해를 위해 필요한 지식.

- 장점
결정 트리와 마찬가지로, 아웃라이어에 거의 영향을 받지 않음.
선형/비선형 데이터에 상관없이 잘 작동.
- 단점
학습 속도가 상대적으로 느림.
수많은 트리를 동원하기 때문에 모델에 대한 해석이 어렵.
- XG부스트(XGBoost)[지도학습|회귀/분류]
: 순차적으로 트리를 만들어 이전 트리로부터 더 나은 트리만듦.
XG부스트, 라이트GBM(LightGBM), 캣부스트(CatBoost)
📌검증된 부스팅 모델.

- 장점
예측 속도가 상당히 빠르며, 예측력 또한 좋음.
변수 종류가 많고 데이터가 클수록 상대적으로 뛰어난 성능을 보여줌.
- 단점
복잡한 모델인 만큼, 해석 어려움.
더 나은 성능을 위한 하이퍼파라미터 튜닝이 까다롭다.
- 라이트GBM(LightGBM)[지도학습|회귀/분류]
: 리프 중심 트리 분할 방식 사용.
📌표로 정리된 데이터(tabular data)에서 Catboost, XGBoost와 함께 가장 좋은 성능을 보여주는 알고리즘.
- 장점
XGBoost보다도 빠르고 높은 정확도를 보여주는 경우가 많다.
예측에 영향을 미친 변수의 중요도를 확인할 수 있다.
변수 종류가 많고 데이터가 클수록 상대적으로 뛰어난 성능을 보여준다.
- 단점
복잡한 모델인 만큼, 해석에 어려움이 있다.
하이퍼파라미터 튜닝이 까다롭다.
- K-평균 군집화(K Means Clustering)[비지도학습]
: 목표 변수가 없는 상탸에서 데이터를 비슷한 유형끼리 묶는 머신러닝 기법.
거리 기반으로 작동하기 때문에 데이터 위치가 가까운 데이터끼리 한 그룹으로 묶는다. 이때 전체 그룹의 수는 사용자가 지정한 K개.
📌데이터의 양이 많고, 시각이 한계적일때 데이터를 적절한 수의 그룹으로 나누고, 그 특징을 살펴볼 수 있다.
- 장점
구현이 비교적 간단.
클러스터링 결과를 쉽게 해석할 수 있다.
- 단점
최적의 K값을 자동으로 찾지 못하고, 사용자가 직접 선택해야 합니다. 거리 기반 알고리즘이기 때문에, 변수의 스케일에 따라 다른 결과를 나타낼 수 있다.
- 주성분 분석(PCA)[비지도학습]
: 종속변수가 없고, 어떤것을 예측하지도 분류하지도 않는다. 데이터 차원 축소에만 목적을 둔다.
즉, 변수의 개수를 줄이되, 가능한 그 특성을 보존하는 기법으로 기존 변수의 일부를 그대로 선택하는 것이 아니라 기존 변수들의 정보를 모두 반영해 새로운 변수를 만드는 방식으로 차원축소 진행!
📌구현 쉬움. 시각화나 모델링 효율을 개선할 여지가 있다.
- 장점
다차원을 2차원에 적합하도록 차원 축소하여 시각화에 유용.
변수 간의 높은 상관관계 문제를 해결.
- 단점
기존 변수가 아닌 새로운 변수를 사용하여 해석하는 데 어려움존재.
차원이 축소됨에 따라 정보 손실이 불가피.
인사이트
머신러닝의 일부 개념을 알아두면 데이터를 가공하여 더 좋은 성능을 내는 모델링을 만들 수 있으므로, 기본적인 알고리즘의 지식을 이해하고 있는것이 좋다.
사례
머신러닝을 활용한 데이터 분석 사례
머신러닝 대표 활용 사례


가상 시나리오
도메인: OTT 플랫폼
- 배경: OTT 플랫폼은 사용자 행동 데이터를 기반으로 맞춤형 추천 시스템을 개선하고, 사용자 이탈(구독 취소)을 방지하고자 한다.
- 목표:클러스터링(비지도학습): 시청 데이터를 기반으로 유사한 사용자 그룹(클러스터)을 식별.
- 이탈 예측(지도학습): 사용자의 과거 행동 데이터를 바탕으로 구독을 계속 유지할지, 이탈할지 예측하는 모델을 만든다.
- 통계적 검증: 사용자 행동 및 구독 여부 간의 연관성을 통계적으로 분석하여 가설을 검증.
📌주요 가설:
- 사용자 그룹화:"사용자의 시청 패턴(예: 장르 선호도, 시청 시간대 등)은 유사한 행동 그룹으로 나눌 수 있다."비지도학습(클러스터링)을 사용해 확인.
- 이탈 요인:"시청 시간, 특정 장르 선호도, 가격 민감도 등은 구독 이탈에 영향을 미친다."지도학습(이탈 예측 모델)과 통계적 분석을 통해 확인.
- 클러스터별 이탈률 차이:"클러스터에 따라 구독 이탈률이 유의미하게 다르다."클러스터와 이탈 여부 간의 연관성을 검증(카이제곱 검정, ANOVA 등).
📌분석 흐름
- 데이터 준비
- 데이터: OTT 플랫폼 사용자 데이터 (가상 데이터)
- 사용자 ID: 고유 사용자 식별자
- 시청 시간: 주별 총 시청 시간
- 장르 선호도: 시청한 콘텐츠 장르 비율 (액션, 코미디, 드라마 등)
- 시청 시간대: 콘텐츠를 주로 소비한 시간대
- 구독 여부: 1(유지), 0(이탈)
- 구독 플랜: 구독 요금제 유형 (예: 기본, 스탠다드, 프리미엄)
- 가격 민감도: 과거 가격 변동에 따른 행동 데이터