Processor

사이킷런(sklearn)이란?

작성자 임베디드코리아 작성일26-04-15 23:42 조회82회 댓글0건
사이킷런(sklearn)이란?
◆ sklearn은 사이킷런(Scikit-learn)이라고 부르며 가장 많이 사용되는 머신러닝 라이브러리 이다.
◆  여러가지 머신러닝 모듈로 구성되어 있다.
◆ scikit-learn은 오픈 소스로 공개되어 있다.
◆ 초심자가 기계학습을 배우기 시작할 때 적합한 라이브러리라고 합니다.
◆ 파이썬으로 작성된 머신러닝 라이브러리로 데이터 마이닝과 데이터 분석을 위한 다양한 도구들을 제공한다.
◆ 다양한 알고리즘과 도구를 제공하여 데이터 전처리, 모델 구축, 평가, 선택 등의 과정을 효율적으로 수행할 수 있게 해준다.

< 주요 기능 소개 >
◆ 데이터 전처리: StandardScaler, MinMaxScaler 등 다양한 정규화 및 변환 기법을 제공한다.
◆ 지도 학습: 선형 회귀, 로지스틱 회귀, 서포트 벡터 머신(SVM), 최근접 이웃(KNN), 랜덤 포레스트,
                결정 트리 등 다양한 모델이 포함되어 있다.
◆ 비지도 학습: K-평균(KMeans), DBSCAN, 주성분 분석(PCA), t-SNE 등의 알고리즘을 지원한다.
◆ 모델 평가: 교차 검증, 정확도, 정밀도, 재현율, F1-score 등의 지표를 활용할 수 있다.
◆ 파이프라인: 전처리 과정과 모델 학습을 하나의 워크플로우로 결합하여 반복적인 작업을 간소화할 수 있다.

◀ 광범위한 알고리즘 ▶
  ◐ 분류(Classification): SVM, k-NN, 랜덤 포레스트, 로지스틱 회귀, 나이브 베이즈 등 다양한 분류 알고리즘을 제공한다.
            - LogisticRegression: 이진 또는 다중 클래스 분류
            - KNeighborsClassifier: 최근접 이웃 기반 분류
            - RandomForestClassifier: 앙상블 학습 기반 분류
            - GradientBoostingClassifier: 부스팅 기반 분류
  ◐ 회귀(Regression): 선형 회귀, 리지 회귀, 라쏘 회귀, 결정 트리 등 다양한 회귀 알고리즘을 지원한다.
            - LinearRegression: 선형 회귀
            - Ridge, Lasso: 정규화를 포함한 회귀 모델
            - SVR: 서포트 벡터 회귀
            - RandomForestRegressor: 앙상블 기반 회귀
  ◐ 클러스터링(Clustering): K-평균, DBSCAN, 계층적 클러스터링 등 다양한 클러스터링 기법을 포함하고 있다.
            - KMeans: K-평균 군집화
            - DBSCAN: 밀도 기반 클러스터링
            - AgglomerativeClustering: 계층적 군집화
  ◐ 차원 축소(Dimensionality Reduction): PCA, LDA, t-SNE 등 차원 축소 기법을 통해 고차원 데이터를
                                                    저차원으로 변환할 수 있다.
            - PCA: 주성분 분석
            - TruncatedSVD: 희소 행렬 차원 축소
            - TSNE: 고차원 시각화

< 사용하기 쉬운 API >
  - 일관된 API 디자인으로 모든 알고리즘과 도구를 동일한 방식으로 사용할 수 있다.
  - fit, predict, transform, fit_transform 등의 메소드를 통해 학습, 예측, 변환을 쉽게 수행할 수 있다.

 

< 효율적인 데이터 전처리 >
  - 스케일링(Scaling): StandardScaler, MinMaxScaler 등을 통해 데이터 스케일링을 쉽게 수행할 수 있다.
  - 누락값 처리(Imputation): SimpleImputer를 사용하여 누락된 값을 쉽게 처리할 수 있다.
  - 카테고리형 데이터 처리: OneHotEncoder, LabelEncoder 등을 통해 범주형 데이터를 처리할 수 있다.

◀ 널리 사용되는 함수 및 도구 ▶
  ◐ train_test_split: 데이터를 훈련 세트와 테스트 세트로 나누는 데 사용된다.
  ◐ cross_val_score: 모델의 일반화 성능을 평가하기 위해 교차 검증 점수를 계산한다.
  ◐ GridSearchCV: 하이퍼파라미터 튜닝을 위한 그리드 탐색 기법을 제공한다.
  ◐ classification_report: 정밀도, 재현율, F1-score를 포함한 분류 모델의 성능 지표를 출력한다.
  ◐ confusion_matrix: 예측 결과와 실제 결과 간의 오차 행렬을 생성한다.
  ◐ Pipeline: 여러 전처리 및 모델 단계를 일괄 구성하여 코드의 재사용성과 가독성을 높인다.
  ◐ make_pipeline: 파이프라인을 간단히 생성할 수 있는 헬퍼 함수이다.
  ◐ StandardScaler, MinMaxScaler: 특성 값을 정규화하거나 표준화하는 데 사용된다.