[1기] K-Digital Training: 데이터 분석 데브코스 - TIL_Day1

정연우·2023년 11월 20일
0

학습 주제

오늘은 데이터에 대한 전반적인 이론과 데이터 엔지니어, 데이터 분석가, 데이터 과학자의 역할이 무엇인지 알았습니다. 또한 데이터 문해력이 무엇이고 데이터 관련 일을 할 때 필요한 마음가짐이 무엇이 깨달았습니다.


주요 메모 사항

데이터란?

우리가 일상생활에서 관찰할 수 있는 모든 것

데이터를 바탕으로 의미있는 정보의 도출이 가능

우리주변에 데이터는 널려있고 데이터를 활용하는 것의 시작은 데이터를 기록하고 수집하는 것이다. 이러한 과정을 Digitization이라고 한다. Digitization이 처음 이루어졌던 환경은 웹 모바일 같은 온라인 환경이고 클라우드와 빅데이터, 인공지능 등의 기술발전으로 인해 점점 더 많은 오프라인 서비스 또는 오프라인이 온라인화되는 트렌드가 만들어지고있다.


데이터의 크기 변화

분산처리 시스템을 통해 몇 천대의 서버(컴퓨터)를 하나같이 사용할 수 있다.(클라우드)


데이터에서 가장 중요한 것
1. 품질
2. 크기


데이터 팀의 미션

데이터는 회사의 본업을 더 잘 할 수 있는게 만드는 촉매제 역할을 한다.

데이터 팀에서 뚜렷한 성과를 내야한다. 따라서 데이터 팀의 리더는 실용적인 사고를 해야한다.


데이터 조직이 부가가치를 만들어내는 첫번째 방법: 결정을 과학적으로 할 수 있게 해준다.(Decision Science)

데이터를 고려한 결정(더 좋은 결정) vs 데이터 기반 결정

KPI라는 중요지표와 일반지표를 명확히 정리하고, 대시보드를 통해 시각화하고 리포트를 생성해 의사결정을 더 잘 할 수 있게 해준다.

데이터 문해력란 데이터를 활용할 수 있는 능력, 그것의 시작은 의사결정을 데이터 기반으로 하는 것이고 좋은 지표의 정의와 시각화를 통해 의사결정을 데이터 기반으로 적제적소에 할 수 있다.


데이터가 부가가치를 만들어내는 2번째 방법: 제품, 서비스의 기능을 데이터 기반으로 개선하는 것이다.(Product Science)

부품 장비의 에러를 예측해 오류발생시 빠르게 대처할 수 있다.


데이터의 흐름과 데이터 팀의 발전 단계

1 데이터 웨어하우스에 데이터를 적재 (적재해주는 프로세스를 데이터 파이프라인 ETL이라고 한다)
2 팀을 만들어 데이터 분석을 통해 지표 정의, 시각화, 리포트를 만든다.
3 Product Science를 통해 사용자 경험을 개선한다.(머신러닝)


데이터팀의 발전 단계 - 데이터 인프라

데이터 인프라 구축

데이터 웨어하우스에 데이터를 적재를 한다. ETL로 데이터를 추출하고 변환하고 적재한다.
데이터 웨어하우스에는 테이블 형태로 적재되고 이때 SQL을 많이 사용한다.

이를 데이터 엔지니어가 한다. 데이터 엔지니어는 소프트웨어 엔지니어이기 때문에 코딩이 중요하다. 따라서 데이터 엔지니어를 뽑을 땐 코딩과 관련된 질문을 많이 한다. 가장 많이 사용되는 언어는 파이썬이다. AirFlow를 통해 다양한 ETL을 빠르게 작성하고 관리하는 것이 대세이다.

데이터의 크기가 커지면 pandas를 통해 변환하는데 데이터가 커지면 처리가 불가능해진다. 그때부터는 빅데이터 분산처리 기술이 필요하다.(Spark가 사용된다)


프로덕션용 데이터베이스: 회사에 서비스를 운영하는데 필요한 최소한의 정보들의 기록된 데이터베이스, 가장 많이 사용되는 옵션은 포스트그라스 등이 일반적이다.
프로덕션용 데이터베이스에서 가장 중요한 것은 빠른 처리속도이다.
데이터 분석을 위한 별개의 데이터베이스를 데이터 웨어하우스라고 한다.(일반적으로 클라우드를 이용한다)


데이터 레이크(스케일이 큰 데이터 웨어하우스) vs 데이터 웨어하우스

