STUDY/DevCourse

[데브코스][데이터 분석] 데이터 문해력이란

_알파카 2024. 2. 19. 18:13
728x90

<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 테스트)

-> 지표를 어떻게 계산할 것인지. 다른 사람들에게 어떻게 설명할 것인지 고려

 

가능하면 간단한 솔루션으로 시작

: 모든 문제를 딥러닝으로 해결할 필요 없음

-> 실제 회사에서 딥러닝으로 문제를 해결하는 경우가 드뭄. 왜 동작하는지 블랙박스이기 때문에 설명, 유지보수. 비용 모두 많이 듦. 

: 반복 기반의 점진적인 개발 방식을 채택하여 원하는 결과가 나올 때까지 개선하는 것이 좋음

-> 최소의 노력으로 최대의 결과를 내는 것이 중요!

 

 

728x90