3. 머신러닝 모델 학습하기

김선민
Neuralworks
Published in
6 min readDec 7, 2021

이전 “ 2. 데이터 시각화 & 전처리 하기 ” 글에서는 ‘시각화 탭’, ‘요약 탭’ 등을 통해 데이터를 분석하고, ‘전처리 탭’ 을 통해 변수를 가공하는 작업을 진행했습니다.

이번 글에서는 학습 데이터를 다양한 모델에 넣어 학습을 진행해보도록 하겠습니다. 우선 학습에 사용할 수 있는 모델에는 어떤 것이 있는지 확인 해보겠습니다.

이번 글의 진행 순서는 아래와 같습니다.

3.1. 학습할 모델 종류 확인하기

3.2. 학습 유형 선택하기

3.3. 학습 데이터 및 변수 선택하기

3.4. 학습 모델 선택하기

3.5. 학습 모델 추가하기 (그룹 학습 하기)

3.6. 학습 시작 하기

3.7. 마무리 하기

3. 1 모델 종류 확인

우선 모델 메뉴에서 [데이터 분석]의 [분류 분석] 탭을 선택합니다.

선택 시 분류 학습에 사용 할 수 있는 모델 목록이 나타나며, 특정 모델이 어떤 모델인지 궁금하다면 해당 모델을 선택하여 모델 상세 정보 페이지로 들어 갈 수 있습니다.

모델 상세 페이지에서는 모델 키워드, 모델 설명 등의 정보를 확인 할 수 있으며, 외부 링크 등을 통해 더 자세한 정보(위키, 논문)도 확인 할 수 있습니다.

3. 2 학습 유형 선택

이제 본격적으로 모델 학습을 진행해보도록 하겠습니다. 먼저 모델 학습으로 들어가, 학습 유형을 정할 수 있습니다. 모델 학습 메뉴에서 분류 분석을 선택합니다.

3. 3 학습 데이터 및 변수 선택

학습에 사용할 데이터인 ‘통신사 고객 이탈 여부 데이터 학습데이터’ 를 고르면, 변수 선택 창이 활성화 됩니다.

입력 변수로는 SeniorCitizen, tenure, gender_Female, gender_Male, MultipleLines_No, MultipleLines_No Phone service, MultipleLines_Yes, gender_Female, gender_Male 총 9개를 선택하고,

결과 변수로는 우리가 예측 하고자 하는 Churn (고객 이탈 여부) 변수를 선택하도록 하겠습니다. 선택이 완료 됬으면 [변수 선택 완료] 버튼을 누릅니다.

3. 4 학습 모델 선택

학습에 사용할 데이터와 변수를 선택 완료했으면 이번에는 사용할 모델을 선택해 보겠습니다. 이전에 모델 메뉴에서 확인했던 모델 목록이 나와있습니다.

모델은 Random Forest 모델을 선택하겠습니다. Random Forest 모델은 다수의 결정 트리를 학습하는 앙상블 방법의 모델로, Random 하게 트리를 생성해주는 특징 때문에, 오버피팅(Overfitting) 예방이나 노이즈(Noise)가 포함된 데이터일 경우에도 모델을 강인하게 만드는 효과가 있는 모델로 일반적으로 많이 사용되는 모델 입니다.

해당 모델을 선택하면 해당 모델 알고리즘의 하이퍼 파라미터인 기본/고급 옵션 등을 직접 입력하거나 선택 할 수 있습니다. 값은 직접 입력도 가능하며, 미 수정시 뉴럴웍스에서 기본으로 설정되어진 값으로 진행됩니다. 이번 모델 학습에서는 기본으로 설정되어 있는 옵션값들을 이용하도록 하겠습니다.

마찬가지로 [선택 완료] 버튼을 누르면 최종 선택이 완료 되고, 아래 이미지와 같은 학습 카드가 생기며, 카드 내에는 선택한 모델의 하이퍼 파라미터 옵션 정보가 나타나게 됩니다.

3. 5 학습 모델 추가 (그룹 학습)

뉴럴웍스의 큰 장점 중 하나는 동시에 여러 모델을 학습해서 비교할 수 있는 그룹 학습을 지원한다는 점입니다. 학습 카드 밑에 있는 [모델 추가] 버튼을 누르고 3.4 처럼 값을 입력 하여 추가 모델에 대한 학습 카드를 추가 할 수 있습니다.

부스팅 기반의 알고리즘인 AdaBoost, Gradient Boost 모델과, 거리 기반 알고리즘인 KNN 모델, 마지막으로 선형 회귀 기반의 분류 모델인 Logistic Regression 모델을 추가 해서 같이 학습을 돌려보겠습니다. 해당 기능을 잘 활용하면 다양한 모델과 여러 하이퍼 파라미터 조합의 많은 케이스를 한번에 빠르게 실험해 볼 수 있어 매우 효율적입니다. 최종적으로 선택 된 모델은 아래 이미지처럼 5개 입니다.

3. 6 학습 시작

모델 추가를 모두 완료했다면 학습 이름과 설명을 작성하고, [학습 시작] 버튼을 선택하고 학습을 시작하면 됩니다. 학습 이름란은 “통신사 고객 이탈 여부 예측 분류 모델”, 설명란은 “Random Forest, GBM, AdaBoost, KNN, Logistic Regression” 으로 작성하였습니다.

여기까지가 뉴럴웍스에서 머신러닝 모델을 학습하는 방법입니다. 추가로 뉴럴웍스를 더 잘 활용 할 수 있는 몇 가지 Tip을 알려드리겠습니다.

  • Tip 1.추가한 모델을 삭제하고 싶을 시 해당 학습 정보 카드에서 [-] 버튼을 눌러서 삭제 할 수 있습니다.
  • Tip 2.모델마다 다양한 하이퍼 파라미터 옵션이 존재하는데, 모델 상세 페이지에서 모델을 공부한 후, 하이퍼 파라미터 옵션 값을 조정하면서 실험한다면 더 좋은 성능을 가지는 모델을 만들어 낼 수 있습니다.
  • Tip 3. 뉴럴웍스의 큰 장점 중 하나는 그룹 학습을 지원한다는 점으로, 최대 50개 까지 동시 학습을 지원하니, 그룹 학습을 잘 이용한다면 제공되는 여러 모델과 다양한 하이퍼 파라미터 설정 값으로 비교해보면서, 더 빠르고 효율적으로 좋은 성능을 내는 모델을 만들어 낼 수 있습니다.

3. 7 마무리

이번 글에서는 전처리 된 데이터를 다양한 모델에 넣어 학습을 진행해 보았습니다. 모델 상세보기를 통해 모델의 이해를 높이고, 그룹 학습을 통해 다양한 모델과 여러 하이퍼 파라미터 조합의 많은 케이스를 한번에 빠르게 실험해 볼 수 있음을 확인했습니다. 다음 글 “4. 학습 결과 & 성능 비교하기” 에서는 이번 글에서 학습한 모델들의 결과를 확인하고 성능을 비교 해보도록 하겠습니다.

--

--