반응형

 

안녕하세요

코딩교육자 헨리입니다.

 

오늘은 데이터 커리어 분야의 다양한 직군 중에

데이터를 활용하여 유의미한 서비스 모델을 개발하는 데이터 과학자를 배웠습니다.

이번 강의를 들으면서 멋진 머신러닝 모델을 만들기 위해서는

유의미한 데이터가 우선되어야 한다는 사실을 알게 되었습니다.

아무리 잘하는 데이터 과학자라도, 데이터가 제공되지 않는다면, 큰 힘을 발휘할 수 없다는 것이죠.

 

아래부터는 제가 노트 정리한 내용들입니다.

(어투가 변경될 수 있으니, 양해 부탁드립니다.)

 

 

데이터 과학자의 역할

# 머신러닝의 형태로 사용자들의 경험을 개선

 - 문제에 맞춰 가설을 세우고 데이터를 수집한 후에 예측 모델을 만들고 이를 테스트하는 역할

  * 장시간이 필요하지만 이를 짧은 사이클로 단순하게 시작해서 고도화하는 것이 좋다

 - 테스트는 가능하면 A/B 테스트를 수행하는 것이 더 좋다.

 

데이터 분석가는 내부 직원들을 상대하지만,

데이터 과학자는 외부 고객들을 상대해야 한다.(우리 서비스를 쓰는 실제 고객들)

 

# 데이터 과학자에게 필요한 스킬셋

 - 머신러닝/인공지능에 대한 깊은 지식과 경험

 - 코딩 능력 (파이썬과 SQL)

 - 통계 지식, 수학 지식

 - 끈기와 열정, 박사 학위가 도움이 되는 이유 중의 하나

 

가설을 먼저 잘 세우고, 어떤 문제를 해결할 것인지 이야기를 해보고,

해당 가설이 우리가 달성하고자 하는 목표에 중요한 과정이 될 것 같으면,

프로젝트를 진행한다.

 

가설: 제대로 해결되면, 어떤 지표가 어떻게 개선이 될 것인지 자세하게 세우는 것이 좋다.

짧은 사이클로 여러번 반복을 해서, 내가 만들고자 하는 모델을 점진적으로 고도화한다.

 

 

그렇다면 훌륭한 데이터 과학자란 무엇일까?

- 열정과 끈기

- 다양한 경험

- 코딩능력

- 현실적인 접근 방법?

 * 애자일 기반의 모델링(간단하게 시작해서, 점진적으로 고도화 시키는 것)

 * 딥러닝이 모든 문제의 해답은 아님을 명심하자.

- 과학적인 접근 방법

 * 지표기반 접근(정의가 명확하고 계산이 가능한 지표를 개선해야 한다.)

 * 내가 만드는 모델이 목표는 무엇이고 그걸 어떻게 측정할 것인가

 

 

제일 중요한 것은 모델링을 위한 데이터의 존재 여부라고 생각한다.!!

 

 

한기용 강사님은 데이터 과학자가 모델을 개발을 할 때, 점진적으로 애자일하게 개발하는 것이 좋다고 하셨는데,

애자일 개발방법론이란 뭘까?

 

 

세상이 느리게 굴러갈 때는 폭포수 개발방법론이 가능했다.

디자인 하는 동안 세상이 바뀌지 않았다.

 

그러나 오늘같은 세상에서는 디자인 하나가 세상이 바뀌게 된다.

그로 인해, 보통 2주 주기를 잡고 짧게 개발하고 구현하고 배포하고, 이 과정을 반복적으로 개발해나가는 것이

더 좋다고 생각이 되어졌다.

 

 

머신러닝 모델을 개발하는 과정을 아래와 같다.

 

모델빌딩 테스트와 A/B 테스트는 엄연히 다르다.

A/B 테스트가 조금 더 실제 사용자 환경과 밀접하게 연결된다.

위 사이클을 돌면서 점진적으로 부족한 부분이 있으면 개선하고, 더 나은 모델로 만들어가는 과정을 거칠 수 있다.

 

 

