LightGBM
·
Machine Learning
LightGBM XGBoost 이후로 나온 최신 부스팅 모델 리프 중심 트리 분할 방식 사용 종속변수가 연속형 데이터인 경우든 범주형 데이터인 경우든 모두 사용할 수 있음 이미지나 자연어가 아닌 표로 정리된 데이터라면 거의 모든 상황에서 활용할 수 있음 장점 단점 XGBoost보다도 빠르고 높은 정확도를 보여주는 경우가 많음 복잡한 모델인 만큼, 해석에 어려움이 있음 예측에 영향을 미친 변수의 중요도를 확인할 수 있음 하이퍼파라미터 튜닝이 까다로움 변수 종류가 많고 데이터가 클수록 상대적으로 뛰어난 성능을 보여줌 코드 import lightgbm as lgb model = lgb.LGBMClassifier(random_state=100) model.fit(X_train, y_train) pred = mo..
XGBoost
·
Machine Learning
XGBoost 가장 먼저 개발된 부스팅 알고리즘 손실 함수뿐만 아니라 모형 복잡도까지 고려함 캐글 컴피티션 우승자가 많이 사용하는 성능이 검증된 부스팅 모델 종속변수가 연속형 데이터인 경우든 범주형 데이터인 경우든 모두 사용 가능 이미지나 자연어가 아닌 표로 정리된 데이터의 경우, 거의 모든 상황에 활용할 수 있음 장점 단점 예측 속도가 상당히 빠르며, 예측력 또한 좋음 복잡한 모델인 만큼, 해석이 어려움 변수 종류가 많고 데이터가 클수록 상대적으로 뛰어난 성능을 보여줌 더 나은 성능을 위한 하이퍼파라미터 튜닝이 까다로움 부스팅: 순차적으로 트리를 만들어 이전 트리로부터 더 나은 트리를 만들어내는 알고리즘 트리 모델을 기반으로 한 최신 알고리즘 중 하나 XGBoost, LightGBM, CatBoost ..
Decision Tree
·
Machine Learning
결정 트리, Decision Tree 관측값과 목푯값을 연결시켜 주는 예측 모델로서 나무 모양으로 데이터를 분류함 수많은 트리 기반 모델의 기본 모델(based model) 선형 모델과는 달리, 트리 모델에서는 각 변수의 특정 지점을 기준으로 데이터를 분류해 가며 예측 모델을 만듦 장점 단점 데이터에 대한 가정이 없는 모델임(Nonparametric Model) 트리가 무한정 깊어지면 오버피팅 문제를 야기할 수 있음 예를들어 선형 모델은 정규분포에 대한 가정이나 독립변수와 종속변수의 선형 관계 등을 가정으로 하는 모델인 반면, 결정 트리는 데이터에 대한 가정이 없어 어디에나 자유롭게 적용할 수 있음 추후에 등장할 트리 기반 모델들에 비하면 예측력이 상당히 떨어짐 아웃라이어에 영향을 거의 받지 않음 트리 ..
Naive Bayes
·
Machine Learning
나이브 베이즈 모델 Naive Bayes 베이즈 정리를 적용한 조건부 확률 기반의 분류 모델 조건부 확률: A가 일어났을 때 B가 일어날 확률 딥러닝보다 간단한 방법으로 자연어 처리를 원할 때 나이브 베이즈 모델을 사용 장점 단점 비교적 간단한 알고리즘에 속하며 속도 또한 빠름 모든 독립변수가 각각 독립적임을 전제로 하는데 이는 장점이 되기도하고 단점이 되기도 함 작은 훈련셋으로도 잘 예측함 실제로 독립변수들이 모두 독립적이라면 다른 알고리즘보다 우수할 수 있지만, 실제 데이터에서 그런 경우가 많지 않기 때문에 단점임 각 독립변수들이 모두 독립적이고 그 중요도가 비슷할 때 유용함 자연어 처리(NLP)에서 간단하지만 좋은 성능을 보여줌 범주 형태의 변수가 많을 때 적합하며, 숫자형 변수가 많은 때는 적합하..
KNN(K Nearest Neighbors)
·
Machine Learning
K-최근접 이웃 모델, KNN(K Nearest Neighbors) 종속변수가 범주형이며, 개수가 3개 이상인 다중분류(Multiclassification)을 다룸 거리 기반 모델로, 각 데이터 간의 거리를 활용해서 새로운 데이터를 예측 다중분류 모델에서 가장 간편히 적용할 수 있는 알고리즘으로 baseline으로 사용 주로 분류에 사용되며, 로지스틱 회귀로 해결할 수 없는 3개 이상의 목표 변수들도 분류할 수 있음 작은 데이터셋에 적합 장점 단점 수식에 대한 설명이 필요없을 만큼 직관적이고 간단함 데이터가 커질수록 상당히 느려질 수 있음 선형 모델과 다르게 별도의 가정이 없음 아웃라이어에 취약함 코드 from sklearn.neighbors import KNeighborsClassifier knn = ..
Logistic Regression
·
Machine Learning
로지스틱 회귀, Logistic Regression Yes/No, True/False와 같은 두 가지로 나뉘는 분류 문제(=이진 분류)를 다룸 알고리즘의 근간을 선형 회귀 분석에 두고 있어 선형 회귀 분석과 상당히 유사함 분류 문제에 있어서 Baseline으로 자주 활용됨(타 모델과 비교 목적) 장점 단점 선형 회귀 분석만큼 구현하기 용이함 선형 회귀 분석을 근간으로 하고 있기 때문에, 선형 관계가 아닌 데이터에 대한 예측력이 떨어짐 계수(기울기)를 사용해 각 변수의 중요성을 쉽게 파악할 수 있음 코드 from sklearn.linear_model import LogisticRegression model = LogisticRegression() # 로지스틱 회귀 model.fit(X_train, y_tr..