✏️ 02. 사이킷런


사이킷런이란?

  • 파이썬 기반의 다른 머신러닝 패키지도 사이킷런 스타일의 API를 지향할 정도로 쉽고, 가장 파이썬다운 API를 제공

  • 머신러닝을 위한 매우 다양한 알고리즘과 개발을 위한 편리한 프레임워크와 API를 제공

  • 오랜 기간 실전 환경에서 검증됐으며, 매우 많은 환경에서 사용되는 성숙한 라이브러리

  • 주로 Numpy와 Scipy 기반 위에서 구축된 라이브러리


머신러닝을 위한 용어 정리

  • Feature (X)
    • Feature는 데이터 세트의 일반 속성
    • 머신러닝은 2차원 이상의 다차원 데이터에서도 많이 사용되므로 타겟값을 제외한 나머지속성을 모두 Feature로 지칭

  • Label, Class, Target (y)
    • Target은 지도 학습 시 데이터의 학습을 위해 주어지는 정답 데이터
    • 지도 학습 중 분류의 경우에는 이 타겟을 레이블로 지칭
    • 클래스는 분류 문제에서 레이블의 종류를 의미

Estimator 프레임 워크

  • 추정기 초기화, 데이터 모델링, 모델의 파라미터 추정, 예측 수행

  • Estimator를 사용하면 일관된 API를 사용하여 다양한 모델들을 쉽게 비교하고, 성능을 개선하며, 모델을 선택할 수 있다.

  • 모델 학습 및 예측을 병렬로 처리할 수 있어, 대규모 데이터 세트에서도 빠른 모델 학습과 예측을 수행 가능하다.

  • fit(X,y): 학습

  • predict(X): 예측


사이킷런 주요 모듈 소개

Module설명
sklearn.datasets사이킷런에 내장되어 예제로 제공하는 데이터 세트
sklearn.model_selection교차 검증을 위한 학습용/테스트용 분리, 그리드 서치(Grid Search)로 최적 파라미
터 추출 등의 API 제공
sklearn.preprocessing데이터 전처리에 필요한 다양한 가공 기능 제공
(인코딩, 정규화, 스케일링 등)
sklearn.feature_selection알고리즘에 큰 영향을 미치는 피처를 우선순위 대로 셀렉션 작업을 수행하는 다양한
기능을 제공
sklearn.feature_extraction텍스트 데이터나 이미지 데이터의 벡터화된 피처를 추출하는데 사용
텍스트 데이터 피처 추출( sklearn.feature_selection.text )
이미지 데이터 피처 추출(sklearn.feature_selection.image)
sklearn.decomposition차원 축소와 관련한 알고리즘을 지원하는 모듈
PCA, NMF, Truncated SVD 등을 통한 차원 축소 기능 수행
sklearn.metrics분류, 회귀, 클러스터링 등에 대한 다양한 성능측정 방법 제공
Accuracy, Precision, Recall, ROC-AUC, RMSE 등 제공
sklearn.ensemble앙상블 알고리즘 제공
RandomForest, AdaBoost, GradientBoosting 등
sklearn.linear_model주로 선형 회귀, Ridge, Lasso 및 LogisiticRegression 등 회귀 관련 알고리즘
지원. SGD(Stochastic Gradient Descent) 관련 알고리즘도 지원
sklearn.naive_bayes나이브 베이즈 알고리즘 제공. 가우시안 NB, 다항 분포 NB 등 지원
sklearn.neighbors최근접 이웃 알고리즘 제공. KNN 등
sklearn.svm서포트 벡터 머신 알고리즘 제공
sklearn.tree의사 결정 트리 알고리즘 제공
sklearn.cluster비지도 클러스터링 알고리즘 제공
(K-Mean, 계층형, DBSCAN 등)
sklearn.pipeline피처 처리 등의 변환과 ML 알고리즘 학습, 예측 등을 함께 묶어서 실행할 수 있는 유
틸리티 제공


📌 참고 문헌

    • 📕 파이썬 머신러닝 완벽 가이드 / 권철민
  • 사이킷런 공식 홈페이지

  • 해당 챕터의 실습 및 예제 코드는 아래 링크의 Machine Learning 참조 해주시면 됩니다.

profile
My path to becoming contributor from user

0개의 댓글

Powered by GraphCDN, the GraphQL CDN