한번에 모든 것을 해결하려고 하는 것이 아니라, 짭게 한바퀴를 돌면서 

미리미리 다양한 형태의 가능성들을 빠르게 파악하면서 개발하는 애자일 방법론이 요즘 트렌드이다.

 

 

그럼 A/B 테스트에 대해서 알아보자

 

 

 

Control그룹과 Variation 그룹을 테스트하며 그 차이를 살펴본다.

 

ex) Udemy에서 상품 추천서비스를 일부는 규칙기반으로 하고, 나머지는 머신러닝 모델로 하면서,

상품 구매율에 대한 어떤 차이가 있는지 확인해보는 것.

 

A/B 테스트란?

# 온라인 서비스에서 새 기능의 임팩트를 객관적으로 측정하는 방법

 - 의료쪽에서 무작위 대조 시험(Randomized Controlled Trial)에 해당

# 새로운 기능을 론치함으로 생기는 위험부담을 줄이는 방법

 - 100%의 사용자에게 론치하는 것이 아니라 작게 시작하고 관찰 후 결정

 - 어떤 지표를 가지고 성공/실패를 결정할지 정해야 함.

 - 예제: 추천을 머신러닝 기반으로 바꾼 경우

  -- 먼저 5%의 사용자에게 론치. 나머지 95%의 사용자와 매출액과 같은 중요 지표를 기반 비교

  -- 5% 대상으로 별문제 없으면 10%, 20% 이런 식으로 점진적으로 키우고 최종적으로 100%로 론치(잘 동작함을 알게 되면)

 

100%로 되면 실제 프로덕션으로 론치가 되는 것.

 

# 보통 사용자들을 2개의 그룹으로 나누고 시간을 두고 관련 지표를 비교

 - 한 그룸은 기존 기능에 그대로 노출(control)

 - 다른 그룹은 새로운 기능에 노출 (test)

# 가설과 영향받는 지표를 미리 정하고 시작하는 것이 일반적(자기 좋을대로 해석하지 않기 위해)

 - 지표의 경우 성공/실패 기준까지 생각해보는 것이 필요

# A/B 테스트의 분석은 과학이 아닌 예술에 가깝다.

 

 

 

반응형
반응형

#내가 보려고 만드는 기록

 

우분투에 EC2를 대여해서 스프링에 배포함.

 

그런데 nohup 명령어를 통해 ec2 접속을 종료해도, 꺼지지 않고, 데몬으로 실행하려고 하니,

이후에 백그라운드에 계속 프로세스가 살아있는 경우가 계속 발생했다.

 

그래서 백그라운드에 실행되고 있는 프로세스를 찾고, 강제종료해주는 방법을 찾아보았는데,

 

sudo lsof -t -i:8080 <= 8080 포트로 실행하고 있는 프로세스 아이디를 찾음

sudo kill -9 [프로세스ID] <= 해당 PID 강제종료

 

 

반응형
반응형

안녕하세요 

코딩교육자 헨리입니다.

 

 

2022년은 저에게 특별한 해입니다.

제가 데이터 엔지니어로의 길을 시작하려고 마음을 먹은 해이기 때문이죠.

 

앞으로 2022년에 제가 하고 싶은 일은 아래와 같습니다.

 

우선, 데이터 엔지니어 특강을 다 듣고, 실제로 제가 되고 싶은 모습이 무엇인지 명확하게 하려고 합니다.

 

최근 제가 자주 연락하고 있는 한 개발자 친구가 있는데, 그 친구와 카톡을 나누면서

데이터 엔지니어와 ML 엔지니어에 대해서 구분을 할 수 있게 되었습니다.

아직 이 분야에서는 문맹인지라 제대로 된 개념이 필요했는데, 친구에게 설명을 잘 받았습니다.

저는 데이터 인프라를 운영하면서, 한편으로는 ML 모델링로 도움을 주고 싶었습니다. 

