ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 빅데이터분석기사 실기 준비 - 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']
    반응형

    댓글

Designed by Tistory.