본문 바로가기
데이터사이언티스트 Data Scientist

사이킷런(scikit-learn) 이란?

by 루시달 2024. 11. 7.

*사이킷런(Scikit-learn)은 파이썬에서 머신러닝데이터 분석을 위한 오픈 소스 라이브러리입니다. 간단한 인터페이스와 강력한 기능으로 머신러닝 모델 개발 및 데이터 전처리 과정을 쉽게 구현할 수 있도록 도와줍니다.

 

  • 파이썬을 활용한 머신러닝 도구 
  • 데이터 분석(예측)을 위한 간단하고 효율적인 도구
  • 누구나 쉽게 다양한 상황에서 활용 가능
  • 오픈소스

 

사이킷런으로 할 수 있는 것
- 분류 (ex. 스팸메일)
- 회귀 (ex. 가격)
- 클러스터링 (ex. 고객 세그먼트)
- 차원축소 (ex. 변수(컬럼)의 수를 줄임)
- 모델 선택 (ex. 모델 튜닝, 평가)
- 전처리 (ex. 데이터 가공/변환)

 

1. Scikit-learn의 주요 특징

(1) 다양한 알고리즘 지원

사이킷런은 지도 학습비지도 학습을 포함하여 여러 머신러닝 알고리즘을 제공합니다. 예를 들면:

  • 지도 학습 (Supervised Learning):
    • 회귀 (Regression): 선형 회귀, 리지 회귀 등.
    • 분류 (Classification): 로지스틱 회귀, 서포트 벡터 머신(SVM), 랜덤 포레스트 등.
  • 비지도 학습 (Unsupervised Learning):
    • 클러스터링(Clustering): K-Means, DBSCAN.
    • 차원 축소(Dimensionality Reduction): PCA, t-SNE.
  • 모델 평가 및 선택:
    • 교차 검증(Cross-validation)
    • 하이퍼파라미터 튜닝(GridSearchCV, RandomizedSearchCV)

(2) 데이터 전처리 기능

  • 스케일링(Scaling): 데이터 정규화(StandardScaler, MinMaxScaler)
  • 결측값 처리: SimpleImputer
  • 원-핫 인코딩: OneHotEncoder
  • 파이프라인(Pipeline): 데이터 전처리와 모델링을 결합하여 효율적인 워크플로우 구축.

(3) 일관된 API

모든 알고리즘이 fit(), predict(), transform() 메서드를 공통적으로 사용하여, 배우기 쉽고 빠르게 활용할 수 있습니다.

 

3. 장점

  • 사용 편의성: 직관적인 API와 풍부한 문서화.
  • 다양한 기능: 전처리, 모델링, 평가, 하이퍼파라미터 튜닝까지 지원.
  • 호환성: NumPy, Pandas, Matplotlib 등 다른 데이터 분석 라이브러리와 원활하게 작동.

5. Scikit-learn의 한계

  • 대규모 데이터: 매우 큰 데이터셋에서는 메모리 제약으로 인해 다른 프레임워크(e.g., TensorFlow, PyTorch)가 필요할 수 있음.
  • 딥러닝 지원 부족: 딥러닝과 같은 고도로 복잡한 모델은 직접 지원하지 않음. (대신 TensorFlow, PyTorch 사용 권장)

 

 

 

사이킷런 관련해서 더 자세히 알고 싶으시면 아래 링크를 참고해주세요.

사이킷런 공식문서 사이트 바로가기 링크

반응형