그래서 데이터 인프라와 데이터 모델링을 모두 할 수 있는 ML Ops에 대해 관심을 갖게 되었습니다.

ML Ops에 대해서 알게된 것만으로도 2021년의 저를 돌아보았을때, 놀라운 발전입니다.

 

정량적으로 본다면, 저는 2~3월 동안 프로그래머스에서 진행하는 아래 스터디에 참여할 예정입니다.

 

1주차부터 6주차까지 데이터 엔지니어링에 대한 질의응답 시간을 통하여 

저의 상황을 잘 말씀드리고, 앞으로 성장하기 위해서 어떻게 해야하는지 그동안 궁금했던 질문들을

마구마구 하고 싶습니다

 

 

이 강의를 통해서 제가 얻고자 하는 것은, 

데이터 엔지니어라는 커리어 분야에서 저의 현재 상황을 말씀드리고, 어떤 경험이 필요한지 

그 방향성에 대해서 답을 얻는 것입니다.

 

 

 

그리고 두번째로 정량적인 목표는

데이터 스킬셋에 대한 정의를 하나씩 정리해보는 것입니다.

최근 듣고 있는 데이터 커리어 분야 인강에서 추천 받았던 github 사이트에 이런 그림이 올라와있었습니다.

 

2021년의 데이터 엔지니어링 분야에 스킬셋들을 잘 정리해둔 표라고 생각합니다.

 

우선 여기에 나와있는 기술들을 찾아보고, 정의 내려보는 시간을 갖는 것이 두번째 목표입니다.

지금은 단순하게 Hadoop, Spark 만 알고 있는 수준의 나의 상태가

이번 목표를 이루어가면서 어떻게 바뀔지 벌써부터 기대가 됩니다.

 

물론 모든 기술들을 다뤄볼 수는 없겠지만,

하나씩 기술들의 기능과 필요성에 대해 공부하면서

데이터 엔지니어로서 나의 역할을 잘 잡아갈 수 있으리라 봅니다.

 

 

마지막으로 세번째 정량적인 목표는, 개인프로젝트를 실제 서비스로 론칭하는 것입니다.

물론 실제 서비스로 론칭했을 때, 그 반응은 무관심일 수 있습니다

그러나 코딩교육자로써, 누군가에게 코딩에 대해 교육해주는 날이 올 텐데, 

그러기 위해서는 실제로 경험해보는 것만큼 좋은 것이 없지 않을까요?

 

 

실제 서비스를 론칭하고 데이터를 적재하고 전처리하고 저장하고 분석하고 시각화하면서,

분명히 2번째 목표에서 공부했던 기술들일 필요한 때가 있을 것입니다.

 

 

데이터 양을 베리베리스몰데이터이겠지만.

 

 

 

2022년 겨울의 내가, 2022년 봄의 나를 돌아봤을 때,

이 시작을 꾸준히 안고 달려옴에 감사하는 날이 있을 것입니다.

 

 

 

개인 프로젝트

시작 화면.

 

 

 

 

반응형
반응형

 

 

 

 

안녕하세요!

코딩교육자 헨리입니다.

 

오늘은 데이터 팀의 직군 중에서 데이터 분석가에 대해서 강의를 들었습니다.

데이터 분석가는 인프라가 갖추어진 환경에서

KPI / 지표를 정의하는 것과 이를 대시보드 형태로 시각화 서비스를 제공해주는 역할을 주로 맡게 됩니다.

회사 내 다른 팀들에게 데이터 관련 질문을 요구 받는 경우가 많습니다.

ex) KPI 대비 현재 이런 상황이 나오는 이유가 무엇인가? 같은 질문들입니다.

 

그러면 강의를 들으면서 정리한 내용을 덧붙여보겠습니다.

(강의에 대한 내용을 정리한 부분이여서, 음슴체가 사용될 수도 있습니다.)

 

 

데이터 분석가의 역할에 대해서 알아보자

 

1) 비지니스 인텔리전스를 책임진다. (*BI - Business Intelligence 이다)

- 중요 지표를 정의하고 이를 대시보드 형태로 시각화한다.

  대시보드로는 태블로(Tableau)와 룩커(Looker)등의 툴이 가장 흔히 사용됨

  오픈소스로는 수퍼셋(Superset)이 많이 사용됨.

 

통상적으로 상황이 안좋을때 일이 많아진다

ex) 이번달에 매출이 많이 떨어지고 있는데 이유가 뭐냐

ex) 이번달에 사용자 이탈률이 많이 떨어지고 있는데 이유가 뭐냐

 

- 이런 일을 수행하려면 비지니스 도메인에 대한 깊은 지식이 필요하다.

 

2) 회사내 다른 팀들의 데이터 관련 질문 대답

- 임원들이나 팀 리드들이 데이터 기반 결정을 내릴 수 있도록 도와줌

- 질문들이 굉장히 많고 반복적이기에 어떻게 셀프서비스로 만들 수 있느냐가 관건

 

 

데이터 분석가가 알아야하는 기술

# SQL: 기본 SQL, Hive, Presto, SparkSQL 등

# 대시보드

  - 룩커, 태블로, 파워 BI, 수퍼셋

  - 엑셀, 구글 스프레드시트, 파이썬

# 데이터 모델링 (어떤 정보를 어떻게 데이터로 표현할 것이냐)

# 통계 지식

  - AB 테스트 분석 혹은 다양한 데이터 분석에서 통계 지식은 아주 유용함(A와 B가 다르게 보이는데, 이 다름의 정의가 유의미하게 다른 범위이냐, 아니면 오차 범위 안에 있느냐에 대한 내용이다.)

# 비지니스 도메인에 관한 깊은 지식

# 좋은 지표를 정의하는 능력

# 보통 코딩을 하지는 않음. (그렇지만, 작은 회사에서는 데이터 분석하는 사람이 데이터 엔지니어 역할도 한다.)

 

 

 

데이터 분석가의 딜레마가 있다.

- 보통 많은 수의 긴급한 데이터 관련 질문들에 시달림 (왜 그러냐에 대한 빠른 답변을 요구받음)

- 좋은 데이터 인프라 없이는 일을 잘 하기 힘듬!

- 많은 경우 현업팀에 소속되기도 함

 내 커리어에서 다음은 무엇인가?

 소속감이 불분명하고 내 고과 기준이 불명확해짐

- 데이터 분석가의 경우 조직 구조가 더 중요함 (소속이 불명확하지 때문이다)

 

 

데이터 과학자는 커리어의 측면과, 일의 재미라는 측면에서 의문점들이 많이 생긴다.

그렇기 때문에 데이터 과학자가 재밌게 일할 수 있는 환경을 만들어 주는 것이 중요하다.

 

 

데이터 분석가: 지표/ KPI와 시각화 툴

데이터 분석가에게 중요한 능력은 좋은 지표를 정의하고 그걸 이해하기 쉬운 형태의 대시보드로 만드는 것이다.

 

KPI(Key Performance Indicator)란?

* 조직 내에서 달성하고자 하는 중요한 목표이다.

  - 보통 정량적인 숫자가 선호된다.

  - 예를 들면 매출액 혹은 유료 회원의 수/비율 (정의가 중요하다.)

 

ex) 유료회원의 경우 숫자보다는 비율이 더 중요한 KPI가 된다.

(많은 경우 숫자보다는 비율이 더 좋은 KPI 지표가 된다.)

ex) 좋은 데이터 분석가의 경우, 정의를 명확하게 하고, 정의를 공유하는 세션을 갖는다. 그리고 이것을 잘 정리하여 문서화하여야 한다. 그리고 KPI는 기간별 하나만 가지고 있는것이 좋다. KPI는 적으면 적을 수록 좋다.

 

 

* KPI의 수는 적을수록 좋다.

* 잘 정의된 KPI -> 현재 상황을 알고 더 나은 계획을 가능케 한다.

  - 정량적이기에 시간에 따른 성과를 추적하는 것이 가능하다.

  - OKR(Objectives and Key Results)과 같은 목표 설정 프레임워크의 중요한 포인트이다.

 

 

여러 지표중에 정말 중요해서 회사 차원의 목표로 삼은 것이 KPI이다.

 

데이터 문해력(Data Literacy)에 대한 내용이 최근에 많이 다뤄진다.

 

 

 

시각화 툴이란?

- 대시보드 혹은 BI(Business Intelligence) 툴이라고 부르기도 한다.

- KPI(Key Performance Indicator), 지표, 중요한 데이터 포인트들을 데이터를 기반으로 계산/분석/표시해주는 툴

- 결국은 결정권자들로 하여금 데이터 바탕 의사결정을 가능하게 함

  * 데이터 기반 결정 (Data-Driven Decision)

  * 데이터 참고 결정 (Data-Informed Decision)

 

한기용 강사님은 개인의 생각이 반영되는 데이터 참고 결정(Data0Informed Decision)을 더 선호한다.

 

 

어떤 시각화 툴이 존재하는가?

# 엑셀, 구글 스프레드시트

  * 사실상 가장 많이 쓰이는 시각화 툴

# 룩커(Looker)

# 태블로 (Tableau)

# 파워 BI

# 아파치 수퍼셋 (Apache Superset): 오픈소스

# 파이썬

  * 데이터 특성 분성(EDA: Exploratory Data Analysis)에 더 적합

 

 

그러면 위의 시각화 툴에 대해서 일부 중점적으로 살펴보겠다.

 

 

어떤 시각화 툴을 선택할 것인가?

# 룩커가 내블로가 가장 많이 사용되는 추세

  * 두 툴 모두 처음 배우는데 시간이 필요하다

  * 태블로의 가격이 더 싸고 투명하며 무료 버전도 존재해서 공부가 가능하다

 

# 중요한 포인트는 셀프서비스 대시보드를 만드는 것

  * 안 그러면 매번 사람의 노동이 필요해짐

   - 60~70%의 질문을 셀프서비스 대시보드로 할 수 있다면 대성공

  * 이런 측면에서는 룩커가 더 좋은 선택이지만 가격이 상당히 비싸다.

 

 

 

 

느낀 점:

데이터 엔지니어를 채용하는 작은 규모의 기업들의 채용 공고를 보면, 태블로를 요구하는 공고들을 많이 보았다.

태블로는 한번도 경험해본 적이 없어서, 해보지 않은 기술로만 생각하고 있었는데, 이렇게 데이터 분석가의 스킬셋애 대한 내용에서 태블로를 보게 되서, 한번 찾아보게 되었다. 

그냥 눈으로만 찾아보기에는 적당히 감이 안오는 것 같아서, 내가 하고 있는 개인 프로젝트에 KPI를 정의하고 태블로를 사용해보아야겠다는 계획을 갖게 되었다.

 

반응형
반응형

안녕하세요

코딩교육자 헨리입니다.

 

 

오늘은 데이터 엔지니어의 여정에 있어서,

다양한 데이터 팀의 직군에 대해 알아보려고 합니다.

 

 

데이터 팀의 직군에는 다음과 같은 직군들이 있습니다.

1. 데이터 엔지니어

2. 데이터 분석가

- 지표/KPI와 시각화 툴

3. 데이터 과학자

- AB 테스트

4. 새로운 데이터 관련 직군

 

어떤 일들을 하고 어떤 스킬셋이 필요하고 어떤 특징들이 있는지 알아 볼 것입니다.

(이하부터는 강의를 정리하는 노트이기 때문에 "~다"로 끝맺음이 있을 수 있습니다.)

 

 

 

데이터 엔지니어가 인프라를 구축해주면,

데이터 분석가가 해당 데이터 웨어하우스의 데이터를 기반으로 지표를 만들고 시각화한다.