데이터 레이크: 데이터 크기가 크지만 불분명한 사용 용도인 경우 저렴하게 보관한다.
데이터 레이크의 데이터의 크기를 줄이거나 의미있게 만들어서 데이터 웨어하우스에 적재한다.

데이터 레이크는 데이터 웨어하우스보다 스케일이 크고 경제성이 있는 스토리지에 가까운 데이터 저장소(비구조화된 데이터를 저장하는 용도)
데이터 웨어하우스는 SQL기반 관계형 데이터베이스이고 구조화된 데이터를 프로세싱하는 것에 최적화 되어있다. 하지만 스토리지 비용이 비싸다.


데이터팀의 발전 단계 - 데이터 분석

데이터 분석 수행

웨어하우스에 적재된 테이블의 수가 많아지면 join하기가 어려워진다. 따라서 ELT라는 프로세스로 사용하기 쉽게 테이블을 만든다.


KPI

명확한 정의가 중요하다(판매한 물건들만 더한 매출액인지 등)
서로 상충하는 KPI가 존재하면 하나가 중요한 KPI가 되고 하나는 그 다음으로 따져아햐는 세커더리 KPI가 된다.
잘 정의된 KPI가 있다면 현재 상황을 판단할 수 있어야하고 새로운 계획을 세울 수 있어야한다.
OKR을 통해 목표설정을 할 수 있다.


Accessible 쉽게 볼 수 있어야한다

Actionable 상황을 판단하고 어떻게 나아가야하는지 방향성이 보여야한다

Auditable 제대로 계산이 되었는지 판단할 수 있어야한다

대시보드는 중요 지표와 함께 보여준다.

Tableau가 가장 많이 사용하는 대시보드이다.


데이터팀의 발전 단계- 데이터 과학

데이터 과학 적용

데이터 과학자는 공정과정의 최적화를 통해 비용을 줄이거나 공정을 효율적으로 해주는 역할을 한다. 또한 제품이나 서비스의 기능을 개선도 한다.(사용자의 행동을 분석해서 패턴을 찾고 개인화로 추천이나 검색을 최적화해준다.)


클라우드란?

클라우드

no provisioning 준비할 필요가 없다.(시간 단축이 대폭된다)

pay as you go 쓴 만큼 돈을 낸다.

클라우드가 필요한지 불필요한지 구분할 수 있어야한다.(탄력적으로 사용할 수 있어야한다)


클라우드의 장점

CAPEX가 아니라 OPEX가 된다.(초기 투자 비용이 줄어드는 것)

기회비용이 줄어든다.


AWS란?

AWS 제공 서비스

ec2

s3 웹 하드디스크같은 기능(SLA: 데이터 유실율)


데이터 조직 구성원

데이터 팀의 역할 소개

SQL 구조화된 데이터를 다루는데 가장 기본이되는 언어이다.

파이썬 또한 데이터 분석가, 데이터 과학자에게 중요한 언어이다.

a/b 테스트: 새로운 기능이 개선을 만들어내는지 확인하는 방법

ELT를 통해 새로운 정보를 만들어낸다(데이터 모델링)

ELT의 대표적인 툴에는 dbt가 있다.

머신러닝에서 가장 중요한 것은 인풋데이터이다.(데이터 청소와 EDA를 통해 데이터의 특성을 파악한다.)

데이터 과학자는 머신러닝 모델을 만드는 것뿐만 아니라 테스트하고 배포하는 라이프사이클을 관리하는 툴을 다루어야한다.


데이터 엔지니어

읽어오는 데이터 중에 개인정보가 있는지 파악하고, 있으면 필요한 것인지 확인하고, 되도록 안 읽어오고, 꼭 필요하면 암호화를 통해 익명화를 해야한다.


데이터 분석가

의사결정을 더 과학적으로 만들어주는 일을한다.

지표 정의를 해 이를 대시보드 BI툴 위에서 시각화하고 리포트를 만들 줄 알아야한다. 이를 잘 하려면 ELT(DBT와 같은 툴)를 수행해야한다.

데이터 분석가들이 데이터 엔지니어 역할도 하는 것이 일반적이다.


ETL(데이터 엔지니어가 하는 역할) vs ELT(데이터 분석가가 하는 역할)

ELT에서 중요한 것은 최종적으로 만든 테이블이 어떤 테이블들을 인풋해서 만들어진 것인지 파악하고, 이러한 레이어가 여러 개 발생할 수 있기 때문에 데이터 리니지(데이터 계층도)가 중요해진다.

중요한 테이블들이 무엇인지 파악하고 이를 중심으로 관리하는 것이 필요하다.


데이터 과학자

개인화를 통해 개인에게 최적화된 추천을하거나 검색결과를 보여준다.

