-
빅데이터분석기사 실기 준비 - Day 5 (2)자격증/빅데이터분석기사 2021. 12. 1. 02:27반응형
[머신러닝 핵심 알고리즘]
1. 로지스틱 회귀모델
- 로지스틱 회귀분석은 종속변수가 범주형일 때 적용
- 주요 하이퍼파라미터
- C : [0.001, 0.01, 0.1, 1, 10, 100]
- linear_model => LogisticRegression
2. KNN(K-최근접이웃법)
- 각 데이터들 간의 거리를 측정하여 가까운 k개의 다른 데이터의 레이블을 참조하여 분류하는 방법
- 거리는 주로 유클리디안 or 민코브스키(minkowski) 방법을 사용함
- 주요 하이퍼파라미터로 K가 있음
K : 몇 개의 케이스들을 기준으로 동일 범주 혹은 동일 값을 분류하거나 예측할 것인가
3~10 범위 내에서 찾음
K가 작을수록 정교한 분류와 예측 가능 but train data에는 좋은 결과 보이지만 test data에는 overfitting 발생 가능
K가 클수록 train data의 성능지표가 안 좋을 수 있음 underfitting 될 수 있음 - neighbors => KNeighborsClassifier, KNeighborsRegressor
- 주요 하이퍼파라미터
- n_neighbors: 1에 가까울수록 overfitting, 클수록 underfitting
회귀
- 회귀에서 정확도 model.score 는 R^2(설명력, 결정계수)를 나타냄, 0~1 사이 값을 가지고 높을수록 좋은 모델
3. 나이브 베이즈
- 사건 B가 주어졌을 때 사건 A가 일어날 확률인 P(A|B), 조건부 확률과 베이즈 정리를 이용한 알고리즘
- 나이브 => 예측에 사용되는 특성치(X)가 상호 독립적이라는 가정하를 의미
- 즉, 모든 특성치들이 레이블 분류 or 예측하는 데에 동등한 역할을 한다는 것을 의미
- naive_bayes => GaussianNB 주로 사용
- 주요 하이퍼파라미터
- var_smoothing : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
- 회귀랑 나이브 베이즈 알고리즘과는 잘 맞지 않음
4. 인공신경망
- 인공신경망은 인간의 뉴런구조와 활성화 작동원리를 근간으로 input(자극)과 output(반응)과의 연관을 구현한 알고리즘
- neural_network => MLPRegressor, MLPClassifier
- 주요 하이퍼파라미터
- hidden_layer_sizes : [10, 30, 50, 100]
- activation : ['tanh', 'relu']
- solver : ['sgd', 'adam']
5. SVM(서포트 벡터머신)
- 마진을 최대화해서 클래스를 분할 수 있도록 함
- support vector는 결정 경계선에 가까이 있는 데이터(점)을 말 함
- svm => SVC, SVR
- 주요 하이퍼파라미터
- C : 작을수록 모델 단순, 커질수록 모델 복잡, [0.001, 0.01, 0.1, 1, 10, 100], SVC에만 있음
- kernel : rbf(기본), linear, poly(SVR에서 사용), sigmoid, precomputed 있음, SVC SVR 모두 있음
- gamma : [0.001, 0.01, 0.1, 1, 10, 100]
6. 의사결정나무(decision tree)
- 의사결정 규칙을 나무구조로 도표화하여 관심대상이 되는 집단을 몇 개의 소집단으로 분류하거나 특정 값을 예측하는 데 활용되는 분석 방법
- tree => DecisionTreeClassifier, DecisionTreeRegressor
- 분류의 경우 기준은 'gini'이고 회귀의 경우 기준은 'mse'임
- 주요 하이퍼 파라미터
- max_depth : 최대 가지치기 수, [2, 4, ..., 20]
- max_leaf_node : 리프 노드의 최대 개수
- min_sample_leaf : 리프 노드가 되기 위한 최소 샘플 수, [1, 2, 3, 4, ..., 50]
7. Random Forest(랜덤 포레스트)
- train data로 여러 의사결정트리를 구성하여 분석하고 이를 종합하는 앙상블(ensemble) 기법임
- 의사결정나무 수십~수백개가 예측한 분류 혹은 회귀값을 평균낸 모델임
- 무작위로 데이터를 샘플링함
- 1. 데이터에서 부트스트래핑 과정을 통해 N개의 샘플링 데이터 셋을 생성
- 2. 각 샘플링된 데이터 셋에서 임의의 변수 선택, M개의 총 변수들 중에서 sqrt(M) 또는 M/3개
- 3. 의사결정트리들을 종합하여 앙상블 모델을 만들고 OOB error를 통해 오분류율을 평가
- ensemble => RandomForestClassifier, RandomForestRegressor
- 분류의 기준은 'gini', 회귀의 기준은 'mse'
- 주요 하이퍼파라미터
- n_estimators : 나무의 수, [100, 200, ..., 1000]
- max_features : 선택 변수 수(auto, log2, none), ['auto', 'sqrt', 'log2']
반응형'자격증 > 빅데이터분석기사' 카테고리의 다른 글
빅데이터분석기사 실기 준비 - Day 6 (0) 2021.12.02 빅데이터분석기사 실기 준비 - Day 5 (1) (0) 2021.11.30 빅데이터분석기사 실기 준비 - Day 4 (0) 2021.11.30 빅데이터분석기사 실기 준비 - Day 3 (0) 2021.11.26 빅데이터분석기사 실기 준비 - Day 2 (0) 2021.11.25