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 ..
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..
Linear Regression
·
Machine Learning
선형 회귀, Linear Regression 가장 기초적인 머신러닝 모델 여러 가지 데이터를 활용하여 연속형 변수인 목표 변수를 예측해 내는 것이 목적 예측할 종속변수만 연속형 변수이면 되며, 그 외 변수는 연속형일 필요 없음 장점 단점 모델이 간단하기 때문에 구현과 해석이 쉬움 최신 알고리즘에 비해 예측력이 떨어짐 같은 이유로 모델링하는 데 오랜 시간이 걸리지 않음 독립변수와 예측 변수의 선형 관계를 전제로 하기 때문에, 이러한 전제에서 벗어나는 데이터에서는 좋은 예측을 보여주기 어려움 연속형 변수: 나이, 키와 같이 연속적으로 이어지는 변수(만족도, 키, 몸무게 등) 데이터 간의 크고 작음을 비교하거나 사칙연산 등을 할 수 있음 범주형 변수: 이어지는 숫자가 아닌 각 범주로 구성된 변수(계절, 성별 ..