AI School : 파이썬, 데이터분석
[WIL] 멋쟁이사자처럼 AI SCHOOL : 11주차
ant-103
2023. 3. 2. 17:50
데이터 관리, 비즈니스 데이터 분석
월 : 미드 프로젝트 발표. 데이터 효율적으로 관리하는 방법(Parquet, downcast)
화 : 비즈니스 데이터 분석
수 : 3.1
목 : 인사이트 데이, 예습("프로젝트로 배우는 데이터사이언스")
- downcast 를 활용하여 메모리 사용량을 80%이상 줄여 메모리를 효율적으로 사용할 수 있음
- 열기반 Parquet 형식을 이해하고 파일을 90%까지 압축해서 저장할 수 있음
1. Parquet
데이터, 데이터센터
- 데이터센터는 항상 열이 발생, 기업은 데이터사용량에 따라 요금 증가 => 데이터를 어떻게 효율적으로 관리할 수 있는가?
- 저장기기의 성능향상은 한계가 있음. (ex. SSD 1tb 를 늘리는데 10만원이면, 데이터 용량이 늘어났을 때는 …)
- 데이터의 용량이 작아지면 저장공간 확보, 데이터를 주고받을 때도 효율성이 높아짐.
ETL vs ELT
- ETL (extract, transform, load)
: 데이터를 데이터웨어하우스에 저장가능한 수준으로 수집-가공-처리 해서 보관 => 데이터를 새로 추가할 때마다 가공해서 저장해야 함. - ELT (extract, load, transform)
: 대용량의 데이터를 더 빠르고 효율적으로 다룰 수 있게 됨. => 데이터를 저장하고 필요할 때 가져와서 처리할 수 있음. - https://www.integrate.io/blog/etl-vs-elt/
- https://blog.naver.com/freepsw/222276087707
Parquet vs CSV
- csv : 행을 기준으로 저장
- parquet : 열을 기준으로 저장
- parquet은 메타데이터를 포함하고 있어서 작은 용량의 데이터는 csv가 용량이 더 작을 수 있음.
- 하지만 파일 크기가 커지면 parquet으로 저장할 때 1/10 가량으로 줄여줌.
2. Downcast
- 데이터타입을 설정해주지 않으면 => 기본적으로 메모리에서 여유공간을 주고 할당하게 된다.
- 실제로 사용하는 데이터는 그렇게 큰 공간이 필요하지 않으면? => 비효율적으로 메모리를 사용하게 됨.
- 문자형(범주형일 경우) => 숫자로 바꿔서 관리
- 수치형(+ 값만 있다.) => unsigned 로 downcast
- 수치형(+, - 값 모두 있지만 범위가 작을 경우) => int, float으로 downcast (ex. int64 => int8)
3. 비즈니스 데이터 분석
Online Retail
코호트, 잔존률, RFM, 군집분석
E-commerce
- 오늘의집의 사례 => 여러 가설을 세우고 적용하고 확인해야 한다.
- 서비스에 따라 중요한 지표가 달라짐
- 마케팅 용어
대시보드
- 목적 : B2C회사라면 특히, 전사 차원에서 내용(결과) 공유
- 방법 :
- https://christophjanz.blogspot.com/2013/12/a-kpi-dashboard-for-early-stage-saas.html
코호트(Cohort) 분석
- 코호트 : 공통 특성(ex. 날짜, 행동, 구매상품 등)을 공유하는 유저 그룹.
- 코호트(동질 집단) 분석 : 시간 경과에 따라 유저 그룹을 추적하는 방법.
- 기준 : 시간,
히스토그램
- bins=50 : 이 정도는 해야 범주형, 수치형이 보임.