<2주차 데이터 분석 소개(1)>
1. 데이터 문해력이란?
1-1. 데이터란?
데이터란 우리 생활 모든 곳에 존재하며, 우리가 관찰할 수 있는 모든 것을 말함
ex) 온도, 풍향, 소리 등..
-> 의미있는 정보 도출 가능
-> 데이터를 활용하는 것의 시작은 데이터를 기록하고 수집하는 것임(Digitization)
=> 웹, 모바일과 같은 모바일 환경에서 데이터를 수집.
요즘은 클라우드, 빅데이터 처리. 인공지능의 기술 발전으로 인해
점점 더 많은 오프라인 서비스 혹은 오프라인 -> 온라인의 트렌드가 만들어짐
빅데이터란 꼭 크기가 큰 데이터만을 의미하는 것이 아님
데이터에서 가장 중요한 것은 품질. 그 다음이 크기임.
품질이 좋아야 좋은 데이터임.
빅데이터의 예) 모바일 디바이스의 위치정보, 스마트TV, IoT 센터, 센서 데이터, 웹
웹: 엄청 많은 수의 웹페이지 존재. 가까정보들도 많지만 양질의 정보가 많음.
웹 검색엔진 개발은 진정한 대용량 데이터 처리 기법
-> 대표적인 것: 구글 -> 다양한 형태의 논문 발표를 통해 기술 발전에 영향을 끼침. (2000년대 이후 기술 진보에는 구글 영향력이 매우 큼)
- 사용자 검색어와 클릭 정보 자체가 대용량 -> 이를 마이닝하여 개인화 혹은 별도의 서비스 개발이 가능함.
ex) 검색어를 바탕으로 한 트렌드 파악, 통계 기반 번역, ...
- 요즘은 웹 자체가 NLP 거대 모델(GPT 등..) 개발의 훈련 데이터로 사용되고 있음.
1-2. 데이터팀의 미션
데이터를 수집하고 이를 가치있게 만들어내는 팀이 데이터팀임.
데이터 팀 안에는 데이터 엔지니어, 데이터 분석가, 데이터 과학자 등이 있음.
- 데이터 조직의 미션(존재가치)은?
: 신뢰할 수 있는 데이터를 바탕으로 부가 가치를 생성함
: 데이터의 품질이 매우 중요함! 데이터를 잘못 사용하면, 개인정보 관리, 개인정보 노출 등의 위험이 생김.
데이터 팀은 기본적으로 서포트 조직임.
이유) 데이터는 그 회사가 가지고 있는 본업을 더 잘할 수 있게 만들어주는 촉매재 역할임.
ex) sk하이닉스 등 반도체 회사의 경우.. 데이터를 팔지는 않음.
이 때, 데이터 팀은 의사결정을 잘 할 수 있게, 반도체 공정과정을 더 최적화, 운영 비용을 최소화할 수 있는 방법을 예측함.
데이터 조직이 하는 일(1) : Decision Science
: 결정을 과학적으로 내려주는 일.
고품질 데이터를 기반으로 의사 결정권자에게 결정을 제대로 내릴 수 있도록 입력 제공
- 데이터를 고려한 결정(data informed decisions)을 가능하게 해줌 -> 나의 가설을 바탕으로 그 방향으로 움직임에 있어 데이터를 참고함 -> 데이터는 과거의 기록이므로 데이터 자체는 과거임. 따라서 데이터를 참고하는 결정이 더 좋음!
코로나와 같이 과거에 예측할 수 없는 상황이 왔을 때는 데이터 기반결정보다 데이터 고려 결정이 더 좋음!
vs 데이터 기반 결정(data driven decisions) -> 내 생각을 줄이고 데이터의 힘이 큼
ex) 데이터 기반 지표 정의, 대시보드(시각화)와 리포트(다양한 문제에 관한 보고서) 생성 등을 수행
=> 의사결정을 과학적으로 하는 구체적인 방법
==> 이러한 일을 하는 직군이 데이터분석가임!
data literacy(데이터 문해력)이 있는 조직.
데이터 문해력: 데이터를 활용할 수 있는 능력 -> 그 시작은 의사결정을 데이터 기반으로 하는 것임.
데이터 조직이 하는 일(2) : Product Science
: 제품 혹은 서비스의 기능 자체를 데이터 기반으로 개선함
고품질 데이터를 기반으로 사용자 서비스 경험 개선 혹은 프로세스 최적화
- 머신러닝과 같은 알고리즘을 통해 사용자의 서비스 경험을 개선
ex) 개인화를 바탕으로 한 추천과 검색 기능 제공, 공정 과정에서 오류를 최소화 혹은 기기 고장 예측 등 수행
==> 이러한 일을 하는 직군이 데이터과학자임!
-> 이를 통해 제품의 사용자가 영향을 크게 받음
데이터의 흐름과 데이터 팀의 발전 단계
1. 데이터 인프라: 웹, 모바일 기기 등에 기록된 데이터를 엔지니어들이 여러 소스에서 수집하고 정제함 -> 저장
데이터파이프라인(ETL): 데이터를 수집해 data warehouse에 데이터 적재하는 일
=> 데이터 엔지니어가 수행
2. (Decision Science) 의사결정권자들이 데이터를 기반으로 결정할 수 있도록 데이터를 분석함(지표 정의, 시각화, ..)
=> 데이터 분석가가 수행
3. (Product Science) 머신러닝과 같은 방법론을 사용해 사용자의 제품 사용 경험 개선(추천, 검색 등의 개인화)
=> 데이터 과학자가 수행
1-3. 데이터팀의 발전 단계 - 데이터 인프라
데이터 팀의 이상적인 발전 단계 중 첫 단계가 데이터 인프라를 만드는 것.
- 데이터 인프라의 구축은 데이터 엔지니어(SW엔지니어)가 수행함(코딩이 중요)
: 수집된 데이터가 저장되는 데이터 웨어하우스가 필요함.
서비스에서 직접 생기는 데이터와 써드파티를 통해 생기는 간접 데이터를 데이터 웨어하우스에 저장하는 것 필요.
-> 일련의 과정을 데이터파이프라인 혹은 ETL이라고 부름.
ETL: Extract(데이터 추출)/Transform(추출된 데이터를 원하는 포맷으로 변환)/Load(데이터 웨어하우스에 적재)
데이터가 테이블 형태로 데이터 웨어하우스에 적재됨.
-> 이를 조작하기 위해 쓰이는 언어가 SQL
(데이터를 수집하는데 사용하는 언어는 python)
- 다루는 데이터의 크기가 커지면 빅데이터 분산 처리 기술 습득이 필요(Spark)
데이터 인프라가 구축되면, 이를 바탕으로 데이터분석가 혹은 데이터 과학자가 부가가치를 만들어냄.
데이터 웨어하우스:
회사에 필요한 모든 데이터를 모아놓은 중앙 데이터베이스 (SQL 기반 관계형 데이터베이스)
- 보통 다음 중 하나를 선택 (이 모두 SQL을 지원)
- 클라우드 옵션: AWS Redshift, 구글 클라우드의 BigQuery, Snowflake 등등(요즘은 모두 클라우드 기반!)
- 오픈소스 기반의 Hive/Presto
- 중요 포인트는 프로덕션용 데이터베이스와 별개의 데이터베이스여야 한다는 점
(프로덕션용 데이터베이스란? : 서비스를 사용하는 사용자 정보를 기록한 DB. 회사를 운영하는데 필요한 최소한의 정보를 기록한 데이터베이스. 데이터 분석을 위한 DB가 아님. 빠른 처리 속도, 용량 제한 필요(사용자가 기다리지 않아야하기 때문))
- 데이터 웨어하우스의 구축이 진정한 데이터 조직이 되는 첫 번째 스텝
- 클라우드를 사용하는 것이 일반적
데이터 레이크 vs 데이터 웨어하우스
데이터 레이크와 데이터 웨어하우스는 비슷한 개념.
# 데이터 레이크(Data Lake)
- 구조화 데이터 + 비구조화 데이터(이벤트 로그 데이터 등)
- 보존 기한이 없는 모든 데이터를 원래 형태대로 보존하는 스토리지에 가까움(경제성이 있음)
- 보통은 데이터 웨어하우스보다 몇배는 더 큰 스토리지(데이터 웨어하우스보다 큰 개념)
- 어디에 사용할지(용도가 불분명한) 아직 정하지 않은 데이터(ex. 로그 데이터 등) -> 이를 모두 데이터 웨어하우스에 저장하면 비용이 너무 많이 들음 -> 훨씬 큰 데이터를 낮은 가격에 보존 가능
- 데이터 레이크의 데이터 중 의미있는 데이터를 데이터 웨어하우스에 적재해서 분석함
# 데이터 웨어하우스(Data Warehouse)
- 보존 기한이 있는 구조화된 데이터를 저장하고 처리하는 스토리지
- 보통 BI 툴들(룩커, 태블로, 수퍼셋, …)은 데이터 웨어하우스를 백엔드로 사용함
- 사용하는데 비용이 비쌈
1-4. 데이터팀의 발전 단계 - 데이터 분석
데이터 팀이 가치를 만들어내는 첫 번째 방법(Decision Science)
: 데이터 분석가(Data Analyst)가 하는 일
- 지표를 정의하고, 보기 쉽게 시각화하고 다양한 리포트를 만들어 의사결정을 서포트함
- ETL된 데이터를 조합(조인)하여 새로운 정보(테이블) 생성(이러한 과정을 ELT라 부름)
ELT를 할 때 가장 많이 사용되는 툴이 DBT임
KPI(Key Performance Indicator)란?
: 의미있고 중요한 지표
- 조직내에서 달성하고자 하는 중요한 목표
- 보통 정량적인 숫자가 선호됨
- 예를 들면 매출액 혹은 유료 회원의 수/비율 (정의가 *중요*함)
- KPI의 수는 적을수록 좋음(KPI가 많으면 충돌할 수 있음)
ex) 매출액과 강의만족도를 KPI로 두면 서로 충돌함. 매출액을 높이기 위해서는 강의가격을 올려야하는데, 강의가격이 높으면, 학생들의 강의 소비도가 적어져 강의만족도가 적어질 수 밖에 없음!
- 잘 정의된 KPI -> 현재 상황을 알고 더 나은 계획 가능
- 정량적이기에 시간에 따른 성과를 추적하는 것이 가능
- OKR(Objectives and Key Results)과 같은 목표 설정 프레임웍의 중요한 포인트( OKR: 회사나 조직이 계획을 할 때 어떤 것을 할 것인지, 어떤 것이 성공/실패인지 체계화된 형태로 만들 수 있는 프레임워크)
시각화 대시보드란?
- 보통 중요한 지표를 시간의 흐름과 함께 보여주는 것이 일반적(시각화)
- 지표의 경우 3A(Accessible, Actionable, Auditable)가 중요
- 지표는 쉽게 볼 수 있어야하고 쉽게 판단이 가능해야함
- 중요 지표의 예: 매출액, 월간/주간 액티브 사용자수, ...
- 가장 널리 사용되는 대시보드:
- 세일즈포스의 태블로 (Tableau)
- 마이크로소프트의 파워 BI(Power BI) -> 윈도우에서만 가능
- 구글 클라우드의 룩커(Looker)
1-5. 데이터팀의 발전 단계 - 데이터 과학
데이터 과학을 적용하여 제품 서비스를 개선함
=> 데이터 과학자(Data Scientist)가 진행
-> 머신러닝 모델을 만들어 사용자의 과거 패턴을 바탕으로 미래를 예측함.
- 패턴을 바탕으로 추천, 검색 등의 개인화 작업
- 혹은 공정과정에서 패턴을 찾아 효율적인 공정을 위한 방안을 찾음
1-6. 클라우드란?
: 컴퓨팅 자원(하드웨어, 소프트웨어)을 네트워크를 통해 서비스 형태로 사용하는 것(클라우드 컴퓨팅)
"No Provisionin", "Pay As You Go"
- 큰 비용 없이도 큰 자원 활용 가능
- 준비할 필요 없이 클라우드 업체가 세팅해둔 하드웨어 혹은 소프트웨어 활용 -> 시간단축
- 자원(ex. 서버)을 필요한만큼 실시간으로 할당하고 사용한만큼 지불
클라우드 컴퓨팅이 없었다면?
- 서버/네트웍/스토리지 구매와 설정을 직접 수행해야 함
- 한 번에 구매하기 어려움. 시간/비용 많이 발생
- 데이터센터 공간을 직접 확보 (Co-location)
- 확장이 필요한 경우 공간을 먼저 더 확보해야함
- 그 공간에 서버를 구매하여 설치하고 네트웍 설정
- 보통 서버를 구매해서 설치하는데 적어도 두세달은 걸림
- Peak time 기준으로 Capacity planning을 해야함!
- 놀고 있는 자원들이 높게 되는 현상 발생. ex) 연초, 세일기간 등 사람들이 많이 몰리는 시간 고려필요
- 직접 운영비용 vs. 클라우드 비용
- 기회비용! 서버 비용, 기간 등의 소요시간때문에 기회비용이 많이 들게됨. 새로운 서비스 개발에 시간이 오래 걸림.
클라우드의 장점
- 초기 투자 비용이 크게 줄어듬
- CAPEX (Capital Expen diture) vs. OPEX (Operating Expense)
- 리소스 준비를 위한 대기시간 대폭 감소 -> 기회비용 감소
- Shorter Time to Market
- 노는 리소스 제거로 비용 감소
- 글로벌 확장 용이
- 소프트웨어 개발 시간 단축
- Managed Service (SaaS) 이용
1-7. AWS(Amazon Web Services)란?
가장 큰 클라우드 컴퓨팅 서비스 업체
- 현재 100여개의 서비스를 전세계 15개의 지역에서 제공
- 대부분 서비스들이 오픈소스 프로젝트를 기반으로 함
- 요즘은 ML/AI 관련 서비스들을 공격적으로 내놓음
- 다양한 종류의 소프트웨어플랫폼 서비스 제공
-> AWS의 서비스만으로 쉽게 온라인서비스 생성
-> 블랙프라이데이 등을 위해 큰 서버를 구축해놓았는데, 이 기간을 제외하고 놀게되는 서버들을 돈 주고 빌려주기 시작하면서 클라우드 컴퓨팅 서비스를 시작함
AWS 제공 서비스 - EC2(Elastic Compute Cloud)
- AWS의 서버 호스팅 서비스
: 리눅스 혹은 윈도우 서버를 론치하고 로그인할 수 있는 기능 제공
: 가상 서버이기에 성능은 조금 떨어짐
: Bare-metal 서버도 제공 -> 가상 서버가 아닌 진짜 서버. 비용이 비쌈
- 다양한 종류의 서버 타입 제공(https://aws.amazon.com/ec2/)
<EC2 구매 옵션>
- On Demand: 시간당 비용을 지불하며 가장 흔히 사용하는 옵션
- Reserved: 1년 혹은 3년간 사용 보장, 3~40%정도 금액 할인
- Spot Instance: 일종의 경매방식으로 놀고있는 리소스들을 보다 싼 비용으로 사용(누군가 더 높은 금액을 제시하는 순간 내가 사용하던 서버 이용 불가)
AWS 제공 서비스 - S3(Simple Storage Service)
: 아마존이 제공하는 대용량 클라우드 스토리지 서비스(웹 하드디스크)
: 데이터 저장관리를 위해 계층적 구조를 제공
디렉토리(버킷)이나 파일별로 엑세스 컨트롤 가능!
AWS 제공 서비스 - 데이터베이스 관련 서비스들
- RDS (Relational Database Service) - 프로덕션 DB
- MySQL/MariaDB, PostgreSQL, Aurora
- Oracle, MS SQL Server
- DynamoDB
- Redshift - 데이터웨어하우스
- ElastiCache - 어떤 데이터를 잠깐 메모리에 올려 빠르게 접근가능하게 하는 캐시
- Neptune (Graph database)
- ElasticSearch - 검색엔진 인덱스를 만들어줌
- MongoDB
AWS 제공 서비스 - AI & ML 관련 서비스들
- SageMaker - 머신러닝 모델 빌딩, 테스트, 배포에 사용
- Deep Learning and Machine Learning end-to-end framework
- MLOps Service!
- Lex - 챗봇 개발에 사용
- Conversational Interface (Chatbot service)
- Polly - text를 말로 바꿔줌
- Text to Speech Engine
- Rekognition - 이미지의 요소를 인식함
- Image Recognition Service
- Comprehend - 초거대모델(ChatGPT)과 연동
- NLP Service => LLM (Large Language Model)
1-8. 데이터 조직 구성원
조직에 따라 한 사람이 여러 개의 역할을 동시 수행함
- 데이터 엔지니어
: 기본적으로 소프트웨어 개발자
: 데이터 인프라 구축(데이터 웨어하우스/레이크/ETL)
: 데이터 시스템 밖에 있는 내부/외부 데이터를 읽어 데이터 웨어하우스에 적재함.
: 보통 외부 요청에 의해 새로운 데이터 소스를 추가
- 데이터 분석가
: 데이터 웨어하우스의 데이터를 기반으로 지표를 만들고 시각화(대시보드)
: ELT를 수행해서 새로운 데이터 생성(비즈니스 오너 지정이 중요)
(ELT를 수행할 때 DBT와 같은 툴을 사용함)
: 내부 직원들의 데이터 관련 질문 응답
- 데이터 과학자
: 과거 데이터에서 패턴을 찾아 미래를 예측하는 머신러닝 모델 생성
(개인화/자동화/최적화)
: 모델 훈련 데이터에 왜곡이 있는지, 개인정보를 사용하지는 확인 필수
: 모델의 동작에 대해 설명 필요(모델 예측의 이유 설명 필요)
: 모델 개발 뿐만 아니라 배포 과정이 자동화 필요(MLOps)
머신러닝 모델링 사이클
: 가설 문제 정의 -> 모델 빌딩/테스트 -> 모델 배포 -> 모델 A/B 테스트 -> 결과 분석 -> 비즈니스 개선
A/B 테스트란?
= 실험(온라인 테스트)(Split Test or Bucket Test)
: 사용자를 두 개의 그룹으로 나눠, A에는 기존 기능 노출, B에는 새로운 기능 노출
-> 둘 간의 차이를 특정 지표를 기준으로 비교함
ex. 신약 개발 등에 사용됨.
: 실제 사용자 대상 테스트
(A쪽은 컨트롤(기존 버전), B쪽은 테스트 라고 부름!)
- ML 엔지니어
- MLOps 엔지니어
- 프라이버시 엔지니어
- .....
1-9. 데이터문해력의 정의
데이터를 수집하는 것은 시작일 뿐 데이터를 활용하는 것이 중요.
데이터 문해력이란 데이터를 이해하고 활용할 수 있는 능력을 의미함.
- 레벨에 따라 요구 조건이 달라짐
- 기업 도메인(온라인? 오프라인?)과 성숙도에 따라 다양한 수준 존재
- 데이터 기반 의사 결정
- 데이터 기반 제품 개선
- 데이터(GenAI) 기반 생산성 증대
데이터 문해력 발전 트렌드 (1)
: GenAI 등으로 많은 회사들이 데이터 문해력을 만들어감
-> 경쟁력 향상
데이터 문해력이 회사 내 특정 조직만의 책임이 아닌, 모든 조직 구성원들이 가져야하는 기본 능력으로 발전함(Decentralization)
=> 데이터는 자산(Asset)이라는 인식이 먼저 필요함. 자산을 잘 기록하고 관리하는 것이 중요
==> 점점 더 많은 인력들이 데이터 활용 능력을 갖게 됨(시민 데이터 분석가/시민 데이터 과학자)
-> 전문적으로 데이터 분석하는 사람이 아닌, 본인의 본업을 향상시키기 위해 데이터를 활용하게 됨.
데이터 문해력 발전 트렌드 (2)
- GenAI와 같은 툴을 사용해 본인 업무의 생산성 증대
ex) ChatGPT와 같은 AI 툴을 이용해 업무 효율성 증대
ex) No Code 혹은 Low Code 툴들이 발전하고 있음
-> 개발이 일상화됨. 개발자라는 직군이 확대될 것임. 다만 개발의 형태가 바뀔 것임(AI 사용)
- 개발 업무 뿐만 아니라 다양한 업무에 영향을 주고 있음
ex) 마케팅, CS, 세일즈, ....
데이터 관리의 중요성
- 데이터는 잘 활용하면 좋지만, 잘못 관리하면 커다란 위험 요소임
-> 벌금, 회사 인식 등 위험 요소
- 개인정보 보호 관련 법안 생성
: 유럽 연합의 GDPR (가장 최초의 개인정보 보호 법안)
데이터 거버넌스란?
구글의 정의 : 데이터의 보안, 개인정보 보호, 정확성, 가용성, 사용성을 보장하기 위해 수행하는 모든 작업으로 여기에는 사람들이 취해야 하는 조치, 따라야 하는 프로세스, 데이터 수명 주기 전반에 걸쳐 이를 지원하는 기술이 포함됨
1-10. 데이터교훈
모든 회사 조직의 존재 이유는 회사의 가치(매출 창조 혹은 경비 절감)를 만드는 것임.
데이터 팀 역시 회사 수익에 긍정적인 영향을 끼쳐야 함.
데이터 팀으로부터 바라는 기대를 관리해야됨
- 데이터 인프라 없이는 데이터 분석이나 모델링 불가능!
-> 하지만 아주 작은 회사에서는 생존이 더 중요한 문제이기에 데이터 인프라는 조금 더 성장한 뒤 걱정 필요.
-> 첫 번째 팀원은 인프라 구축 이외에도 분석/모델링 스킬이 있는 사람이 최적
- 데이터 품질이 아주 중요
: Garbage In Garbage Out
-> 데이터 과학자가 가장 많은 시간을 쏟는 것은 데이터 찾기/데이터 청소 작업임(데이터 클린업)
: 중요 데이터의 경우 품질 유지에 노력 필요
-> 어디에 데이터가 있는지
-> 이 데이터의 품질에 혹시 문제가 있는지 지속적인 모델링 필요
- 항상 지표부터 생각
: 무슨 일을 하건 그 일의 성공 척도(지표)를 처음부터 생각
-> 나름대로 가설을 세우는 것이 인사이트를 키우는데 큰 도움이 됨
: 지표의 계산에 있어서 객관성이 중요(A/B 테스트)
-> 지표를 어떻게 계산할 것인지. 다른 사람들에게 어떻게 설명할 것인지 고려
가능하면 간단한 솔루션으로 시작
: 모든 문제를 딥러닝으로 해결할 필요 없음
-> 실제 회사에서 딥러닝으로 문제를 해결하는 경우가 드뭄. 왜 동작하는지 블랙박스이기 때문에 설명, 유지보수. 비용 모두 많이 듦.
: 반복 기반의 점진적인 개발 방식을 채택하여 원하는 결과가 나올 때까지 개선하는 것이 좋음
-> 최소의 노력으로 최대의 결과를 내는 것이 중요!
'STUDY > DevCourse' 카테고리의 다른 글
[데브코스][데이터 분석] Excel을 활용한 다양한 데이터 분석 실습 (1), (2) (0) | 2024.02.26 |
---|---|
[데브코스][데이터 분석] 데이터 활용 시 고려할 점 (1) | 2024.02.23 |
[데브코스][데이터 분석] Gen AI를 이용한 생산성 증대 (0) | 2024.02.22 |
[데브코스][데이터 분석] 데이터 기반 제품 개선 (0) | 2024.02.21 |
[데브코스][데이터 분석] 데이터 기반 의사 결정 (0) | 2024.02.19 |