from sklearn.linear_model import LinearRegression, Ridge, Lasso, ElasticNet
from sklearn.ensemble import RandomForestRegressor, GradientBoostingRegressor
from sklearn.svm import SVR
from sklearn.tree import DecisionTreeRegressor
import statsmodels.api as sm
from xgboost import XGBRegressor
from lightgbm import LGBMRegressor
pip install catboost
from catboost import CatBoostRegressor
import torch
import torch.nn as nn
import torch.optim as optim
from torch.utils.data import DataLoader, Dataset
import tensorflow as tf
from tensorflow import keras
from tensorflow import keras
from keras.models import Sequential
from keras.layers import Dense
| 라이브러리 | 주로 사용하는 상황/특징 | 강점 | 단점/주의점 |
|---|---|---|---|
| scikit-learn | - 표준 회귀/기초 회귀- 데이터가 적거나 중간 규모- 다양한 알고리즘 빠른 실험 | 다양한 기본 모델, 사용법 단순, 빠름 | 초대용량, 딥러닝 비효율적 |
| statsmodels | - 통계 해석/설명 필요- p값, 신뢰구간 등 통계적 결과 중요- 논문/연구/설명 | 회귀 계수 해석, 상세 통계 지원 | 속도 느림, 대용량/딥러닝 미지원 |
| XGBoost/LightGBM/ CatBoost | - 복잡/비선형/변수간 상호작용- 대규모 데이터- Kaggle, 실무에서 정확도 우선 | 성능 우수, 결측치/범주형 변수 지원 | 파라미터 튜닝 필요, 해석 약간 어려움 |
| PyTorch/TF/Keras | - 딥러닝, 복잡한 패턴, 이미지/텍스트/시계열 등- 신경망/비선형관계 학습- 큰 데이터/커스텀 모델 | 매우 유연, 딥러닝/비선형패턴 강점 | 코드 복잡, 대용량/튜닝 필요 |
from sklearn.linear_model import LogisticRegression
from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier
from sklearn.svm import SVC
from sklearn.tree import DecisionTreeClassifier
from sklearn.neighbors import KNeighborsClassifier
from xgboost import XGBClassifier
from lightgbm import LGBMClassifier
pip install catboost
from catboost import CatBoostClassifier
import torch
import torch.nn as nn
import torch.optim as optim
from torch.utils.data import DataLoader, Dataset
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
from keras.models import Sequential
from keras.layers import Dense
| 라이브러리 | 주로 사용하는 상황/특징 | 강점 | 단점/주의점 |
|---|---|---|---|
| scikit-learn | - 표준 분류/입문- 데이터 적거나 중간 규모- 다양한 분류 알고리즘 빠른 실험 | 다양한 기본 분류 모델, 쉬운 사용법 | 대용량/딥러닝에는 부적합 |
| XGBoost/LightGBM/ CatBoost | - 비선형/복잡/상호작용 변수 많음- 대규모 데이터- Kaggle, 실무에서 정확도 우선 | 성능 우수, 결측치/범주형 변수 지원 | 파라미터 튜닝 필요, 해석 약간 어려움 |
| PyTorch/TF/Keras | - 딥러닝, 이미지/텍스트/시계열/고차원- 커스텀 신경망 구조- 대용량 데이터, 비선형 분류 | 매우 유연, 딥러닝/비선형패턴 강점 | 코드 복잡, 데이터 준비, 튜닝 필요 |
| 상황 | 추천 라이브러리 | 비고 |
|---|---|---|
| 기본/표준 분류, 로지스틱/트리/랜덤포레스트 | scikit-learn | 빠르고 해석 쉬움 |
| 변수 많고, 비선형/상호작용, 대규모 데이터 | XGBoost, LightGBM, CatBoost | 실무, 대회 등 강력 |
| 딥러닝, 이미지/텍스트, 복잡 신경망 | PyTorch, TensorFlow, Keras | 커스텀/비선형/대용량 |
| 범주형 변수 많음, 자동처리 원함 | CatBoost | 전처리 편리 |
| 실전에서 높은 예측 성능 필요 | XGBoost, LightGBM, CatBoost | Kaggle/실무 표준 |
| 라이브러리 | 해석/설명 | 성능 | 대용량/복잡 | 딥러닝/비선형 | 추천 상황 |
|---|---|---|---|---|---|
| scikit-learn | ★★★★☆ | ★★★ | ★★☆☆☆ | ★★☆☆☆ | 입문, 실험, 표준 분류 |
| XGBoost 등 | ★★☆☆☆ | ★★★★★ | ★★★★★ | ★★★★☆ | 실무, 고성능, 변수많음 |
| PyTorch/TF | ★★☆☆☆ | ★★★★★ | ★★★★★ | ★★★★★ | 딥러닝, 비선형, 대용량 |
scikit-learnXGBoost, LightGBM, CatBoostPyTorch, TensorFlow, Keras| 모델 | 강점/적합 데이터 |
|---|---|
| LogisticRegression | 기본 이진/다중 분류, 해석 쉬움 |
| SVC(SVM) | 마진 큰 경계, 고차원/비선형 |
| RandomForest/GBM | 비선형, 변수간 상호작용, 변수 중요도 해석 |
| DecisionTree | 규칙/설명성, 소규모 데이터 |
| KNeighborsClassifier | 간단, 소규모, 거리 기반 |
| XGBoost/LightGBM | 실무 표준, 예측력 최고, 결측치/범주형 강점 |
| CatBoost | 범주형 변수 자동, 파라미터 튜닝 편리 |
| PyTorch/TF/Keras | 이미지/텍스트, 복잡한 신경망, 딥러닝 분야 |
[예측]회귀(sklearn) - 선형회귀(Linear Regression)
[예측]회귀(sklearn) - Ridge, Lasso, ElasticNet (정규화 회귀)
[예측]회귀(sklearn) - SVR(Support Vector Regression)
[예측]회귀(sklearn) -DecisionTreeRegressor(의사결정 트리)
[예측]회귀(sklearn) - RandomForestRegressor, GradientBoostingRegressor
[예측]분류(sklearn) - Logistic Regression
[예측]분류(sklearn) - SVC (Support Vector Classifier)
[예측]분류(sklearn) - RandomForestClassifier, GradientBoostingClassifier
[예측]분류(sklearn) - DecisionTreeClassifier (의사결정나무 분류기)