이후에 데이터 과학자가 머신러닝 모델을 만들어 인사이트를 도출하며, 서비스를 제공한다.

 

먼저 데이터 엔지니어에 대해서 알아보자

 

데이터 엔지니어의 역할

 

1) 기본적으로는 소프트웨어 엔지니어다

- 파이썬이 대세, 자바 혹은 스칼라와 같은 언어도 아는 것이 좋다.

2) 데이터 웨어하우스 구축

- 데이터 웨어하우스를 만들고 이를 관리. 클라우드로 가는 것이 요즘 추세이다.

  (AWS 의 Redshift, 구글클라우드의 GibQuery, 스노우플레이크)

- 관련해서 중요한 작업중의 하나는 ETL 코드를 작성하고 주기적으로 실행해주는 것이다.

  (ETL 스케쥴러 혹은 프레임워크가 필요하다, Airflow라는 오픈소스가 대세)

* ETL이란 데이터를 전처리하고 적재하는 과정

3) 데이터 분석가와 과학자 지원

- 데이터 분석가, 데이터 과학자들과의 협업을 통해 필요한 툴이나 데이터를 제공해주는 것이 데이터 엔지니어의 중요한 역할 중의 하나.

 

 

데이터 엔지니어가 알아야하는 기술 (1)

 

# SQL: 기본 SQL, Hive, Presto, SparkSQL 등

# 프로그래밍 언어: 파이썬, 스칼라, 자바

# 데이터 웨어하우스

- Redshift / Snowflake BigQuery

# ETL/ELT 프레임워크: Airflow 등을 잘 알고 있으면 Big Plus가 된다.

# 대용량 데이터 처리 플랫폼: Spark/YARN

 

적용 TIP: 스파크 Yarn 사용해보기

 

데이터 엔지니어가 알아야하는 기술 (2)

# 클라우드 컴퓨팅

- AWS

- GCP

- Azure

# 도움이 되는 기타 지식

- 머신 러닝 일반

- A/B 테스트

- 통계

# 데이터 엔지니어 스킬 로드맵

- https://github.com/datastacktv/data-engineer-roadmap 

 

GitHub - datastacktv/data-engineer-roadmap: Roadmap to becoming a data engineer in 2021

Roadmap to becoming a data engineer in 2021. Contribute to datastacktv/data-engineer-roadmap development by creating an account on GitHub.

github.com

- MLOps 혹은 ML Engineer가 다음 스텝이 많이 된다. <- 데이터 엔지니어에서 파생되는 다양한 직군들이 있다.

 

 

 

느낀 점:

데이터 엔지니어로써 필요한 기술 스택을 항상 알고 싶었다.

스파크의 경험은 있지만, Standalone 방식으로 예제 수준만 해보았고, YARN에 대한

경험은 없었다는 것을 알았습니다. 이번 강의를 통해서 스파크와 YARN 프레임워크에 대해서

공부를 해보아야겠다는 생각을 했습니다.

반응형
반응형

안녕하세요

코딩교육자 헨리입니다.

 

오늘은 데이터 팀이 구성된 회사에서 어떤 일들을 하게 되고, 또 하고 있는지 그 역할을 케이스 스터디 형식으로 배웠습니다.

한기용 강사님이 실리콘밸리에 있는 여러 스타트업을 경험하면서, 강의해주신 내용들을 정리하며, 많은 생각이 들게 되었습니다.

 

그럼 케이스를 통해 데이터 분석에 대해서 알아보겠습니다.

 

1) 데이터 분석의 예 - 고객 이탈률 (회사: 스킵스쿠터)

ex) 샌프란시스코 기반 전동 스쿠터 회사에서 돈을 많이 쓰는 고객들이 두세달 후에는 서비스를 그만 사용하는 현상이 발견됨.

어느 서비스건 돈을 많이 쓰는 사람들의 이탈률을 트래킹하는 것이 중요함.

 

