▶차원 축소(Dimensionality Reduction) 차원 축소는 많은 feature로 구성된 다차원의 데이터 셋을 차원을 축소하여 새로운 차원의 데이터 셋을 생성하는 것을 말합니다. 다시말해서, 변수를 줄인다고 생각하면 됩니다. 이제 축소하는 방식에 대해 알아보겠습니다. 1) PCA PCA(Principal Component Analysis)는 가장 대표적인 차원 축소 기법입니다. 여러 변수 간 존재하는 상관관계를 이용해 이를 대표하는 주성분을 추출해 차원을 축소하는 기법입니다. 간단하게 분산을 최대한 보전하는 데이터의 축을 찾아 차원을 축소하는데, 이것이 PCA의 주성분이 되는 방식입니다. 위 사진에서 데이터의 분산을 가장 잘 복원한 주성분은 무엇일까요? 당연히 c1이 되겠습니다. 그러므로 c1..
▶군집화(Clustering) ▷비지도 학습 비지도 학습은 기계학습의 일종으로, 데이터가 어떻게 구성되어있는지를 알아내는 문제의 범주에 속합니다. 비지도 학습은 지도학습 혹은 강화학습과는 달리 입력값에 대한 label이 주어지지 않습니다. 대표적인 예로 군집화, 이상치 탐지, 밀도 추정에 사용합니다. ▷군집화 군집화는 비지도 학습에 속하는 알고리즘으로 유사한 속성을 갖는 샘플들을 묶어 k개의 군집(cluster)으로 나누는 것입니다. 군집(cluster) : 비슷한 특징을 가진 샘플들의 집단 비슷한 행동을 하는 고객을 동일한 클러스터로 분류하는 고객 분류, 제시된 이미지와 비슷한 이미지를 찾아주는 검색 엔진, 차원 축소를 이용하여 분석을 위한 충분한 정보를 가질 수도 있습니다. 1) K-Means Clu..
▶하이퍼파라미터 튜닝을 쉽게 하이퍼파라미터 튜닝 시 경우의 수가 너무 많습니다. 이를 자동화할 필요가 있으며, 사이킷런 패키지에서는 자주 사용되는 하이퍼파라미터 튜닝을 돕는 클래스가 존재합니다. 대표적인 방법 두 가지는 다음과 같습니다. RandomizedSearchCV GridSearchCV 또한 적용하는 방법은 다음과 같습니다. 사용할 Search 방법을 선택 hyperparameter 도메인을 설정(max_depth, n_estimators..등) 학습을 시킨 후 기다림 도출된 결과 값을 모델에 적용하고 성능을 비교 1) RandomizedSearchCV RandomizedSearchCV 방법은 모든 매개변수 값이 시도되는 것이 아니라 지정된 분포에서 고정된 수의 매개변수 설정이 샘플링 됩니다. 다..
▶교차 검증(Cross Validation) 보통은 train set으로 모델을 훈련, test set으로 모델을 검증합니다. 하지만 이 방법은 고정된 test set을 통해 모델의 성능을 검증하고 수정하는 과정을 반복하게 되면서 결국 해당 test set에만 잘 동작하는 모델이 되게 됩니다. 다시 말해 해당 test set에 과적합(overfitting)하게 되므로, 또 다른 새로운 데이터에 대해서는 예측 성능이 좋지 않게 되는 것입니다. 이를 해결하고자 하는 것이 바로 교차 검증(cross validation)입니다. 교차검증의 장점은 모든 데이터셋을 훈련에 활용할 수 있어 정확도를 향상시킬 수 있고 데이터 부족으로 인한 과소적합(underfitting)을 방지할 수 있습니다. 또한 모든 데이터셋을 ..
▶random_state에 대해서 머신러닝을 공부하다보면 'random_state='를 설정해주는 것을 많이 보셨을 겁니다. 왜 사용하는 것이며 숫자가 의미하는 것은 무엇일까요? 결론부터 말하자면, 수행시마다 동일한 결과를 얻기 위해 적용하는 것입니다. 가장 쉬운 예를 들기 위해 KFold 교차 검증에서 살펴보겠습니다. 위 그림에서 각각 반복문마다 다르게 test set와 train set을 나누게 되는데 저 값들이 고정이 되어있지 않다면 정말 나쁘게 말해 의도와는 다르게 똑같은 test set와 train set이 만들어질 수도 있다는 것입니다. 그렇기 때문에 random_state 속성을 주어 random한 값을 고정하는 역할을 수행하게 해줍니다. 또 다른 예시로 의사결정나무 기본 모델을 만들고 이후..
▶앙상블(Ensemble) 모델 머신러닝 앙상블이란 여러 개의 머신러닝 모델을 이용해 최적의 답을 찾아내는 기법입니다. 앙상블 기법의 종류는 다음과 같습니다. 보팅(Voting) : 투표를 통해 결과를 도출 배깅(Bagging) : 샘플 중복 생성을 통해 결과를 도출 부스팅(Boosting) : 이전 오차를 보완하면서 가중치를 부여 스태킹(Stacking) : 여러 모델을 기반으로 예측된 결과를 통해 meta 모델이 다시 한번 에측 이전에 회귀(Regression) 모델 글에서 사용한 예측 성능 시각화 함수(mse_eval)를 이용해서 모델 성능을 비교해보겠습니다. 함수에 대한 자세한 설명은 다음 링크를 참고해주세요 :) [머신러닝] ⑥ 회귀(Regression) 분석 A to Z ▶회귀분석(Regres..
- Total
- Today
- Yesterday
- 리액트 훅
- 자바스크립트
- react-query
- 인프런
- react
- CSS
- rtl
- 프론트엔드 공부
- testing
- TypeScript
- 머신러닝
- jest
- 파이썬
- 스타일 컴포넌트 styled-components
- 딥러닝
- styled-components
- next.js
- Python
- 데이터분석
- 자바스크립트 기초
- JSP
- 프론트엔드 기초
- 리액트
- 프론트엔드
- 타입스크립트
- 디프만
- frontend
- 자바
- HTML
- 프로젝트 회고
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |