머신러닝(10)
-
Day 33 ~ 36 - 미니 프로젝트 > 항공사 만족도 예측 머신러닝
4일 간 그동안 배운 머신러닝 및 딥러닝 기법을 실제로 사용해보는 팀 미니 프로젝트를 진행했다. 사용한 데이터셋은 Kaggle의 Airline Customer Satisfaction 데이터셋이다. Link: https://www.kaggle.com/datasets/teejmahal20/airline-passenger-satisfaction Airline Passenger Satisfaction What factors lead to customer satisfaction for an Airline? www.kaggle.com 해당 데이터셋은 이미 훈련셋과 시험셋이 나뉘어 있고, 훈련셋 10만여개, 시험셋 약 26000여개의 데이터가 포함되어 있다. 전처리가 거의 되어 있는 데이터셋이었기 때문에 Null값을..
2022.11.29 -
Day 27 - 머신러닝 9 > K 평균 군집화 (K-Means Clustering)
이번 글에서는 K평균 군집화에 대해 다룰 것이다. K평균 군집화는 그 동안 다뤘던 다른 알고리즘과 달리 비지도학습 알고리즘으로, 목표변수가 없는 상태에서 데이터를 비슷한 유형으로 묶는다. K가 붙은 것으로 알 수 있듯, 거리기반 알고리즘이다. K평균 군집화는 종속변수가 없는 데이터셋에서 데이터의 특성을 알아보기에 좋으며 구현이 간단하고 클러스터링 결과를 쉽게 해석할 수 있다. 다만 최적의 K값을 직접 찾아내야 하고, 스케일링이 필요하다는 단점이 있다. LightGBM 실습에서 활용한 카드 거래 데이터를 약간 손보아 K평균 군집화 실습에 사용했다.
2022.11.16 -
Day 26 - 머신러닝 7 > XGBoost
이번 글에서는 머신러닝 알고리즘 중 XGBoost에 대해 다룰 것이다. XGBoost는 현재 가장 인기 있는 모델이자 성능이 검증된 부스팅* 모델로, 트리 기반 모델이기 때문에 종속 변수의 데이터 타입에 관계 없이 사용할 수 있으며 이미지/자연어를 제외한 표로 정리된 데이터의 경우 거의 모두에서 활용 가능하다. XGBoost는 또한 변수 종류가 많고 데이터가 클수록 더 뛰어난 성능을 보여주기도 한다. 하지만, 복잡한 모델이기 때문에 설명력이 떨어지고 하이퍼 파라미터 튜닝이 까다롭다는 단점이 있다. *부스팅: 순차적으로 트리를 만들어 이전 트리보다 더 나은 트리를 만들어내는 알고리즘이다. XGBoost 실습을 스피드 데이팅 커플 성사 데이터셋을 통해 진행했다.
2022.11.15 -
Day 25 - 머신러닝 6 > 랜덤 포레스트 (Random Forest)
이번 글에서는 머신러닝 알고리즘 중 랜덤 포레스트에 대해 다룰 것이다. 이제는 본격적으로 사람이 해석하거나 설명하기 어려운 알고리즘의 단계까지 도달했다. 랜덤 포레스트는 기본적으로 결정 트리를 확장한 것이라고 이해하는게 좋을 것 같다. 랜덤으로 생성된 무수하게 많은 트리를 앙상블 기법*을 통해 예측하는 알고리즘으로, 결정 트리의 오버피팅 문제를 해결할 수 있다. 트리모델이기 때문에 아웃라이어에 영향을 받지 않으며 종속변수의 데이터 타입에 관계 없이 사용할 수 있고, 데이터의 선형/비선형 관계를 구별하지 않는다는 장점이 있다. 다만, 속도가 느리고 모델 해석이 어렵다는 단점이 있다. 이 모델 해석의 경우에는 앙상블 기법을 사용하는 모델의 경우에는 공통적으로 적용되는 단점이라고 할 수 있다. *앙상블 기법:..
2022.11.14 -
Day 23/24 - 머신러닝 5 > 결정 트리 (Decision Tree)
이번 글에서는 머신러닝 알고리즘 중 하나인 결정 트리에 대해 정리할 것이다. 결정 트리는 각 변수의 특정 지점을 기준으로 데이터를 쪼개가면서 예측 모델을 만드는 알고리즘으로, 트리 기반 모델의 기본 모델이다. 다른 트리 기반 모델에 비해 예측력과 성능이 떨어지지만 다른 모델을 이해하기 위해 필요하며, 시각화에 용이하다. 종속변수의 데이터 타입에 관계 없이 사용 가능하며, 아웃라이어에 영향을 거의 받지 않는다는 장점이 있지만, 트리의 깊이가 너무 깊어지면 오버피팅이 발생할 위험성이 크다는 단점이 있다. Kaggle의 Salary 데이터를 활용하여 실습을 진행했다. 결정 트리의 장점과 단점을 너무나 잘 알 수 있는 실습이었다. 설명력이 높고 시각화에 유용하다는 장점도 확인했고, 오버피팅 문제가 일어나기 쉽다..
2022.11.12 -
Day 22/23 - 머신러닝 4 > 나이브 베이즈 (Naive Bayes)
이번 글에서는 머신러닝 모델 중 나이브 베이즈에 대해 다룰 것이다. 나이브 베이즈는 조건부 확률 기반의 분류 모델로, 스팸 필터링을 위한 대표적인 모델이라고 한다. 나이브 베이즈의 경우 속도가 빠르면서 작은 데이터셋으로도 잘 예측한다는 장점이 있지만, 모든 독립변수가 각각 독립적이라고 전제한다는 단점이 있다. 현실 세계에서 이런 데이터는 드물기 때문에 나름 치명적인 단점이라고 할 수 있겠다. 나이브 베이즈 실습은 SMS Spam Collection 데이터를 통해 진행했다. 나이브 베이즈 모델 자체의 개념은 조건부 확률의 개념만 명확히 알고 있으면 쉬우나, 언어데이터를 벡터화하는 과정이 전처리에서 추가된다는 점을 잘 알아두어야 겠다. 또한 아무래도 영어가 이런 분석에 있어 연구가 많이 진행되어 더 쉬운데,..
2022.11.09