개인정보를 사용하면 윤리적인 문제가 발생할 수 있다.

데이터 과학자는 지금 만들고있는 모델에 데이터 수집부터 왜곡이 있는지, 개인정보를 인풋으로 사용하고 있는지 자주 확인해야한다.


머신러닝 모델링 사이클
1 가설

2 훈련용 데이터 수집

3 모델 빌딩과 테스트

4 모델 배포

5 모델 A/B 테스트

6 A/B 테스트 결과 분석

7 결과가 괜찮으면 배포 좋지 않으면 다시 사이클을 돌면서 어느 부분이 잘못되었는지 확인하면서 모델을 개선한다.


A/B 테스트

사용자를 두 그룹으로 만들고 한 그룹은 기존 기능을 노출시키고 다른 그룹은 새로운 기능을 노출시켜 비교해보는 것

Randomized Controlled Trial(RCT): 신약 테스트

A: 기존버전(컨트롤)

B: 테스트


데이터 문해력의 정의

데이터 문해력의 정의와 중요성

데이터 기반 의사결정(데이터 분석가 역할)

데이터 기반 제품 개선(데이터 과학자 역할)

GenAI(생성형 AI) - 업무 활용도를 높여준다


데이터 문해력 발전 트렌드

GenAI가 뜨고 점점 더 많은 기업들이 데이터 문해력을 기반으로 경쟁력을 만들어내고 있기 때문에 데이터 문해력은 회사 전체 모든 구성원들이 함양해야하는 기본능력으로 발전해나가는 것이 기본적인 트렌드이다.

데이터는 회사 내의 모든 조직이 활용에 책임이 있고 활용을 해야한다는 인식이 전파되어야한다.

GenAI를 통해 개발자의 역할이 조금 달라질 수 있다. 따라서 흐름을 잘 따라갈 수 있어야한다.


데이터 거버넌스

데이터 품질 관리와 데이터 활용 프로세스 전반에 걸친 정책이 필요하다.


데이터 교훈

데이터 일을 할 때 기억할 점

인프라를 작게 만들면서 동시에 데이터 분석을 해야한다.(인프라부터 만들어야한다는 것은 맞지않는 자세)

데이터 조직을 어떻게 운영하는 것이 중요하다.(데이터 직군 직원의 만족도를 높이고 데이터 조직의 도움을 받는 현업 부서들의 만족도를 올려야한다.)

클라우드 위에서 구축하는 것이 일반적이다.

데이터를 수집하는 방법은 배치로 시작해서 실시간으로 고도화하는 것이 흔하다. 하지만 실시간 데이터 수집 활용 기술들이 발전하고 있기 때문에 경계가 애매모호하다.


데이터 모델링을 할 때 데이터를 찾는데 시간이 오래걸린다. 그리고 데이터 품질이 좋은지 검증을하고, 문제가 있다면 그 데이터를 수집하거나 만든 팀에 이야기를 해서 어떻게하면 품질을 높일 수 있는지 고민해 보아야한다.

데이터가 많아지면 모든 데이터들이 높은 품질을 높일 순 없다. 따라서 어떤 데이터가 중요한지 확인하고 그에 맞게 관리를 하는 것이 중요하다.


하는 일의 정당성을 이야기할 수 있는 가설을 세워야한다. 또한 그 가설에 성공과 실패를 검증할 수 있는 지표를 이야기해야한다. 그 지표는 얼마나 객관성이 있는지, 공정하게 계산할 수 있는지가 중요하다.

이러한 형태의 가설과 검증 방법 중 가장 많이 사용하는 방법이 A/B 테스트이다.


간단한 이슈는 간단하게 풀어야한다.(중요한 것에 더 집중해야한다)

한 큐에 모델을 만들지말고 간단하게 만들어 반복적이고 점진적으로 개발해야한다. 또한 충분히 좋은 결과가 나오면 중단하고 다른 모델을 만들어야한다.


공부하며 어려웠던 내용

어려운 내용은 없었지만 데이터 분석가가 되었다고해서 분석만 하는 것이 아니라 데이터 풀스택 개발자처럼 엔지니어와 과학자 역할까지 모두 한다는 것을 깨닫고 분석뿐만 아니라 웨어하우스 적재와 머신러닝 개발 또한 학습해야겠다는 생각이 들었습니다.
또한 데이터가 또다른 석유라고 하지만 데이터를 통해 의미있는 정보를 도출해내지 못한다면 데이터팀이 존재할 이유가 없다는 것을 깨닫고 경각심을 가졌습니다.


0개의 댓글