-> 돈을 많이 쓰는 사람들이 이탈하는 원인을 지표로 만들어서 모니터링 하는게 중요하다.

 

모니터링을 통해 알아낸 것. 

서비스를 이용하는 것보다, 직접 장비를 구매해서 사용하는 것이 좋겠다 라는 생각을 하게 됨.

 

2) 데이터 인프라의 활용: 시간이 걸리는 통계 작업 수행 (회사: Udemy)

ex) 인기 컨텐츠의 좋아요 카운트와 평균 평점 계산은 많은 리소스와 시간 소용

이를 프로덕션 데이터베이스에서 수행하는 것보다는 데이터 웨어하우스에서 주기적으로 계산하고 결과를 프로덕션 데이터베이스로 복사하는 것이 더 좋음

 

-> 실시간으로 계산될 필요는 없기 때문에, 1시간 같이 주기적으로 데이터 웨어하우스에서 계산하고 이것을 반대방향 프로덕션 데이터베이스로 푸시를 하며 해결.

 

3) 데이터 기반 부가가치 예 - 고객용 대시보드 (회사: Airvet - 애완동물 원격진료 마켓플레이스)

Airvet이란 회사와 수행했던 프로젝트로 고객용 대시보드 개발

- Airvet은 원격 애완동물 진료 서비스를 제공해주는 마켓플레이스

- 애완동물 주인과 수의사/동물병원을 연결

 

세일즈포스와 내부 매출 정보를 연동하여 수의사/동물병원용 대시보드 개발

- 세일즈포스 정보를 데이터 웨어하우스로 복사

- 룩커(Looker)를 사용

 

-> 룩커(Looker) 라는 솔루션을 사용했고, 내/외부 직원 및 고객들을 위한 대시보드를 만들어 서비스로 제공하였다.

 

4) 머신 러닝 모델링 예 - 환자 이상 징후 예측 (회사: 하모나이즈)

원격 환자 모니터링 (Remote Patient Monitoring)에서 많이 사용됨

환자의 당야한 측정 데이터를 기반으로 환자의 상태가 혹시라도 치료를 필요로 하는지 예측

목표는 환자의 병원 입원이나 응급실 방문을 막는 것

 

-> 원격으로 측정을 하고, 모바일 앱을 통해 모니터링 되다가 정보가 전달이 되면서, 환자의 상태를 알게됨.

 

5) 데이터 분석의 예 - 마케팅 기여도 분석(회사: 툴립)

샌프란시스코 기반 화장(火葬) 스타트업인 큘립의 예

다양한 광고 마케팅을 디지털 미디어 기반으로 수행

이 결과를 빠르게 분석하여 어느 채널에 어떤 형태의 마케팅이 효과적인지 파악

디지털 마케팅은 기본적으로 데이터 중심으로 돌아감

 

ex) 예를 들어 오늘 내가 3개의 캠페인은 4개의 다른 채널(ex, 유튜브, 페이스북 등)에 광고를 한다.

그럼 채널별 캠페인의 결과가 report 형태로 나오면, 다음에 광고 캠페인을 최적화 하기가 쉬어진다.

 

6) 머신 러닝 모델링 예 - 개인화된 추천 엔진 (회사: Udemy)

Udemy: 규칙 기반에서 머신러닝 기반으로 전환

머신 러닝 전에는 마케터들이 규칙 기반으로 추천: AB 테스트가 중요해짐

 

 

 

요약

  • 데이터 팀의 목표는 신뢰할 수 있는 데이터를 바탕으로 부가가치 생성
  • 데이터 인프라의 구축이 선행되어야 분석가와 과학자가 역량 발휘 가능
  • 데이터 직군에는 엔지니어, 분석가, 과학자 크게 세 종류가 존재
  • 성장하는 B2C 스타트업에서는 마케팅 관련 업무가 주가 많이 됨
  • 데이터는 다양한 형태로 회사 부가가치를 만들어내는데 사용됨

 

 

 

