실리콘밸리에서 날아온 데이터 분석 커리어 특강
안녕하세요.
코딩교육자 Henry입니다~~!
Day 2에서 제가 프로그래밍 강의를 하나 신청했다고 말씀드렸는데요.
여기 참고 => https://datacodingschool.tistory.com/240
나에게 있어 성장이란?
안녕하세요. 코딩교육자 Henry입니다. 첫인사로 제 닉네임 앞에 코딩교육자라는 말을 넣어보았습니다. 코딩교육자? 무슨의미지 싶어하시는 분들도 있을 것 같습니다. 개발자가 교육자의 길을 걸
datacodingschool.tistory.com
오늘은 그 강의 중 1강을 퇴근하고 몇일동안 듣고 난 뒤, 배운 내용들을 정리하는 시간을 가졌습니다.
글 솜씨가 없어, 내용이 투박하게 느껴지는 점 양해부탁드립니다ㅎ
데이터 조직의 비전
- 신뢰할 수 있는 데이터를 바탕으로 부가 가치 생성 <- 에어비엔비 데이터팀의 모토
- Data is the new oil?
- 데이터의 중요성이 강조되니 데이터 팀도 어느회사나 인정을 받는다?
아니다! 데이터를 통해 돈을 버는 회사가 아니라면, 내가 원하는 대우를 받지 못할 것이다.
대우받기 위해 데이터를 통해 부가가치를 창출해야 한다.
"어떻게 데이터 조직이 회사의 성장과 발전에 기여하는지"
여기에 포커스를 맞추어야 한다.
데이터 조직이 하는일
1. 고품질 데이터를 기반으로 의사 결정권자에게 입력 제공
데이터를 기반으로 한 결정은 현재 일의 최적화를 가능케 하지만, 완전 새로운 일에는 필요하지 않다!
2. 고품질 데이터를 기반으로 패턴을 찾아 오류 탐지, 개인화 추천 등을 한다.
공장이라면? 이상 탐지 / 이커머스는 개인화 추천 모델링 등을 한다.
이것이 데이터 과학자들이 하는 일이다.
데이터의 흐름과 데이터 팀의 발전 단계
데이터 엔지니어를 고용하여, 곳곳에 뿌려진 (회사에 필요한) 다양한 데이터를 수집해서
한 곳(데이터 웨어하우스)에 모아놓는다.
이 과정을 흔히 ETL이라고 한다.
혹은 데이터 파이프라인, 데이터 잡이라고도 한다.
보통 파이썬을 많이 쓴다.
이게 주기적으로 실행되면, 데이터 웨어하우스에 적재가 되기 시작하고,
데이터 분석가들이 이 데이터를 활용하여 지표를 만들어내고, 시각화 한다.
데이터 과학자들은 이것을 활용해서 최적화, 개인화, 공정 개선, 탐지 등을 한다.
1. 데이터 인프라 구축
일단 데이터를 모아야지.
데이터 웨어하우스에 대해서 알아보자.
프로덕션데이터베이스 <(더 큰 개념) 데이터웨어하우스
프로덕션은 - 우리 서비스가 온라인 웹이라고 하면, 그 서비스를 운영하는데 필요한 데이터베이스이다.
특징: 응답 속도가 빨라야한다.(EndUser에게 서비스를 빠르게 제공해야하기 때문에)
데이터웨어하우스는 데이터 인프라에서 수집된 다양한 데이터들이 저장되는 곳
프로덕션 데이터베이스(외부고객들) -> 빨라야한다.
데이터웨어하우스(내부직원들) -> 빠르면 좋지만, 더 중요한 것은 처리할 수 있는 데이터의 크기이다.
데이터 웨어하우스
- 회사에 필요한 모든 데이터를 모아놓은 중앙 데이터베이스(SQL 데이터베이스)
- 데이터의 크기에 맞게 어떤 데이터베이스를 사용할지 선택한다.
- 크기가 커진다면 다음 중 하나를 선택
- AWS Redshift, 구글 클라우드의 BigQuery
- 스노우플레이크(Snowflake)
- 오픈소스 기반의 하둡/스파크
- 이 모든 SQL을 지원
데이터웨어하우스에 적재되는 데이터가 많아지면,
자연스럽게 ETL의 개수도 많아진다.
그러면 자연스럽게 이것을 관리하는 포인트를 가져야한다.
이때 가장 많이 사용되는 것이 Airflow이다.
현재는 ETL SaaS가 잘 되어있는 곳이 많이 없어서,
데이터가 많이 않은 초기에는 ETL SaaS를 사용해도 괜찮지만,
이후 처리하는 데이터가 많아지면, 데이터 엔지니어를 고용해서 데이터 웨어하우스 ETL과정을 관리해야한다.
2. 데이터 분석 수행
시각화 대시보드를 통해 지표를 보여주어야 한다.
- 보통 중요한 지표를 시간의 흐름과 함께 보여주는 것이 일반적
- 지표의 경우 3A(Accessible, Actionable, Auditable)가 중요
- Accessible: 이 지표가 대시보드 형태로 쉽게 접근할 수 있는가.
- Actionable: 이 지표가 액셔너블 하는가, 올라가거나 내려가면 그 의미가 분명한가. / 이 지표의 변화가 의미하는 것이 분명한가.
- Auditable: 이 지표가 제대로 계산되었는지 검증이 가능하는가.
- 중요 지표의 예: 매출액, 월간/주간 액티브 사용자수, ...
- 가장 널리 사용되는 대시보드
- 구글 클라우드의 룩커(Looker) <- 경제적인 부분이 넉넉히 마련되었다면, 가장 우수한 솔루션이다.
- 세일즈포스의 태블로(Tableau)
- 마이크로소프트의 파워 BI(Power BI)
- 오픈소스 아파치 수퍼셋(Superset) <- 오픈소스이므로 무료이다.
3. 데이터 과학 적용
이제 인프라가 마련되었고, 데이터 분석가들이 지표를 마련해놓았다면,
데이터 과학자들이 새로운 피쳐를 뽑아내는 작업이다.
사용자 경험 개선(추천, 검색 등 개인화)
이 과정에서는 머신러닝이 주로 사용된다.
- 머신러닝(Machine Learning)이란?
- (프로그래밍 없이) 배움이 가능한 알고리즘 -> 블랙박스
- 데이터로부터 패턴을 찾아 학습
- 데이터의 품질과 크기가 중요
- 데이터로 인한 왜곡(bias) 발생 가능 - 학습 데이터가 한쪽으로 치우쳐저서 들어온 경우. (왜곡 여부, AI 윤리침범 여부)
- 내부동작 설명 가능 여부도 중요 (ML Explainability)
범주적으로 말하자면, 아래와 같다.
인공지능 >> 머신러닝 >> 딥러닝
머신러닝의 종류
1) 지도 기계 학습(Supervised Machine Learning)
- 명시적 예제(트레이닝셋)을 통해 학습
- 분류 지도 학습(Classification)
이진 분류(Binary)와 다중 분류(Multi-class)
- 회귀 지도(Regression)
2)비지도 기계 학습(Unsupervised Machine Learning)
- 클러스터링 혹은 뉴스 그룹핑처럼 주어진 데이터를 몇 개의 그룹으로 분리
3)강화 학습(Reinforcement Learning)
알파고 혹은 자율주행
기본적으로 규칙이 정해진 환경에서 잘 동작한다.
자율주행처럼 예외사항이 많은 경우는 아직 발전해야하는 부분이 많다.
머신러닝 모델을 실제로 배포하는 그림은 아래와 같다.
우선적으로 트레이닝 셋(X,Y)값이 필요하고,
모델을 학습했다면, 해당 모델을 Production한 환경으로 배포를 한다.
응용 프로그램에서 데이터가 발생하면 이 데이터를 모델에 넣어주고, 예측값을 전달하는 것이다.
요즘 뜨고 있다는 MLOps란?
데이터 과학자가 만든 모델을 배포하고, 모니터링 하고, 관리하고
문제가 있다면 재 배포하고, 이런 과정이 복잡해지면, 자동화하는 것을 맡게되는 직군이다.
느낀 점
아직 1강밖에 듣지 못했지만, 배우는 것이 많았던 시간이었다. 데이터 조직이 하는 일에 대해서 배우면서, 단순 기술을 사용하는 방법보다 더 거시적인 관점에서 데이터 기술을 바라볼 수 있었던 시간이었다. 강의 1/5이 끝났다. 5시간 강의에 거의 1시간짜리 강의였다.
한번에 다 듣지는 못해고, 수강기한이 있는 강의는 아니니까, 천천히 소화시키면서 공부해야겠다!
참! 강의 하나를 더 결제했다. 이번에는 강의가 아닌 스터디이다.
현재 듣고 있는 강의와 동일한 강사님인 한기용 강사님의 스터디가 열렸다!! 2/5일에 시작이라고 하는데, 스터디에서 뒤쳐지지 않도록 지금 듣고 있는 강의는 2월까지는 마무리 하는 걸로ㅎㅎ
|