brunch

You can make anything
by writing

C.S.Lewis

by 권순목 Jul 28. 2021

4.1 모델 선택

데이터 과학 미니북 - 4. 데이터 분석 실무

4. 데이터 분석 실무


앞 장에서 다양한 통계 분석 기법과 머신 러닝 모델들을 살펴보았습니다. 이번 장에서는 이런 여러 가지 분석 기술들을 활용하여 실무에 나설 때 도움이 될 수 있는 두 가지를 살펴봅니다. 우선, 주어진 문제에 대하여 어떤 분석 모델을 쓸 것인지 선택하는 방법을 알아봅니다. 다음으로, 분석 결과를 다른 사람에게 보여줄 때 사용하는 시각화 방법들을 살펴봅니다.


사실 이 두 가지는 책으로 만 배워서 잘 해내기 어렵고, 실무에서 데이터에 부딪치면서 경험을 쌓아야 제대로 익힐 수 있습니다. 다만, 관련 이론을 어느 정도 정리해 두는 것은 실무에 나서기 전 분명 도움이 될 것입니다.


4.1 모델 선택


앞서 3장에서 대여섯 가지의 데이터 분석 도구를 배웠는데요, 정식으로 데이터 과학을 더 배우게 되면 이 책에서 언급한 것의 몇 배는 되는 다양한 모델들이 활용 가능하다는 것을 알게 됩니다. 이렇게 많은 모델들이 존재하는 상황에서, 데이터가 주어졌을때 어떤 모델을 써야 할까요? 데이터의 양, 질, 풀고자 하는 문제의 요구사항 등 모델 선택 시 고려해야 할 것들은 아주 많습니다. [표 1]은 이런 고려사항 중 중요한 것들을 몇 가지 정리한 것입니다.



[표 1] 모델 선택 시 고려 사항


우선 주어진 데이터와 풀고자 하는 문제에 내재된 고려 사항들이 있습니다. 데이터가 얼마나 많이 준비되었느냐에 따라 사용할 수 있는 모델이 다릅니다. 신경망과 같은 복잡한 모델들은 적은 데이터로는 잘 적합시키기 어렵습니다. 예측 문제인 경우 예측 모델을, 그렇지 않은 경우 통계 분석이나, 군집 분석을 시도할 수 있습니다. 레이블 달린 학습 데이터가 존재할 경우 지도 학습 모델을 활용하기 쉬우며, 반응 변수가 수치형이냐 범주형이냐에 따라 회귀 모델과 분류 모델 중 하나를 선택할 수 있습니다.


비즈니스 요구 사항에 따른 고려 사항도 있습니다. 비즈니스에서 요구되는 모델의 정확도가 얼마나 되는가 하는 것은, 데이터와 함께 어떤 정도의 복잡한 모델을 사용할 것인가에 중요한 영향을 줍니다. 비즈니스에서 가용한 컴퓨팅 자원에는 제한이 있기 때문에, 모델의 학습 시간, 예측 시간, 컴퓨팅 자원 소모 등도 중요한 고려 대상입니다. 비즈니스에 따라 모델의 예측 값에 대한 일정 수준 이상의 해석(Interpretation)이 요구되는 경우도 있습니다. 여기서 해석이란 어떤 변수가 어떤 식으로 영향을 끼쳐서 해당 예측 값이 나타났는지 설명하는 것을 뜻하는데, 이에 대한 비즈니스의 요구 수준이 높을 경우, 그것을 잘 지원하는 모델을 사용할 필요가 있습니다.


모델 선택과 관련해 참고할 만한 자료로 파이썬 패키지(Python Package) sklearn 문서에서 제공하는 알고리즘 치트 시트(Algorithm Cheat Sheet)[1]가 있습니다. 마이크로소프트 애저 머신 러닝 문서에서도 비슷한 치트 시트[2]를 제공합니다.


[그림 1] sklearn 알고리즘 치트 시트


[그림 1]은 sklearn 치트 시트에서 가져온 그림입니다. 여기에는 데이터의 크기에서부터, 여러 가지 데이터/문제 내재적 요소를 통한 모델 선택 과정이 순서도로 그려져 있습니다. 다만, 여기에서 다루는 데이터의 크기는 비교적 작으며, 비즈니스 요구 사항에 따른 고려는 나타나 있지 않습니다.





[1] sklearn cheet sheet https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html

[2] microsoft cheet sheet https://docs.microsoft.com/ko-kr/azure/machine-learning/algorithm-cheat-sheet



이전 13화 3.4 모델 평가
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari