[Scikit-learn] 사이킷런 기초

Ethan·2022년 5월 2일
2

사이킷런 알고리즘 선택 기준

https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html

사이킷런이 제공하는 알고리즘은 크게 4가지다.
Classification, Regression, Clustering, Dimensionality Reduction

Classification

SVC, kernel approximation, SGD classifier, Linear SVC, Ensemble Classifiers, Naive Bayes, KNeighbors Classifiers

Regression

SGD regressor, Lasso, ElasticNet, RidgeRegression, SVR(linear), SVR(rbf), EnsembleRegressors

Clustering

GMM, Spectral Clustering, KMeans, VBGMM, MeanShift, MiniBatch KMeans

Dimensionality Reduction

Randomized PCA, kernel approximation, LLE, Isomap, Spectral Embedding


자주 쓰는 메소드 / 데이터셋

사이킷런에서 제공하는 데이터셋은 numpy.ndarray, pandas.DataFrame, 그리고 SciPy의 Sparse Matrix를 가지고 나타낼 수 있다.

사이킷런은 특성 행렬, 그리고 타겟 벡터로 데이터를 표현한다.

특성 행렬 Feature Matrix

  • 입력 데이터
  • 특성(Feature): 개별 관측치 | 특성 행렬에서는 column
  • 표본(sample): 각 입력 데이터 | 특성 행렬에서는 row
  • n_samples: 행의 개수(표본의 개수)
  • n_features: 열의 개수(특성의 개수)
  • X: 통상 특성 행렬은 변수명 X로 표기
  • [n_samples, n_features]은 [행, 열] 형태의 2차원 배열 구조를 사용

타겟 벡터 Target Vector

  • 입력 데이터의 라벨(정답)
  • 목표(Target): 라벨, 타겟값, 목표값 | 특성 행렬에서 예측하고자 하는 것
  • n_samples: 벡터의 길이(라벨의 개수)
  • 타겟 벡터에서 n_features는 없다.
  • y: 통상 타겟 벡터는 변수명 y로 표기
  • 타겟 벡터는 보통 1차원 벡터로 나타낸다. 경우에 따라 1차원 이상도 가능

► 특성 행렬 X의 n_samples와 타겟 벡터 y의 n_samples는 동일해야 한다.

profile
재미있게 살고 싶은 대학원생

0개의 댓글