[1일차]데이터분석-데이터 문해력이란?

isnotnull·2023년 11월 20일

1. 데이터

  • 데이터는 우리 생활 모든 곳에 존재 , 일상생활에서 관찰할 수 있는 모든 것이다.

  • 이런 데이터를 기록하고 수집하는 것을 Digitization이라고 하며, 온라인 환경에서 데이터의 수집이 가장 쉽고 활발하다.

  • 웹과 모바일 폰 사용의 보편화로 데이터 크기가 폭발적으로 성장
    ➡️ 큰 데이터를 처리할 수 있는 기술 보편화
    ➡️ 빅데이터 기술과 클라우드 성장
    ✔️ 빅데이터 ex) 모바일 디바이스 (위치정보), 스마트TV, 각종 센서 데이터(IoT센서), 네트워킹 디바이스 등등
    ✔️ 빅데이터 ex) 웹 (엄청난 양의 데이터 존재)
    ➡️ 웹 검색엔진 개발은 진정한 대용량 데이터 처리
    ➡️ 사용자 검색어와 클릭 정보 자체도 대용량 (데이터 마이닝으로 개인화 혹은 별도 서비스 개발 가능)
    ➡️ 웹 자체가 NLP 거대 모델 개발의 훈련 데이터로 사용되고 있음

2. 데이터팀의 미션

  • 데이터 조직의 미션 : 신뢰할 수 있는 데이터를 바탕으로 부가가치를 생성
    • 왜 데이터팀이 필요한지에 대해 다른 팀들이 납득할 수 있도록 가치있는 인사이트를 제공해야함
    • 데이터의 잘못된 노출과 사용으로 인한 위험을 줄이도록 해야함
  • 데이터 조직이 하는 일
    • Decision Science
      • 고품질 데이터 기반으로 의사 결정권자에게 입력 제공
      • 데이터문해력 : 데이터에서 찾아낸 인사이트를 가지고 자신의 결론으로 이끄는 이야기로 만드는 능력
    • Product Science
      • 고품질 데이터를 기반으로 사용자 서비스 경험 개선 혹은 프로세스 최적화
  • 데이터의 흐름과 데이터 팀의 발전 단계
    0. 서비스에서 직접 생기는 데이터와 써드파티를 통해 생기는 간접 데이터
    1. 데이터 인프라 - 데이터엔지니어링 (데이터처리)
    2. 데이터 분석 (지표 정의, 시각화) - 데이터분석 (데이터공정)
    3. 데이터 과학 적용 - 사용자 경험 개선 (추천, 검색 등의 개인화) - 데이터과학자, Product Science, 머신러닝 이용해서 데이터 개인화

