회귀 / 분류에 사용하는 라이브러리

c.haha.e·2025년 8월 13일

STUDY

목록 보기
17/27

1. 회귀에 사용하는 라이브러리

(1) scikit-learn (사이킷런)

  • LinearRegression (선형회귀)
  • Ridge, Lasso, ElasticNet (정규화 회귀)
  • SVR (Support Vector Regression)
  • RandomForestRegressor, GradientBoostingRegressor
  • DecisionTreeRegressor

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

(2) statsmodels

  • 통계적 회귀 분석에 특화 (해석이 필요할 때)

import statsmodels.api as sm

(3) XGBoost, LightGBM, CatBoost

  • 고성능 트리 기반 회귀 (분류도 가능)

from xgboost import XGBRegressor
from lightgbm import LGBMRegressor

pip install catboost
from catboost import CatBoostRegressor

(4) PyTorch, TensorFlow, Keras

  • 딥러닝 기반 회귀 (신경망)
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- 딥러닝, 복잡한 패턴, 이미지/텍스트/시계열 등- 신경망/비선형관계 학습- 큰 데이터/커스텀 모델매우 유연, 딥러닝/비선형패턴 강점코드 복잡, 대용량/튜닝 필요

2. 분류에 사용하는 라이브러리

(1) scikit-learn

  • LogisticRegression (로지스틱 분류)
  • SVC (Support Vector Classifier)
  • RandomForestClassifier, GradientBoostingClassifier
  • DecisionTreeClassifier
  • KNeighborsClassifier

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

(2) XGBoost, LightGBM, CatBoost

  • 강력한 분류기 (회귀도 지원)

from xgboost import XGBClassifier
from lightgbm import LGBMClassifier

pip install catboost
from catboost import CatBoostClassifier

(3) PyTorch, TensorFlow, Keras

  • 딥러닝 기반 분류 (분류용 출력층, 예: Softmax)
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, CatBoostKaggle/실무 표준

요약 표

라이브러리해석/설명성능대용량/복잡딥러닝/비선형추천 상황
scikit-learn★★★★☆★★★★★☆☆☆★★☆☆☆입문, 실험, 표준 분류
XGBoost 등★★☆☆☆★★★★★★★★★★★★★★☆실무, 고성능, 변수많음
PyTorch/TF★★☆☆☆★★★★★★★★★★★★★★★딥러닝, 비선형, 대용량

실전 팁

  • 빠른 실험/기본 분류: scikit-learn
  • 고성능/비선형/대용량: XGBoost, LightGBM, CatBoost
  • 딥러닝, 이미지/텍스트: PyTorch, 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 (의사결정나무 분류기)

[예측]회귀&분류 - XGBoost, LightGBM, CatBoost

[해석]회귀(statsmodels)

profile
기록용 블로그

0개의 댓글