4. 학습 결과 & 성능 비교 하기

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

이전 “ 3. 머신러닝 모델 학습하기” 글에서는 학습 데이터와 변수, 학습 모델을 선택하여 그룹 학습을 통해 다양한 모델을 동시에 학습하는 방법을 확인 하였습니다.

이번 글에서는 학습한 모델의 결과를 확인 해보고, 모델 간 성능을 비교해 보도록 하겠습니다.

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

4.1. 학습 결과 메뉴 선택하기

4.2. 전체 학습 목록 확인 하기

4.3. 각각의 학습 결과 확인 하기

4.4. 전체 학습 결과 비교 하기

4.5. 마무리 하기

4. 1 학습 결과 메뉴 선택

우선 학습 결과 메뉴를 선택해보니, ‘최근’, ‘대기’, ‘진행 중’, ‘종료’ 탭 버튼이 보입니다. (아래 그림은 최근 탭과, 종료 탭 입니다.)

  • 최근 탭 : 최근에 진행한 학습의 목록 (최대 10개)
  • 대기 탭 : 대기 중인 학습의 목록
  • 진행 중 탭 : 진행 중인 학습의 목록
  • 종료 탭 : 완료되거나 중단된 학습의 목록 (파란색 : 정상 완료, 빨간색 : 중단, 노란색 : 진행 중을 의미)

4. 2 학습 목록 확인

이제 학습 목록을 확인 해보겠습니다. 학습 목록에는 학습 이름, 모델 유형, 사용 데이터 셋, 그룹 학습 내 모델 개수, 성능, 학습 날짜, 배포 여부 등의 정보를 확인 할 수 있고, 만일 2개 이상의 모델로 그룹 학습을 진행한 경우, 학습 이름 옆에 작은 화살표 버튼을 눌러 각 모델별 학습 결과를 펼쳐서 확인 할 수 있습니다.

4. 3 학습 결과 확인

Random Forest 모델의 결과를 확인해보도록 하겠습니다. 먼저 학습 결과에서는 학습에 대한 기본 정보와, 테스트 셋으로 학습한 성능 지표, 학습에 사용된 변수, 모델 하이퍼 파라미터로 설정한 옵션 등을 확인 할 수 있고, 해당 Random Forest 모델의 Precision, Recall, F1, Accuracy 모두 76% 의 성능을 기록했습니다.

추가로 결과 표라는 항목에는 ‘테스트셋 결과 탭’와 ‘변수 중요도 그래프 탭’을 확인 할 수 있습니다. ‘테스트 셋 결과 탭’ 에서는 학습에 쓰인 독립 변수 들, 정답 데이터, 모델이 예측한 예측값 데이터 등이 나타납니다.

추가로 Random Forest와 같은 트리 기반의 모델에서만 나타나는 ‘변수 중요도 그래프 탭’은 학습에 사용된 독립 변수에 대한 Feature Importance를 그래프로 나타내주며, ‘해당 변수가 상대적으로 얼마만큼 결과 변수(=종속 변수)인 Churn (고객 이탈 여부)에 영향을 주는지’ 에 대한 척도를 나타냅니다.

그래프 결과를 보니 MonthlyCharges (월 청구 금액), TotalCharges (총 청구 금액), tenure (고객의 통신사 이용 월 수) 등의 변수가 모델에 높은 영향을 준 것으로 보임을 알 수 있습니다.

4. 4 학습 결과 비교

개별 모델에 대해서 학습 결과를 확인했으니, 이제 전체 학습에 대한 결과를 모아서 비교 해보도록 하겠습니다. 그전에 좀 더 다양한 학습 결과를 비교 해보기 위해, 여러 변수를 더 추가해서 모델을 추가적으로 학습을 진행했습니다. 모델 학습 방법에 대한 부분을 알고 싶다면 이전 “ 3. 머신러닝 모델 학습하기” 글을 참고 하면 됩니다.

‘결과 비교 메뉴’를 누르면 아래와 같은 페이지가 나옵니다. 학습 데이터, 학습 모델 유형, 학습일 등을 아래와 같이 설정 후 [조회] 버튼을 클릭합니다.

최종적으로 나온 결과 화면은 아래와 같습니다. “통신사 고객 이탈 여부 데이터” 로 “분류 분석”을 “2012–12–02 ~ 2021–12–08” 기간 동안 학습한 정보가 나오게 됩니다. 이전에 학습했던 결과까지 같이 포함해서 한 번에 비교해 볼 수 있어 모델 간의 성능 비교가 쉬운 것도 뉴럴웍스의 큰 장점 중 하나 입니다.

학습 한 모델 중 성능이 제일 좋은 모델은 정확도가 81.4%가 나온 “통신사 고객 이탈 여부 예측 분류 모델 -2” 그룹 학습의 “Support Vector Machine 모델” 을 이용한 학습 이였습니다.

해당 모델이 학습할 때 사용했던 정보를 알고 싶다면, 하단에 각각의 학습 카드를 통해 확인이 가능하며 데이터 셋의 변수 중 학습에 사용한 변수, 모델의 하이퍼 파라미터 설정 등을 확인 할 수 있습니다.

여기까지가 뉴럴웍스를 이용해 학습 한 모델의 학습 결과를 확인하고 성능을 비교하는 방법입니다. 추가로 뉴럴웍스를 더 잘 활용 할 수 있는 몇 가지 Tip을 알려 드리겠습니다.

  • Tip 1.결과 비교 화면에서는 추가로 ‘대표 성능 지표’ 를 설정 할 수 있습니다. 해당 글에서는 정확도(Accuracy)를 중점적으로 봤지만, 성능 지표라는 것은 모델의 중점적인 목표를 어디에 두냐에 따라 바뀔 수 있습니다. 예를 들어 정말 이탈할 가능성이 있는 고객들만 정밀하게 분류하고 싶다면 모델의 Precision(정밀도) 지표가 가장 높은 모델을 활용할 수 있고, 조금 오판 할 수 있더라도 이탈 가능성이 조금이라도 있는 고객을 놓치고 싶지 않다면 Recall(재현율) 이 가장 높은 모델을 활용 할 수 있습니다.

4. 5 마무리

이번 글 에서는 학습한 모델들의 결과를 확인하고 모델 간의 성능을 비교해 보며, 최종적으로 목적에 맞게 성능지표와 모델을 선택하는 방법까지 소개하였습니다. 다음 글 “5. 모델 테스트 하기” 에서는 학습한 모델을 이용해 실제 테스트를 진행 해보도록 하겠습니다.

--

--