매일공부

[sklearn] 사이킷런 (scikit-learn) 주요 모듈 본문

IT/ML

[sklearn] 사이킷런 (scikit-learn) 주요 모듈

aram 2022. 11. 20. 23:55

 

  • sklearn.datasets : 예제로 제공하는 데이터 세트
    >> sklearn.datasets.make_regression()
      : 선형 회귀에 사용할 데이터 셋 생성 (선형으로 분산된 데이터를 생성, 가우스 노이즈의 표준 편차, 원하는 피쳐의 수 지정 가능)
    >> sklearn.datasets.make_classification()
      : 분류에 필요한 모의 데이터 셋 생성, 실수 특성 행렬과 클래스의 소속을 나타내는 정수 타깃 벡터를 반환
    >> sklearn.datasets.make_blobs() - 군집 알고리즘에 적용할 데이터셋 생성 (n개의 무작위 데이터 클러스터를 생성)
    >> sklearn.datasets.make_circles() - 두개의 차원에 작은 원을 포함하는 큰 원이 포함된 임의의 데이터셋을 생성,
  • sklearn.preprocessing : 데이터 전처리에 필요한 다양한 가공 기능 제공(문자열을 숫자형 코드 값으로 인코딩, 정규화, 스케일링 등)
  • sklearn.feature_selection : 알고리즘에 큰 영향을 미치는 피처를 우선순위대로 셀렉션 작업을 수행 하는 다양한 기능 제공
  • sklearn.feature_extraction : 텍스트 데이터나 이미지 데이터의 벡터화된 피처를 추출하는데 사용됨
    > sklearn.feature_extraction.text : 텍스트 데이터의 피처 추출
    > sklearn.feature_extraction.image : 이미지 데이터의 피처 추출
  • sklearn.decomposition : 차원 축소와 관련한 알고리즘을 지원하는 모듈, PCA, NMF, Truncated SVD 등을 통해 차원 축소 기능을 수행 할 수 있음

 

1. 데이터 분할 – 모델을 학습시키기 위한 데이터셋과 모델의 성능을 테스트하기 위한 데이터셋으로 분리한다 

  • sklearn.model_selection : 교차 검증을 위한 학습용/테스트용 분리, 그리드 서치(Grid Search)로 최적 파라미터 추출 등의 API 제공

 

2. 모델 생성 – 예측 목적에 맞는 모델 생성, 하이퍼파라미터 설정 
   하이퍼파라미터 – 학습에 의해 찾는 값이 아닌 개발자가 직접 설정해야 하는 파라미터 

  • sklearn.ensemble : 앙상블 알고리즘 제공 랜덤 / 포레스트, 에이다 부스트, 그레디언트 부스팅 등을 제공
  • sklearn.linear_model : 주로 선형 회귀, 릿지(Ridge), 라쏘(Lasso) 및 로지스틱 회귀 등 회귀 관련 알고리즘을 지원, SGD(Stocastic Gradient Descent) 관련 알고리즘 제공
  • sklearn.naïve_bayes : 나이브 베이즈 알고리즘 제공, 가우시안 NB, 다항 분포 NB 등
    sklearn.neighbors : 최근접 이웃 알고리즘 제공, K-NN 등
    sklearn.svm : 서프트 벡터 머신 알고리즘 제공
    sklearn.tree : 의사 결정 츠리 알고리즘 제공
    sklearn.cluster : 비지도 클러스터링 알고리즘 제공 (K-평균, 계층형, DBSCAN 등)
  • sklearn.pipeline : 피처 처리 등의 변환과 ML 알고리즘 학습, 예측 등을 함께 묶어서 실행할 수 있는 유틸리트 제공

 

3. 모델 학습 - fit, 훈련 데이터로 모델 학습 또는 특징 추출

4. 예측 – predict / predict_prob(예측), transform(변환) 테스트 데이터셋 예측 또는 변환 

 

5. 평가 – 모델 성능 평가 정확도, AUC, R2, MSE 등 목적에 맞는 적절한 평가 함수를 이용해 결과 확인

  • sklearn.metrics
    : 분류, 회귀, 클러스터링, 페어와이즈(Pairwise)에 대한 다양한 성능 측정 방법 제공 
    : Accuracy, Precision, Recal, ROC-AUC, RMSE 등 제공

 

Comments