ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [에이블런 1주차] Orange3 실무강의-1
    서비스 기획/Next Gen 2024. 5. 23. 16:37

    평소 파이썬을 통해 데이터를 다루고 머신러닝 모델을 학습했던 개발자입장에서 Orange3는 너무나도 편리한 머신러닝 툴이였다. 직관적인 UI와 시각화가 잘되어 있어서 앞으로도 종종 사용해볼 마음이 드는 툴이였다. 강의를 들으면서 인사이트를 얻었던 내용들을 위주로 정리해보고자 한다.

     

    서비스 기획자들에게 데이터 분석이란?

    사실 개발자 입장에서 생각해봤을 때 서비스 기획자들이 왜 머신러닝까지 배워야할까? 라는 의구심이 첫번째로 들었다. 실제로 머신러닝관련 지식의 양이 매우 방대하고, 애매하게 접근했다가는 안하니만 못한다라고 생각이 들기 때문이다. 강사님이 머신러닝을 알아야하는 이유는 다음과 같이 요약할 수 있다.

    1. 데이터를 기반으로 의사 결정을 위한 인사이트 발견
    2. 데이터 분석을 바탕으로 새로운 비지니스 기능 적용
    3. 경험과 직관에 의존한 의사결정보다 명확한 의사결정 도출가능
    4. 고객의 트렌드 및 상관관계를 파악하여 고객의 만족도, 경쟁 우위를 유지

    모두 말이 되지만 굳이 서비스 기획자가 해야하는지는 잘 모르겠다 여전히. 잘 생각해보면 서비스 기획자는 명확한 커리큘럼이 없기 때문에 다양한 경험치들을 얕고 넓게 쌓아서 다양한 직군의 사람들과 소통해야하기 때문에 공부해야 할 것 같기도하다.

    머신러닝 기반 서비스들 소개

    강사님이 소개해주신 몇가지 서비스를 직접 써보고 매우 흥미로웠다. 특히 Animated Drawing 서비스는 매우 유용해보이는 툴 같았다. 앞으로 내가 그린 그림에 생명력(?)을 불어넣기 너무 좋은 툴 같았다. 유저들이 무료로 사용하면서 학습할 수 있는 데이터를 공급해 더 나은 유저경험을 줄 수 있는 서비스로 거듭 진화하는 서비스 영역이라고 생각이 들었다.

     

    Orange3 실습 과정

    1. 데이터 탐색

    실습에서 사용된 데이터는 은행에서 사용되는 고객 데이터로써 정기 예금 가입여부, 나이, 직업, 기혼 여부, 학력, 채무 불이행 등 지극히 개인적인 데이터들을 카테고리화 해서 나타내고 있었다. 실습에서는 고객 데이터가 주어졌을 때 과연 정기 예금 가입을 하는 사람인지 아닌 사람인지 판단하는 머신러닝 모델을 학습시킨다.

     

    2. 데이터 전처리

    실제로 데이터를 기반으로 머신러닝, 딥러닝 모델을 학습해본 개발자로써 데이터 전처리에 들어가는 수고가 매우 많이 들어간다. 결국 데이터를 통해 표현하고 싶은 내용이 무엇인지 알려주는게 핵심이기 때문에 누구보다 데이터를 잘 알아야하고 데이터를 많이 들여다본 사람이 더 좋은 모델을 구현할 수 있다.  

    실습에서 사용된 데이터 전처리는 중복된 데이터 제거, 결측치가 있는 항목 제거, 두 가지만 간단하게 적용했다.

     

    3. 데이터 분석

    데이터 전처리가 끝난 후 모델 학습하기 전, 얼마나 데이터가 모델의 특징을 잘 나타내는지를 시각적으로 확인하는 단계이다. 여기서 Oragne3 의 강점이 많이 나타나는데, 파이썬을 이용해 데이터를 시각화하는데도 생각보다 많은 양의 코드작업을 해야하고, 예쁘게 그리는데도 구글링을 많이 해야한다. Orange3에서는 기본적인 시각화 기능들을 제공해주고 손쉽게 적용해보며, 데이터 탐색 및 전처리가 잘되었는지 대략적으로 확인해 볼 수 있어서 좋았다. 

    4. 모델 학습

    데이터를 통해서 풀고 싶은 문제는 앞서 말한 것 처럼 해당 고객이 은행에 예치 여부를 예측하는 분류(Classification) 문제이다. 실습에서 사용된 분류 모델은 Logistic Regression, Decision Tree, Random Forest, kNN 을 사용해서 학습을 진행했다.

     

    5. 테스트 및 평가

    학습 데이터와 테스트 데이터를 70:30 비율로 나누어 학습이 끝난 후 테스트 셋 기준으로 성능 평가를 한 결과 다음과 같이 나타났다.

      AUC CA F1 Prec Recall MCC
    Tree 0.519 0.830 0.819 0.811 0.830 0.159
    Random Forest 0.690 0.862 0.832 0.822 0.862 0.179
    Logistic Regress 0.737 0.872 0.832 0.836 0.872 0.190
    kNN 0.632 0.857 0.826 0.812 0.857 0.143

     

    결과 표를 보면 Logistic Regression 모델이 가장 높은 정확도로 예측하고 있다. 검증 방법은 Cross Validation 으로 해서 더욱 결과값에 신뢰도가 높아보였다. Orange3 매우 편리하다!

     

    마치며

    위 그림은 실제로 Orange3 UI 화면이다. Drag & Drop으로 매우 편리하게 구현되어있고 직관적으로 표현되어 있어서 따로 개발가이드를 참고하지 않아도 알 수 있었다. 간단한 데이터를 빠르게 돌려보기에 매우 적합한 툴이라고 생각이 들었으며, 개발자 입장에서 보았을 때 강력한 툴이였다. 하지만 여전히 서비스 기획자 입장에서 비지니스적인 의사결정을 내릴때 머신러닝 지식을 기반으로 내린다면 어떤 데이터를 기반으로 내리는지 잘 모르겠다. 현업에는 기획자보다 더 데이터를 잘 다루는 사람들이 많을 텐데 그들과 협업하기 위해서 필요한 것인지는 여전히 의문으로 남긴하지만 좋은게 좋은거다라고 생각하자. Orange3라는 툴을 알게되어서 너무 좋았고 앞으로도 종종 써보면서 익숙하게 하는게 좋아보였다.

Copyright © Kakao Corp. All rights reserved.