강의를 듣고 느낀 점

이번 강의를 통해 느낀 점은, 강사님의 강의를 들으면서 데이터 팀의 리더로써의 관점이 얼마나 중요한지에 대해서 조금 실감할 수 있었다.

항상 기술에 집착하면 기술만 배우고 싶어하는 나의 모습을 보다가, 강사님의 데이터 팀을 이끄는 리더로서의 관점에 대해서 들으니, 데이터 팀이 어떤 역할을 해주어야 하고, 회사의 규모에 따라 어떤 일을 담당해야 하는지, 회사가 바라는 데이터 팀의 역할에 대해서 배울 수 있었다. 

이 강의를 들으면서 나도 나중에는 데이터 팀을 이끄는 리더가 되고 싶다는 생각을 하였다. 기술을 잘하는 사람을 넘어, 회사에 정말 핵심적으로 도움을 줄 수 있는 데이터 팀을 이끌고 싶다는 꿈을 꾸게 되었다.

 

반응형
반응형

안녕하세요~!

코딩교육자 헨리입니다!

 

오늘은 아주 짧게 스타트업에서 데이터 팀이라는 주제로

어떤 역할들을 감당해야 하는지 공부하였습니다.

 

제가 요즘 공부하고 있는 강의는

실리콘밸리에서 날아온 데이터 분석 커리어 특강

이라는 주제의 한기용 강사님의 강의입니다!

 

이 강의를 들으면서, 

보다 거시적인 관점에서 데이터 직군을 바라볼 수 있음에 유익한 시간을 보내고 있습니다.

 

바로 본론으로 넘어가 오늘 포스팅의 목적인 

스타트업에서 데이터 팀의 역할을 정리해보았습니다.

 

 

 

스타트업의 환경에 대해서 알아보자.

- 초기 데이터 팀의 주업무는 마테킹인 경우가 많음

- 데이터 인프라가 먼저 구축되는 경우는 흔하지 않음

 

 

초기 스타트업에는 데이터가 없음!

따라서 데이터 인프라나 분석가나 과학자가 필요없다.

하루 하루 생존과 PMF(Product Market Fit)을 찾는 것이 더 중요

가능하다면 최대한 ETL 관련 SaaS로 버티는 것도 하나의 방법이다.

ex) Stitch Data, FiveTran, Segment 등등 SaaS 프로그램들을 사용하는 것도 좋은 대안이다.

 

 

나중에 처리해야할 데이터가 많아지만, Airflow를 접목시켜 사용하게 된다.

이후 아예 전부를 Airflow로 운영하게 된다.

 

 

데이턱 발생한다? -> 스타트업의 성장을 의미한다.

많은 경우 데이터 인프라가 필요하다는 점을 모름

데이터 분석가나 과학자가 먼저 고용됨

- 본연의 일보다는 데이터 수집/정제 등의 인프라적인 일을 하게 됨

- 아니면 프로덕션 데이터베이스를 데이터 웨어하우스처럼 사용하게 됨

 

 

 

스타트업에는 데이터 인프라가 우선이다.

아니면, ETL SaaS를 통해 데이터 인프라를 구매하여 사용하는 것도 좋은 대안이다.

 

 

 

B2C 스타트업의 성장: 마케팅이 중요해진다.

- 잠재고객들에게 서비스 존재를 알리는 것이 중요하다.

- 요즘 마케팅은 모두 디지털 마케팅이기에 광고 효과 분석을 데이터 기반으로 수행한다.

(마케팅 채널 기여도 분석!)

- 디지털 마케팅을 발전시키고 싶으면, 데이터 인프라와 데이터 분석이 아주 중요해짐

(이는 회사의 핵심조직이 되어야 함)

반응형
반응형

실리콘밸리에서 날아온 데이터 분석 커리어 특강

 

안녕하세요.

코딩교육자 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월까지는 마무리 하는 걸로ㅎㅎ

 

반응형

+ Recent posts