안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.
코딩유치원에서는 파이썬 기초부터 사무자동화, 웹크롤링, 데이터 분석 등의 다양한 패키지까지 초보자도 알기 쉽도록 내용을 정리해 놓았습니다.
업무는 물론 투자에도 도움이 될만한 전자공시시스템(DART)나 텔레그램(Telegram) 관련 패키지도 배울 수 있으니 많은 관심 부탁드립니다.
오늘은 데이터 분석의 프로세스에 대해 큰그림을 그려보고, 프로세스 중에서 가장 많은 시간을 차지하고 중요한 데이터 전처리 과정에 대해 자세히 알아보겠습니다.
데이터 분석 프로세스
1. 데이터 수집
데이터 분석은 데이터를 얻는 것 부터 시작됩니다. 데이터는 크게 두 가지로 나눌 수 있습니다.
- 정형 데이터(structured data)
- 비정형 데이터(unstructured data)
정형 데이터는 질서있게 정리된 데이터 셋을 떠올리시면 됩니다. 흔히 사용하는 엑셀에 정리된 데이터, 혹은 질서정연하게 정리된 관계형 데이터베이스가 그 예가 되겠네요. 공공데이터 포털에서 제공하는 자료들은 모두 정형 데이터라고 할 수 있겠습니다.
2021.04.15 - [파이썬 패키지/데이터분석] - [파이썬 데이터 분석] 4편. 데이터 분석을 위한 데이터 다운로드 받기 (feat.공공데이터포털)
비정형 데이터는 정형 데이터와 반대로 여기저기 분산되어 있고, 체계적으로 정리되지 않은 느낌의 데이터입니다. 유튜브의 댓글, 텍스트 문서, 이미지 등이 그 예입니다. 이런 정보들은 주로 웹 크롤링 기술을 이용합니다.
2021.03.22 - [파이썬 패키지/웹 크롤링] - [Python/웹 크롤링] 파이썬 웹 크롤링 기초 of 기초
참고로 오늘날 생성되는 전체 데이터의 80% 이상은 비정형 데이터라고 하네요.
2. 데이터 탐색 (EDA)
데이터 탐색 단계는 EDA(Exploratory data analysis)로 불리며, 한국어로 번역하면 탐색적 데이터 분석입니다.
데이터를 모두 직접 수집했다면 각 변수들에 대해 파악이 되어 있겠지만, 그렇지 않은 경우엔 처음 만난 데이터 셋을 파악해야 합니다.
요리로 비유하자면, 앞 단계에서 모은 재료(데이터)들의 맛이나 특성을 파악하는 단계라고 할 수 있습니다. 재료들을 정확히 파악해서 적절하게 조합해야지 좋은 요리가 나오겠죠?
사실 이 단계는 딱 하나의 단계라고 말하기에는 조금 애매한 것 같아요. 왜냐하면 데이터 셋을 파악하기 위해서 약간의 전처리도 필요하고, 직관적으로 파악하기 위해서 데이터 시각화를 하기도 하니깐 말이죠.
다시 말해, 요리 재료의 특성을 파악하기 위해서 조금 잘라서 먹어보기도 하고, 재료를 섞어서 살짝 조리한 뒤, 어떤 맛이 나는지 먹어보기도 하는 단계랄까요?
이런 과정 속에서 유의미한 정보를 얻는다면, 그것만으로도 훌륭한 데이터 분석을 했다고 할 수도 있겠습니다.
3. 데이터 전처리
계속해서 요리를 예로 설명드려 보겠습니다.
재료를 파악했다면, 이제 요리하기 쉬운 형태로 손질을 해야겠죠? 재료에 상한 부분이 있다면 도려내거나, 특별히 튀어나온 부분이 있다면 제거해주어야 할 것입니다.
이렇게 다음 과정인 데이터 모델링(혹은 시각화)를 위해서 데이터를 적절한 형태로 손질하는 과정을 데이터 전처리라고 합니다.
데이터에 결측치(값 없음)가 있거나 이상치(너무 튀는 값)가 있으면 이를 적절히 처리해주어야 데이터의 왜곡을 피할 수 있습니다.
그런 값들이 있을 때는 단순히 삭제를 해주거나 평균값이나 보간법을 이용해 적절한 값으로 대체해 줄 수 있을 것입니다.
그 외에도 다양한 전처리 기법들이 있으며, 추후 공부하면서 포스팅 하도록 하겠습니다.
Forbes에서 인용한 CrowdFlower의 설문 결과에 따르면 데이터 분석가는 업무 시간 중 80%정도를 데이터 수집 및 전처리 과정에 사용하며, 동시에 업무 중 가장 싫은 단계로 꼽혔다고 하네요.
4. 데이터 모델링
데이터 분석의 목적인 모델링입니다. 완성된 요리라고 생각하시면 되겠습니다.
모델링이란 무엇일까요? 저는 모델링이란 '현실에 적용 할 수 있는 쓸모있는 가상의 무엇인가를 만드는 일'이라고 생각합니다. 그것이 잘 시각화된 데이터일 수도 있고, 분류 혹은 예측 알고리즘을 적용한 서비스가 될 수도 있겠습니다.
이해를 돕기 위해 예를 들어보겠습니다.
실제 사례로는 월마트의 사례가 있습니다. 월마트 데이터 분석가가 장바구니 데이터를 살펴보니, 사람들이 맥주와 귀저귀를 함께 담는 경우가 많은 것을 찾아냈습니다. 이 정보를 토대로 오프라인 매장에 맥주와 귀저귀를 함께 진열했더니 매출이 몇 십프로가 올랐다고 합니다.
우리 주변에서 찾아볼 수 있는 데이터 모델링의 가장 좋은 예는 유튜브 영상 추천 서비스가 있습니다. 사용자의 검색 기록, 시청 기록을 바탕으로 사용자가 좋아할 만한 영상을 추천해주는 시스템이죠. 이 서비스는 상당히 효과를 발휘해서 많은 사람들을 유튜브에 많은 시간을 쏟게 만듭니다.
<참고 자료>
http://www.dodomira.com/2016/10/20/how_to_eda/
https://m.blog.naver.com/quest_kor/221861917060
'파이썬 패키지 > 데이터분석' 카테고리의 다른 글
[파이썬 데이터 분석] 9편. 데이터 시각화 맛보기(ft. 15~20년 전국 민간아파트 분양가 데이터) (0) | 2021.07.24 |
---|---|
[파이썬 데이터 분석] 8편. 전처리 지옥 맛보기 (ft. loc[ ] 제대로 이해하기) (0) | 2021.07.22 |
[Python/Numpy] 데이터 분석 수치연산 패키지_numpy 3편. 정렬(sort) (0) | 2021.07.18 |
[파이썬 데이터 분석] 12편. 채널별 유튜브 조회수 순위 데이터 분석 (ft. Kaggle / YouTube 인기 급상승 동영상 데이터 셋) (0) | 2021.07.17 |
[Python/Numpy] 데이터 분석 수치연산 패키지_ numpy 2편. 인덱싱과 슬라이싱 (0) | 2021.06.18 |