일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- Set
- AI
- 데이터사이언스 스쿨
- 자연어처리
- 제로베이스 데이터사이언스
- 후기
- 코딩도장
- 클래스
- 파이썬
- 함수
- NLP
- TensorFlow
- 딥러닝
- 속성
- 데이터사이언티스트
- 데이터분석
- 머신러닝
- AIFFEL
- 재귀함수
- 아이펠
- numpy
- 추천시스템
- 스크랩
- Python
- 카카오
- 사이킷런
- 파이썬코딩도장
- 딕셔너리
- 기사
- 제어문
- Today
- Total
뮤트 개발일지
AIFFEL 아이펠 사이킷런으로 구현해보는 머신러닝 본문
지도학습에 속하는 대표적인 알고리즘
- 분류classification: 예측해야할 데이터가 범주형 변수일때 분류라고 함
- 회귀regression: 예측해야할 데이터가 연속적인 값일때 회귀라고 함
- 예측forecastiog: 과거 및 현재 데이터를 기반으로 미래를 예측하는 과정. 예를 들어 올해와 전년도 매출을 기반으로 내년도 매출을 추산하는 것
비지도학습에 속하는 대표적인 알고리즘
- 클러스터링: 특정 기준에 따라 유사한 데이터끼리 그룹화함
- 차원축소: 고려해야할 변수를 줄이는 작업. 변수와 대상간 진정한 관계를 도출하기 용이
특정 알고리즘의 예
: 선형회귀, 로지스틱회귀, 트리, 앙상블트리(랜덤포레스트. 그래디언트 부스팅), 신경망&딥러닝을 사용하는 알고리즘, K평균, K모드, 가우시안혼합모델 클러스터링, DBSCAN, 계층적 군집화, PCA, SVD, LDA
사이킷런에서 알고리즘의 task
: Classification, Regression, Clustering, Dimensionality Reduction
사이킷런에서 알고리즘 분류 기준
: 데이터수량, 라벨의 유무(정답의 유무), 데이터의 종류(수치형 데이터quantity, 범주형 데이터 category 등)
사이킷런에서 소개하는 Classification용 알고리즘 종류
: SGD Classifier, KNeighborsClassifier, LinearSVC, NaiveBayes, SVC, Kernel approximation, EnsembleClassifiers
사이킷런에서 소개하는 Regression용 알고리즘 종류
: SGD Regressor, Lasso, ElasticNet, RidgeRegression, SVR(kernel='linear'), SVR(kernel='rbf'), EnsembleRegressor
사이킷런에서 훈련 데이터와 테스트 데이터를 나누는 기능을 제공하는 함수
: sklearn.model_selection 안의 train_test_split
사이킷런에서 ETL(Extract Transform Load) 기능을 수행하는 함수
: transformer()
사이킷런에서 모델model로 표현되는 클래스
: Estimator
Estimator클래스의 메소드
: fit(), predict()
Estimator와 transformer() 2가지 기능을 수행하는 사이킷런의 API
: Pipline 혹은 meta-estimator
사이킷런의 주요 모듈
(1) 데이터 표현법
비고 | 모듈명 | 설명 |
데이터셋 | sklearn.datasets | 사이킷런에서 제공하는 데이터셋 |
데이터타입 | sklearn.utils.Bunch | 사이키선에서 제공하는 데이터셋의 데이터 타입(자료형) |
데이터 전처리 | sklearn.preprocessing | 데이터 전처리(정규화, 인코딩, 스케일리 등) |
데이터 분리 | sklearn.model_selection.train_test_split | 학습용/테스트용 데이터셋 분리 |
평가 | sklearn.metrics | 분류, 회귀, 클러스터링 알고리즘의 성능을 측정하는 함수를 제공 |
머신러닝 알고리즘 (모델) |
sklearn.ensemble | 앙상블관련 머신러닝 알고리즘 - 랜덤 포레스트, 에이다 부스트, 그래디언트 부스팅 |
sklearn.linear_model | 선형 머신러닝 알고리즘 - 릿지, 라쏘, SGD 등 | |
sklearn.naive_bayes | 나이브 베이즈 관련 머신러닝 알고리즘 | |
sklearn.neighbors | 최근접 이웃 모델 관련 - 릿지, 라쏘, SGD 등 | |
sklearn.svm | SVM 관련 머신러닝 알고리즘 | |
sklearn.tree | 트리 관련 머신러닝 알고리즘 - 의사결정 트리 등 | |
sklearn.cluster | 군집관련 머신러닝 알고리즘 |
데이터 표현법
사이킷런에서 제공하는 데이터셋: NumPy의 ndarray, Pandas의 DataFrame, SciPy의 Sparse Matrix
데이터 표현방식: 특성 행렬Feature Matrix, 타겟 벡터Target Vector
특성 행렬Feature Matrix
- 입력 데이터를 의미한다.
- 특성feature: 데이터에서 수치 값, 이산 값, 불리언 값으로 표현되는 개별 관측치 의미. 특성 행렬에서는 열에 해당하는 값
- 표본sample: 각 입력 데이터. 특성 행렬에서는 행에 해당하는 값
- n_samples: 행의 개수(표본의 개수)
- n_features: 열의 개수(특성의 개수)
- X: 통상 특성 행렬은 변수명 X로 표기
- [n_samples, n_features]는 [행, 열] 형태의 2차원 배열 구조를 사용하며 이는 NumPy의 ndarray, Pandas의 DataFrame, SciPy의 Spares Matrix를 사용해서 나타낼 수 있다.
타겟 벡터Target Vector
- 입력 데이터의 라벨(정답)을 의미한다.
- 목표target: 라벨, 타겟값, 목표값이라고도 부르며 특성 행렬로부터 예측하고자 하는 것을 말한다.
- n_samples: 벡터의 길이(라벨의 개수)
- 타겟 벡터에서 n_features는 없다.
- y: 통상 타겟 벡터는 변수명 y로 표기
- 타겟 벡터는 보통 1차원 벡터로 나타내며, 이는 NumPy의 ndarray, Pandas의 Series를 사용하여 나타낼 수 있다.
- 단, 타겟 벡터는 경우에 따라 1차원으로 나타내지 않을 수도 있다.
* 특성 행렬 X의 n_samples와 타겟 벡터 y의 n_samples는 동일해야 한다.
'AIFFEL' 카테고리의 다른 글
AIFFEL 아이펠 11일차 (0) | 2022.01.11 |
---|---|
AIFFEL 아이펠 10일차 (0) | 2022.01.11 |
AIFFEL 아이펠 9일차 (0) | 2022.01.06 |
AIFFEL 아이펠 8일차 (0) | 2022.01.05 |
AIFFEL 아이펠 다양한 데이터 전처리 기법 (0) | 2022.01.05 |