2022 데이터 사이언스/빅데이터 분석과 모델링 20

20. 군집 분석: K-Means Clustering

군집 분석은 알고리즘이 스스로 라벨링 되지 않은 데이터를 분류하고 유사한 데이터끼리 묶는 비지도 학습 방식이다. 머신러닝에는 두 가지 모델 학습 방식이 존재한다. 사전에 제공된 정답(레이블) 데이터를 바탕으로 학습하는 지도 학습(Supervised Learning)과, 정답이 없는 데이터의 패턴을 스스로 찾아 학습하는 비지도 학습(Unsupervised Learning)이다. 지도 학습에는 분류(Classification)와 회귀(Regression) 모델이 있다. 이번 포스팅에서 다루게 될 군집화(Clustering)는 비지도 학습에 해당한다. 군집화(Clustering) 군집 분석에서 동일한 군집에 소속된 관측치들은 서로 유사할수록, 다른 집단에 소속된 관측지들은 유사하지 않을수록 군집화 모델의 성능..

19. 차원 축소 및 주성분 분석(PCA)

차원을 축소하여 복잡도를 줄이면서 정보의 손실을 최소화할 수 있는 방법 변수(feature) 간의 독립성이 만족되면 이론적으로는 변수가 많아질수록 모델의 성능이 향상된다. 하지만 실제로는 변수들이 독립적이지 않고, 변수의 수가 일정 수준 이상이 되면 성능이 저하된다. 머신러닝에서 차원(Dimension)은 변수(feature) 하나하나를 의미한다. 독립변수가 한 개면 1차원, 두 개면 2차원, ... , n개면 n차원인 식이다. 차원의 저주(Curse of Dimensionality) 앞서 말했듯이 변수의 수, 즉 차원이 증가하면 모델의 복잡도가 높아지고 성능이 저하된다. 이처럼 차원이 커지면서 한정된 관측치로 증가하는 차원의 패턴을 잘 설명하지 못하게 되고, 모델의 성능이 저하되는 현상을 차원의 저주(..

18. Kaggle 프로젝트: 호텔 예약

호텔 예약 취소 여부(binary data)를 예측하는 모델링 머신러닝 플랫폼 캐글(Kaggle)의 호텔 예약 관련 데이터를 활용하여, 데이터 전처리 및 시각화와 로지스틱 회귀, 랜덤 포레스트, XGBoost 등의 모델을 실습한다. 프로젝트 실습 코드는 아래 링크에서 확인할 수 있다. https://github.com/tldnjs1231/data-analytics/blob/main/data-analytics-18-hotel_booking.ipynb GitHub - tldnjs1231/data-analytics Contribute to tldnjs1231/data-analytics development by creating an account on GitHub. github.com

17. 회귀 모델 성능 비교

선형 회귀(Linear Regression) 모델과 앙상블 회귀 모델의 예측 성능 비교 지난 몇 차례의 포스팅에 걸쳐 지도 학습의 회귀/분류 모델을 알아보고 실습을 진행했다. 이번에는 Scikit-learn에서 제공하는 보스턴 주택가격 데이터로 회귀 모델 간의 성능을 비교한다. LinearRegression RandomForestRegressor XGBRegressor(XGBoost) 기본 선형 회귀 모델과 앙상블(Ensemble) 회귀 모델의 예측 성능을 비교하되, 앙상블 모델의 경우 하이퍼 파라미터를 지정한 모델과 지정하지 않은 모델을 나누어 진행한다. 아래 링크에서 회귀 모델의 예측 성능을 비교하는 실습 코드를 확인할 수 있다. https://github.com/tldnjs1231/data-anal..

16. 분류(3): Ensemble

앙상블(Ensemble)은 최적의 답을 찾아내기 위하여 여러 개의 머신러닝 알고리즘을 결합한 모델을 말한다. 앙상블(Ensemble)은 서로 다른 여러 머신러닝 모델을 이용하여 최적의 답을 찾아내는 기법이다. 중간 정도 성능의 모델(Weak Classifier)을 여러 개 생성하여 예측 결과의 평균을 구한다. 단일 분류 모델보다 믿을 만한 예측 결과(Strong Calssifier)를 도출하는 것이 앙상블의 목적이다. 앙상블 기법의 종류에는 보팅(Voting), 배깅(Bagging), 부스팅(Boosting)이 있다. 보팅(Voting) : 서로 다른 알고리즘을 가진 분류 모델을 결합 배깅(Bagging) : 샘플을 중복 생성하여 결과를 도출(Random Forest) 부스팅(Boosting) : 이전 ..

15. 분류(2): Decision Tree

Decision Tree 모델은 데이터의 패턴을 학습하여 트리 기반의 분류 규칙을 생성하는 모델이다. 독립변수와 종속변수의 선형관계성에 기반한 로지스틱 회귀(Logistic Regression) 외에도 대표적인 분류 알고리즘이 몇 가지 더 존재한다. Naive Bayes(나이브 베이즈) : 베이즈 통계에 기반 Decision Tree(의사결정나무) : 데이터 균일도에 따른 규칙에 기반 SVM(Support Vector Machine) : 개별 클래스 간 최대 분류 마진을 찾는 알고리즘 Ensemble(앙상블) : 서로 다른 머신러닝 알고리즘을 결합 Artificial Neural Network(인공신경망) 앞으로의 포스팅에서 이들 중 Decision Tree 모델과 Ensemble 모델을 살펴볼 예정이다..

14. 분류(1): Logistic Regression

Logistic Regression 모델은 선형 회귀 개념을 기반으로 한 분류 모델이다. 가장 기본적인 분류 모델인 로지스틱 회귀(Logistic Regression)는 선형 회귀 기반의 모델이다. 선형 회귀 모델은 연속적인 수치 값을 예측하는 것을 목적으로 하는데, 분류 목적의 데이터는 값이 연속적이지 않고 0과 1의 이진 데이터 형태를 띤다. 가령 나이를 독립변수로, 암이 맞는지(1) 아닌지(0) 여부를 종속변수로 가지는 데이터에 선형 회귀 모델을 적용하면 아래와 같은 회귀선을 도출할 수 있다. 이진 형태의 데이터로도 선형 회귀 알고리즘 생성 및 회귀선 도출이 가능하지만, 직선이 좌표 위의 점들을 잘 설명한다고 보기는 어렵다. 이처럼 선형 회귀 개념의 적용이 어려운 이진형 종속변수에 대하여, 회귀식의..

13. Kaggle 프로젝트: 자전거 대여 수요 예측

12개의 특성 정보를 이용하여 자전거 대여 수요를 예측하는 회귀 모델링 데이터 사이언스 및 머신러닝 플랫폼 캐글(Kaggle)의 데이터를 활용하여, 전처리, 데이터 분석 및 시각화, 선형 회귀 모델 등 지금까지 학습한 내용을 실습해보려고 한다. 프로젝트 실습 코드는 아래 링크에서 확인할 수 있다. https://github.com/tldnjs1231/data-analytics/blob/main/data-analytics-13-bike_demand.ipynb GitHub - tldnjs1231/data-analytics Contribute to tldnjs1231/data-analytics development by creating an account on GitHub. github.com

12. 선형 회귀(2): 성능 평가 지표와 규제 선형 회귀

모델이 학습 데이터에 과적합되는 것을 방지하기 위해 규제를 적용한다. 선형 회귀의 목표는 오차가 최소화되는 모델을 만드는 것이다. 다만, 다중 선형 회귀 모델에서 오차가 작아지는 회귀 계수(W)들을 찾는 데만 집중하다보면, 간혹 모델이 과적합되어 회귀 계수 값이 너무 높게 산출되는 현상이 발생하기도 한다. 이러한 과적합 현상을 방지하기 위해 일반 선형 회귀 모델에 규제를 적용한 규제 모델을 사용한다. 이번 포스팅에서는 세 가지의 규제 선형 회귀 모델을 알아본다. 그 전에 회귀 모델의 적합도와 성능을 평가하는 결정계수(R²)와 손실함수를 살펴보려고 한다. 결정계수(Coefficient of Determination) 회귀 모델의 적합도는 결정계수(R², R-squared)를 통해 평가한다. 결정계수란 종속..

11. 선형 회귀(1): 단순/다중 선형 회귀

회귀 모델은 연속적인 숫자 데이터의 예측 값을 찾는 모델이다. 이번 포스팅부터는 머신러닝 알고리즘을 다룬다. 머신러닝은 지도 학습, 비지도 학습, 강화 학습으로 나누어지는데, 이 중 지도 학습을 공부하고 있으며, 지도 학습에는 분류 모델과 회귀 모델이 있다. 이번에 알아볼 회귀 모델은 연속적인 데이터, 즉 숫자 데이터의 예측 값을 찾는 모델이다. 아래는 선형 회귀 모델의 예시이며, 좌표에 분포한 점들은 실제 데이터를 의미한다. 선형 회귀 모델의 목적은 가지고 있는 실데이터의 동향을 가장 잘 설명하는 직선을 찾는 것이다. 위의 예시에서 점의 분포에 맞는 직선을 찾아내면, 이를 토대로 8시간 이상 공부했을 때의 성적과 롤러코스터가 450m 이상의 높이에 도달했을 때의 최고 순간 속력을 예측할 수 있다. 회귀..