안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.
코딩유치원에서는 파이썬 기초부터 사무자동화, 웹크롤링, 데이터 분석 등의 다양한 패키지까지 초보자도 알기 쉽도록 내용을 정리해 놓았습니다.
업무는 물론 투자에도 도움이 될만한 전자공시시스템(DART)나 텔레그램(Telegram) 관련 패키지도 배울 수 있으니 많은 관심 부탁드립니다.
혹시 'Garbage in, garbage out'라는 말을 들어보셨나요?
직역하면 쓰레기가 들어가면 쓰레기가 나온다라는 말로, 아무리 좋은 컴퓨터와 알고리즘이라도 잘못된 입력값이 들어가면 잘못된 출력값이 나온다는 말입니다.
제가 예전에 데이터 분석 프로세스를 요리하는 과정에 비유했었는데요.
2021.07.21 - [파이썬 패키지/데이터분석] - [코딩유치원] 비전공자도 쉽게 이해하는 데이터 분석 프로세스 (ft. 수집, EDA, 전처리, 모델링)
데이터 수집 과정을 요리 재료를 준비하는 과정이라면, 잘못된 데이터란 상한 음식에 비유할 수 있겠죠.
상한 재료로 요리한 음식을 먹은 손님은 아마 다시는 식당을 찾아 오지 않을 것이기 때문에 요리사는 재료를 준비하는데에 가장 많은 신경을 써야할 것입니다. 요리사가 직접 재료를 준비하지 않고 다른 사람에게 일을 맡기더라도 재료의 상태를 체크할 수도 있어야겠죠?
마찬가지로 데이터 분석가는 데이터를 준비하는데에 가장 많은 신경을 써야합니다. 앞서 말씀드렸듯이 가장 근본이 되는 데이터가 신뢰를 잃으면 그 데이터 분석 결과는 아무도 믿을 수가 없기 때문입니다.
그래서 오늘은 일반적인 데이터 준비 과정에 대해서 알아보려 합니다.
1. 데이터 수집
가장 첫 단계는 분석에 사용할 데이터를 분석 DB(데이터 베이스)로 가져 오는 것입니다.
회사 내부의 DB에 프로젝트에 사용할 데이터가 있다면 그곳에서 가져오고, 없다면 외부에서 데이터를 사거나 크롤링을 통해서 수집해야합니다.
이때 주의할 점은 메타 데이터를 함께 수집해야한다는 것입니다. 메타 데이터는 데이터에 대한 정보로, 데이터의 정의, 기본키(Primary Key), 생성 기준, 생성 시점, 연관된 데이터 정보 등이 있습니다. 이러한 메타 데이터는 추후 단계들에서 데이터를 다룰 때에 중요한 참고 자료가 됩니다.
2. 데이터 품질 확인
두번째 단계는 수집한 데이터를 얼마나 믿을 수 있는지 확인하는 단계입니다.
데이터의 품질은 크게 7가지 지표로 평가합니다.
3. 데이터 정제
세번째 단계는 위의 단계에서 확인된 부족한 데이터 품질을 향상시키기 위해 데이터를 정제하는 단계입니다.
1단계에서 언급했던 메타 데이터를 참고해서 누락된 값(결측치)과 오류 값을 적절히 전처리 해줍니다.
만약 메타 데이터가 부족하여 전처리할 근거가 부족할 때엔, 해당 변수의 평균값이나 최빈값으로 대체하기도 하며, 해당 변수에 집중적으로 오류값이나 결측치가 발생할 때엔 해당 변수를 통째로 제거해주기도 합니다.
4. 데이터 변환
네번째 단계는 수집한 데이터의 형태나 스케일 등을 변환 처리하는 단계입니다.
데이터 변환을 해주는 이유는 더 나은 데이터 분석 결과를 얻기 위해서입니다.
데이터 변환 방법에는 여러가지가 있지만, 가장 널리 사용하는 방법은 정규화(Normalization), 범주화(Categorisation)가 있습니다.
정규화는 예를 들어 신장과 몸무게의 스케일이 달라서 어느 한가지 변수가 해석 결과에 크게 영향을 끼치는 것을 방지하기 위해서 0~1 사이의 값으로 변환시키는 것을 말합니다.
범주화는 연속되는 값을 어느 구간으로 나누어서 분류하고 싶을 때 사용합니다. 예를 들어 평균 60점 이상은 1, 미만은 0으로 변환하는 것이죠.
5. 데이터 특성 추출
다섯번째 단계는 '피처 엔지니어링'이라고도 불리는 단계로, 분석을 위하여 변수(혹은 피처)를 새로 만드는 것을 말합니다.
이 과정에서는 해당 분야에 대한 전문적 지식과 분석 경험이 필요합니다. 데이터 분석 대회 플랫폼으로 유명한 Kaggle의 순위를 가르는 요인 중에 '피처 엔지니어링'이 중요한 역할을 한다고 합니다.
마치 원석을 가공해서 보석을 만들어 내는 것과 비슷한 과정이라고 이해하시면 좋을 것 같습니다.
6. 데이터 준비 과정 기록
마지막 단계는 1~5단계에서 수행한 작업을 문서화 하는 단계입니다. 데이터 준비에 사용한 코드와 각각의 과정을 설명하고 기록하는 것입니다.
데이터 분석이 한 번에 끝난다면 이 과정이 필요 없겠지만, 대부분의 데이터 분석은 일정한 주기로 새롭게 생성되는 데이터를 다시 분석하고 결과를 점검합니다.
그렇기 때문에 반복되는 데이터 분석 작업을 효율적으로 수행하고, 이전의 데이터 분석과 동일한 관점을 유지하기 위해서는 데이터 준비에 사용한 코드와 각 단계에서 수행한 작업에 대한 설명을 잘 정리해야합니다.
<참고 자료>
1. 빅데이터 커리어 가이드북 (도서)
2. 데이터 품질 지표
'파이썬 패키지 > 데이터분석' 카테고리의 다른 글
[#shorts] Pandas로 엑셀의 특정 시트 불러오는 방법 (ft. 시트 이름, 시트 인덱스) (0) | 2022.02.21 |
---|---|
[#Shorts] 데이터 분석은 왜 하며, 산업별로 어떻게 활용될까요? (1) | 2022.02.03 |
[파이썬 데이터 분석] 11편. Pandas hist 함수로 한눈에 데이터 분포 파악하기 (ft. 국민건강보험공단_건강검진정보) (0) | 2021.08.05 |
[파이썬 데이터 분석] 10편. 데이터 프레임 배치를 내맘대로! (ft. pivot-table, groupby, multi-index) (0) | 2021.07.25 |
[파이썬 데이터 분석] 9편. 데이터 시각화 맛보기(ft. 15~20년 전국 민간아파트 분양가 데이터) (0) | 2021.07.24 |