3. 데이터팀의 발전단계 - 데이터 인프라(데이터엔지니어링)

  1. 데이터 인프라 구축
    • 데이터파이프라인 , ETL(Extract/Transform/Load), 데이터웨어하우스를 통해 데이터인프라 구축
      	데이터 웨어하우스
      	- 보전 기한이 있는 구조화된 데이터를 저장하고 처리하는 스토리지
          - 회사에서 필요한 모든 데이터를 모아놓은 중앙 데이터베이스(SQL 데이터베이스)
          - 클라우드 옵션 : AWS Redshift, 구글 클라우드의 BigQuery, Snowflake 등
          - 오픈소스 기반의 Hive/Presto
          - 프로덕션용 데이터베이스와 별개의 데이터베이스여야 한다
          - 클라우드 사용하는 것이 일반적
          데이터 레이크
          - 구조화 데이터 + 비구조화 데이터
          - 보존 기한이 없는 모든 데이터를 원래 형태대로 보존하는 스토리지에 가까움
          - 보통 데이터웨어하우스 보다 몇배는 더 큰 스토리지      
    • 데이터 인프라 구축은 데이터엔지니어가 수행, 코딩역량 중요, 파이썬 언어 선호
    • 데이터의 크기가 커지면 빅데이터 처리 기술 습득이 필요(Spark)

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

  1. 데이터 분석 수행 (지표정의, 시각화, 리포팅) : 데이터팀이 가치를 만들어내는 첫번째 일
    • 데이터인프라로 구축된 데이터를 분석
    • ETL된 데이터를 조합하여 새로운 정보 생성, 인사이트 도출, 좋읒 지표 정의, 대시보드 생성/관리, 데이터 기반 리포트 작성(의사결정권자들 서포트)
    • 데이터 분석가가 맡는 일
      	ELT : 데이터엔지니어들이 이미 데이터인프라 안으로 가져온 정보들을 조합해서 사용하기 쉬운 새로운 정보를 만들어 내는 과정 ) 
  1. KPI(Key Performance Indicator)
  • 조직내에서 달성하고자 하는 중요한 목표
    • 정량적인 숫자 선호
    • 예를들면 매출액 혹은 유료 회원의 수/비율 (정의가 중요)
  • KPI의 수는 적을수록 조음
  • 잘 정의된 KPI ➡️ 현재 상황을 알고 더 나은 계획 가능
    • 정량적이기에 시간에 따른 성과를 추적하는 것이 가능
    • OKR(Objectives and Key Results)과 같은 목표 설정 프레임워크의 중요한 포인트
  1. 시각화 대시보드
  • 보통 중요한 지표를 시간의 흐름과 함께 보여주는 것이 일반적
    • 지표의 경우 3A(Accessible, Actionable, Auditable)가 중요
    • 중요 지표의 예 : 매출액, 월간/주간 액티브 사용자수 등
  • 가장 널리 사용되는 대시보드
    • 세일즈포스의 태블로 (Tableau)
    • 마이크로소프트의 파워 BI(Power BI)
      • 단점 : windows 꼭 필요, mac은 보는 것만 가능
    • 구글 클라우드의 룩커(Looker)

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

: 데이터 과학자(Data Scientist)가 머신러닝 모델을 만들어서 수행
: 데이터 인프라가 이뤄지고 나서 수행 가능
: 데이터 분석 결과를 보고 데이터 과학 적용 (머신러닝 적용 - 추천, 검색 등이 개인화)

6. 클라우드

  • 컴퓨팅 자원(하드웨어, 소프트웨어)을 네트워크를 통해 서비스 형태로 사용하는 것
  • 키워드 (No Provisioning, Pay As You Go)
  • 자원(예:서버)을 필요한만큼 (거의) 실시간으로 할당하고 사용한 만큼 지불
    • 탄력적으로 필요한만큼의 자원을 유지하는 것이 중요
  • 클라우드 컴퓨팅이 없다면?
    • 서버/네트워크/스토리지 구매와 설정을 직접 수행해야 함
    • 데이터 센터 공간 직접 확보 (Co-location)
    • 서버 구매, 설치, 네트워크 설정
    • Peak time 기준으로 Capacity planning을 해야함
    • 직접 운영 비용 vs 클라우드 비용
  • 클라우드 장점
    • 초기 투자 비용 감소
      • CAPEX(Capital Expenditure) vs OPEX(Operating Expense)
    • 리소스 준비를 위한 대기시간 대폭 감소
      • Shorter Time to Market
    • 노는 리소스 제거로 비용 감소
    • 글로벌 확장 용이
    • 소프트웨어 개발 시간 단축
      • Managed Service (SaaS)이용

7. AWS

  • Amazon Web Services
  • 가장 큰 클라우드 컴퓨팅 서비스 업체
  • 아마존의 상품데이터를 API로 제공하면서 시작
    • 대부분의 서비스들이 오픈소스 프로젝트들을 기반
    • 최근들어 ML/AI 관련 서비스 제공
  • 다양한 종류의 소프트웨어/플랫폼 서비스 제공
    • AWS의 서비스만으로 쉽게 온라인 서비스 생성

[AWS 링크]
https://aws.amazon.com/ko/

  • EC2(Elastic Compute Cloud) : AWS의 서버 호스팅 서비스
    - 리눅스 or 윈도우 서버를 론치하고 어카운트를 생성하여 로그인 가능
    • 가상 서버들이라 전용서버에 비해 성능 떨어짐
    • Bare-metal 서버도 제공하기 시작
      - 다양한 종류의 서버 타입 제공
    • 구매옵션
      • On-Demand : 시간당 비용 지불되며 가장 흔히 사용하는 옵션
        • Reserved : 1년이나 3년간 사용을 보장하고 1/3정도에서 40% 디스카운트 받는 옵션
        • Spot Instance : 일종의 경매방식으로 놀고 있는 리소스들을 보다 싼 비용으로 사용할 수 있는 옵션
  • S3(Simple Storage Service)
    • 아마존이 제공하는 대용량 클라우드 스토리지 서비스
    • S3는 데이터 저장관리를 위해 계층적 구조 제공
    • 글로벌 내임스페이스를 제공하기 때문에 톱레벨 디렉토리 이름 선정에 주의
    • S3에서는 디렉토리를 버킷(Bucket)이라고 부름
    • 버킷이나 파일별로 엑세스 컨트롤 가능
  • 데이터베이스 관련 서비스들
    • RDS(Relational Database service)
      • MySQL/MariaDB, PostgreSQL, Aurora
      • Oracle, MS SQL Server
    • DynamoDB
    • Redshift
    • ElastiCache
    • Neptune (Graph database)
    • ElasticSearch
    • MongoDB
  • AI & ML 관련 서비스들
    • SageMaker
      • Deep Learning and Machine Learning end-to-end framework
      • MLOps Service
    • Lex
      • Conversational Interface(Chatbot service)
    • Polly
      • Text to Speech Engine
    • Rekognition
      • Image Recognition Service
    • Comprehend
      • NLP Service ➡️ LLM(Large Language Model)

8. 데이터조직 구성원

  • 데이터 팀에는 누가 있는가?
    ➡️ 조직에 따라 한 사람이 몇개의 역할을 동시에 수행하는 것이 일반적
    ➡️ 데이터 엔지니어
    ➡️ 데이터 분석가
    ➡️ 데이터 과학자
    ➡️ ML 엔지니어 (데이터과학자이면서 데이터엔지니어 역할 동시 수행)
    ➡️ MLOps 엔지니어 (머신러닝 모델 만들뿐만 아니라 test하고 배포하고 운영하고 관리하는 일까지 모두 다 함)
    ➡️ 애녈리틱스 분석가
    ➡️ 프라이버시 엔지니어 (개인정보와 같이 민감한 정보들을 어떻게 관리하고 태깅할 것인지 결정하는데 도와주는 엔지니어)
    등등

  • 필요한 능력
    ➡️ SQL, 파이썬 등 코딩 역량 중요
    ➡️ 지표 분석, 테스트 분석, 모델링 분석, 비즈니스 도메인에 대한 지식
    ➡️ ETL, 클라우드, 빅데이터 분산처리 기술 이해
    ➡️ 데이터 문해력 : 문제와 데이터를 연결해서 가치있는 결론을 내는 사고방식

  • 데이터 엔지니어 (Data Engineer)

    • 소프트웨어 개발자 (Python, SQL, Airflow, Spark...)
    • 데이터 인프라 (데이터 웨어하우스/레이크와 ETL) 구축
    • 내부/외부 데이터를 데이터 웨어하우스로 가져오는 역할을 수행
    • 보통 외부 요청에 의해 새로운 데이터 소스를 추가
      • 비지니스 오너를 정하는 것이 중요 ➡️ 품질 관리 및 이슈 발생시 노티
        • 개인정보에 유의해야함
        • PII등의 데이터 분류 중요 (태그 등 사용)
          - PII : Personal Identifiable Information
  • 데이터 분석가 (Data Analyst)

    • 데이터 웨어하우스의 데이터를 기반으로 지표를 만들고 시각화(대시보드)
      • ELT를 수행해서 새로운 데이터 생성 (비지니스 오너 지정이 중요) - ELT를 잘 수행하고 하면 애널리틱스 분석가에 가까워짐
      • DBT와 같은 툴 사용하는 것이 추세
    • 내부직원들의 데이터 관련 질문 응답
  • ETL vs ELT
    - ETL : 데이터 시스템 밖에 있는 데이터를 안으로 가져오는 것

    • ELT : 데이터 시스템 안에 있는 데이터를 조합하여 새로운 데이터를 만드는 것
    • 데이터 리니지가 중요해짐
      • 데이터 리니지 = 데이터의 계보 : 현재 쓰이는 데이터가 어떻게 생성되었는지, 어떤 과정을 거쳤는지, 어디에 쓰이고 있는지 등 계보를 투명하게 관리하고 현황을 파악하는 것으로 데이터의 흐름을 시각화하는 것을 데이터 리니지라고 한다.
    • Not all tables are equal
      • 중요 에티읍ㄹ과 테스트/임시 테이블 구분하는 것이 중요
        • 모든 테이블 관리를 잘 할 수는 업음
  • 데이터 과학자 (Data Scientist)

    • 과거 데이터를 기반으로 미래를 예측하는 머신러닝 모델 생성
      • 고객들의 제품/서비스 사용 경험 개선 (개인화 or 자동화 or 최적화)
    • 데이터 수집에 있어 왜곡이 있는지, 혹시 개인 정보를 사용하고 있는지 자주 확인
    • 모델의 동작에 대해 설명이 가능해야 한다
    • 모델 개발 뿐만 아니라 배포 과정이 자동화 되어야 함 ➡️ MLOps
    • 머신러닝 모델링 사이클 : 가설(문제 정의) ➡️ 훈련용 데이터 수집 ➡️ 모델 빌딩과 테스트 ➡️ 모델 배포 ➡️ 모델 A/B 테스트 ➡️ A/B테스트 결과분석(비지니스 개선 등)
  • A/B 테스트

    • A/B테스트 = 실험 (Split Test or Bucket Test) : A/B 테스트는 두 가지 또는 그 이상의 변형(버전)을 비교하여 어떤 버전이 더 효과적인지를 판단하는 실험적인 방법
      • Randomized Controlled Trial의 온라인 버전
      • 가설이 필요
      • 실제 사용자를 대상으로 진행
    • 다수의 Variant로 구성됨
      • 하나의 컨트롤(기존버전)과 하나 이상의 테스트
    • A/B 테스트 진행과정
      1. 목표 설정: 실험의 목적을 정의하고 어떤 지표를 기준으로 효과를 측정할 것인지 결정 (ex:웹사이트의 클릭률, 구매율, 이용자 유지율 등)
      2. 표본 추출: 실험에 참여할 사용자 또는 관측 대상을 대표할 수 있는 표본을 추출
      3. 컨트롤 그룹과 실험 그룹 설정: 랜덤하게 선택된 표본을 컨트롤 그룹과 실험 그룹으로 나눈다. 컨트롤 그룹은 현재의 상태(기존 버전)를 나타내며, 실험 그룹은 변경된 상태(새로운 버전)를 나타낸다.
      4. 변경 사항 적용: 실험 그룹에는 새로운 기능, 디자인, 또는 다른 변화를 적용, 컨트롤 그룹은 현재의 상태 유지
      5. 데이터 수집 및 분석 : 사용자 또는 관측 대상의 행동에 대한 데이터를 수집하고, 두 그룹간의 차이를 통계적으로 분석. 주요 성과 지표에 대한 통계적 유의성을 확인하여 어떤 변형이 더 효과적인지 결정
      6. 결과해석 : 테스트 결과 평가하고, 통계적으로 유의미한 차이가 있는 경우 이를 해석하여 결론 도출
    • 자세한 설명 : https://datarian.io/blog/a-b-testing

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

  • 데이터 문해력 : 데이터를 이해하고 활용할 수 있는 능력
    • 레벨에 따라 요구 조건 달라짐
    • 기업 도메인과 성숙도에 따라 굉장히 다양한 수준이 존재
    • 데이터를 "데이터 기반 의사결정","데이터 기반 제품개선","데이터(GenAI) 기반 생산성 증대"와 같이 활용하는 능력
  • 데이터 문해력 발전 트렌드(1)
    • 데이터/IT 조직 ➡️ 회사 전체로 문해력 향상/전파 발생
      • 데이터=자산(Asset)이라는 인식 먼저 필요
      • 모든 조직에서 데이터를 활용하는데 관심이 많음 (Decentralization), 생산성 증대 중요해짐
    • 점점 더 많은 인력들이 데이터 활용 능력을 갖게 됨
      • 시민 데이터 분석가(Citizen Data Analyst)
      • 시민 데이터 과학자(Citizen Data Scientist)
  • 데이터 문해력 발전 트렌드(2)
    • Gen AI와 같은 툴을 사용한 생산성 증대
      • ChatGPT와 같은 AI툴틀 이용한 업무 효율성 증대 가능해짐
      • No Code 혹은 Low Code툴들이 발전하고 있음
    • 개발 업무 뿐만 아니라 다양한 업무에 영향을 끼침
      • 마케팅, CS, 세일즈 등
  • 데이터 관리의 중요성
    • 잘못 관리된 데이터는 커다란 위험 요소가 된다
    • 개인정보 보호 관련 법안 : GDPR, CCPA(CPRA), HIPAA
  • 데이터 거버넌스가 필요해짐
    • 데이터 거버넌스 : (구글 정의) 데이터의 보안, 개인정보 보호, 정확성, 가용성, 사용성을 보장하기 위해 수행하는 모든 작업으로 여기에는 사람들이 취해야 하는 조치, 따라야 하는 프로세스, 데이터 수명 주기 전반에 걸쳐 이를 지원하는 기술 포함

10. 데이터 일을 할 때 기억할 점

  • 데이터를 통해 매출이 생겨야 한다
    - 어느 조직이건 회사에서의 존재 이유는 매출 창조 혹은 경비 절감
    - 데이터 인프라와 데이터 팀원(데이터과학자)의 몸값은 상대적으로 높음
    - 직접적이건 간접적이건 데이터를 통해 회사 수익에 긍정적인 영향을 끼쳐야함
    - 데이터 조직 수장의 역할이 중요
    - 리더십 팀과 주변 팀들이 데이터 팀으로부터 바라는 기대 잘 관리
    - 데이터 인프라의 구성이 첫번째라는 점을 잘 설명하면서 단기적으로 좋은 결과를 낼 방법을 찾아야 함
    - 회사 중요 지표에 데이터 팀이 끼치는 영향을 객관적으로 신뢰가능하게 챙겨야함
    - 이게 가능하면 데이터 조직을 중앙집중 혹은 하이브리드 형태로 운영이 가능함
  • 데이터 인프라가 첫번째 스텝
    - 데이터 인프라 없이는 데이터 분석이나 모델링 불가능 but 소규모인 경우 데이터 인프라는 조금 더 성장한 뒤에 걱정해도됨
    • 풀스택(인프라/분석/모델링)있는 사람이 최적
      - 고려점
      1. 클라우드 vs 직접 구성
      2. 배치 vs 실시간
  • 데이터의 품질이 아주 중요
    • Garbage In Garbage Out
    • 데이터 과학자가 가장 많은 시간을 쏟는 분야는 "데이터 청소 작업"이다
    • 중요 데이터의 경우 좀 더 품질 유지에 노력이 필요
      • 어디에 데이터가 있는지
      • 데이터 품질에 혹시 문제가 있는지 계속적으로 모니터링
  • 항상 지표부터 생각
    • 무슨일을 하건 그 일의 성공 척도(지표)를 처음부터 생각
      • 나름대로 가설을 세우는 것이 인사이트를 키우는데 큰 도움이 됨
    • 지표의 계산에 있어 객관성이 중요
      • 계산된 지표를 아무도 못 믿는다면 큰 문제
      • 지표를 어떻게 계산할 것인지 그리고 이걸 다른 사람들에게 어떻게 설명할 것인지 고려
  • 가능하면 간단한 솔루션으로 시작
    • 모든 문제를 딥러닝으로 해결해야 하나?
      • IF문 몇개의 간단한 논리로 해결할 수 있는지부터 고민
      • 실제 회사에서 딥러닝으로 문제를 해결하는 경우는 드물다. 왜 동작하는지 설명도 힘들고 개발과 론치 모두 시간이 걸림
    • 반복 기반의 점진적인 개발방식 vs 한 큐에 모델 만들기
      • 후자는 시간만 오래 걸리고 최종 성과 안좋을 확률 높다
      • 전자로 가면서 원하는 결과가 나오면 그때 중단. 더 개선할 필요 없음

이 글에서 소개된 내용은 프로그래머스 데이터분석1기에서 진행된 한기용 강사님의 온라인 강의를 참조하여 작성되었습니다.

0개의 댓글