배꼽파지 않도록 잘 개발해요

방송대 오픈소스기반데이터분석 - 1강. 데이터 분석과 오픈소스 본문

방송대 컴퓨터과학과/오픈소스기반데이터분석

방송대 오픈소스기반데이터분석 - 1강. 데이터 분석과 오픈소스

꼽파 2025. 9. 17. 16:37

1. 데이터 분석의 이해

2. 데이터 분석 과정

3. 데이터의 분류

4. 오픈소스 환경


1. 데이터 분석의 이해

1) 데이터와 정보

  • 데이터: 관찰이나 측정을 통해 얻어진 사실
  • 정보: 데이터를 목적에 맞게 분석 ·가공하여 의미를 도출한 것.
  • 데이터를 수집하여 정리하거나 요약하는 과정에서 정보가 만들어지며, 이 정보는 의사결정, 문제해결, 정책 수립 등 다양한 분야에서 활용된다.

 

2) 데이터 분석의 정의

  • 데이터 분석(Data Analysis, DA): 데이터에 숨겨진 의미를 발견하고 인사이트를 도출하는 일련의 과정. 
  • 데이터를 정보로 가공
  • 4단계로 구분
설명적 분석
(decriptive analytics)
· 과거와 현재 데이터를 요약하여 무엇이 발생했는지 파악하는 것을 목표로 함.
· 가장 기초적인 분석 형태로 매출 데이터로 월별 판매 추이 시각화, 고객 수 기간별로 집계 성장세 확인

· '어떤 일이 일어났는가'
· 예: 특정 카페의 월별 방문객 수를 시각적으로 나타냄
→ 5월부터 방문객이 증가했다
진단적 분석
(diagnostic analytics)
· 특정 현상이 발생한 원인을 규명하는 데 초점
· 데이터 비교하고 상관관계 분석하여 현상의 배경을 파악하는 과정
· '왜 일어났는가'
· 예: 방문객 증가한 이유가 새로운 음료 출시 때문인지 등
예측적 분석
(predictive analytics)
· 과거 데이터와 현재 데이터를 기반으로 무엇이 발생할것인지 예측하는 과정
· 통계 모델, 회귀분석, 머신러닝 등 
· '무슨 일이 일어날 것인가'
· 예: 다음달 방문객 수 예측 
처방적 분석
(prescriptive analytics)
· 어떻게 하면 원하는 결과를 얻을 수 있는데에 대한 해답(전략) 제공
· 데이터 분석의 최종 목표 
· '무엇을 해야할 것인가'
· 최적화 기법, 시뮬레이션 기법 등 

· 예: 방문객 증가를 유지하기 위해 이벤트를 개설한다 등 전략을 제안

 

 

PHM(Prognostics and Health Management)

  • 장비나 시스템의 상태를 실시간으로 감시하고, 고장 가능성을 예측하여 최적의 유지보수 및 관리 방안을 제공하는 체계적 접근법
  • 주로 산업 기계, 항공기, 자동차 등 복잡한 장치의 신뢰성과 안전성을 높이기 위해 활용됨.
  • 정보 수집 - 이상 발견 - 상태 진단 - 고장 예측 - 개선 조치
  • PHM 실행 과정
계측 및 모니터링 단계
- 계측(measurement)
- 모니터링(monitoring)
· 데이터를 수집하고 실시간으로 현 상태를 확인하는 작업
· 시스템의 현황이나 성능 지표 등을 요약하며 제공하는 역할
· 데이터분석의 '설명적 분석'에 대응 
진단 단계
- 진단(diagnostics)
· 시스템 상태가 비정상적이거나 고장 발생 시 그 원인을 파악하고 문제의 본질을 탐색
· 데이터분석의 '진단적 분석'에 해당
예측 단계
- 예측(prognostic)
· 미래의 성능 저하나 고장 가능성을 미리 파악하여 예방적 조치를 취할 수 있게 함.
· 데이터분석의 '예측적 분석'에 해당 
계선 단계
- 처방(prescription)
· 예측된 상태를 기반으로 최적의 대응책과 유지보수 전략을 결정하여 제공하는 과정
·  데이터분석의 '처방적 분석'과 연관됨 

 

 

3) 데이터 분석의 중요성

  • 기존에는 보이지 않던 패턴과 관계를 발견하고, 이를 활용하여 의미 있는 인사이트를 도출 
  • 비효율적인 프로세스를 개선하고 운영 최적화를 이룰 수 있다는 점
    ex) 생산 과정 데이터 분석 → 공장 병목 해결
  • 데이터 기반 의사결정은 객관적인 근거를 바탕으로 최적의 선택을 하도록 돕는 역할을 함.
  • 데이터 기반 의사결정의 가장 큰 장점: 객관성, 정밀성, 재현 가능성

 

4) 데이터 분석의 3요소

  • 컴퓨터 과학: 데이터를 효율적으로 처리하고 분석할 수 있는 기반 제공
  • 도메인 지식: 분석 결과를 해석하고 실무에 적용할 수 있는 힘 제공
  • 통계 및 수학: 분석 과정의 정확성과 신뢰성을 보장

 

5) 데이터 분석과 데이터 과학

  • 공통 목표: 데이터 기반 의사결정을 지원하는 것
  • 데이터 분석: 수집된 데이터를 정리·가공하여 의미 있는 인사이트를 도출하는 과정
  • 데이터 과학: 더 포괄적인 개념으로, 데이터 분석뿐 아니라 예측 모델 구축과 자동화된 의사결정 시스템까지 포함

 

6) 데이터 분석의 발전 과정

전통적 통계분석 1900년대 초반 
~ 1970년대 초반
· 확률론과 가설검정 기법을 활용하여 변수 간 관계 설명 및 가설 검증 수행
·  종이 기반 데이터 수집과 표본 추출 기법에 의존
데이터베이스와 비즈니스 인텔리전스(BI) 1980년대 
~ 2000년대
· 컴퓨터 과학 발전으로 DBMS가 도입되며 데이터 관리가 구조화됨
· RDBMS와 SQL이 널리 사용됨
· 1990년대, 월마트가 대규모 데이터 웨어하우스를 구축
· 과거 데이터를 기반으로 현재의 비즈니스 상황 분석
· 데이터 시각화를 포함한 BI 도입이 본격화
빅데이터와 기계학습 2010년대
~ 현재
· 기존 데이터베이스로는 처리하기 어려운 대량 데이터에 대응하기 위한 새로운 방법론 등장
· 하둡, 스파크 등 분산 데이터 처리 기술 발전
· 기계학습이 데이터 분석의 핵심 방법론으로 자리 잡음
실시간 데이터 분석과 AI 자동화 현재 
~ 미래
· 사물인터넷, 스마트팩토리, 자율주행차 등 기술 발전과 함께
· 실시간 데이터 처리 및 자동화된 의사결정 시스템으로 진화 중

 


2. 데이터 분석 과정

  • 데이터 분석 과정: 데이터 수집 및 저장 - 데이터 전처리 - 데이터 분석 - 데이터 시각화 

1) 데이터 수집 및 저장

  • 분석에 필요한 데이터를 체계적으로 모으는 것
  • 수집한 데이터가 분석 목적에 적합한지 검토하는 과정까지 포함 
  • 신뢰성과 정합성이 높은 데이터 확보

데이터 수집

  • 데이터 수집 목적 명확하게 할 필요가 있음.
  • 데이터 수집 목적이 설정되면, 그에 맞는 데이터를 어디에서 확보할 것인지 데이터 출처를 파악해야 한다.
  • 데이터 종류: 내부 데이터, 외부 데이터
  • 데이터 수집 방법 결정: 파일 다운로드, 데이터베이스, 웹 스크래핑, API, 센서 데이터 활용

데이터 저장 

  • 수집된 데이터를 효율적으로 보관하고 후석 분석과 활용이 가능하도록 하는 과정 (지속성과 확장성)
  • 저장 방식: 파일 기반 저장(CSV, JSON, 텍스트 파일 등), 데이터베이스 저장(동시 접근, Hadoop HDFS, Amazon S3)

 

2) 데이터 전처리

  • 데이터 분석에서 가장 중요한 과정
  • 수집된 데이터를 정리하고 변환하여 분석이 가능하도록 만드는 작업
  • 5단계로 구분: 데이터 측정, 데이터 정제, 데이터 통합, 데이터 축소, 데이터 변환
데이터 측정 데이터의 전반적인 분포와 특성을 파악하여 데이터 전처리 및 데이터 분석 방향을 설정하는 과정
데이터 정제 데이터에서 오류를 수정하고, 불완전한 데이터를 처리하는 과정 (결측치, 이상치, 불일치 등)
데이터 통합 여러 출처에서 수집된 데이터를 하나의 데이터셋(dataset)으로 결합하는 과정
데이터 축소 데이터의 크기를 줄여 분석을 효율적으로 수행할 수 있도록 하는 과정 (차원 축소, 변수 선택 등)
데이터 변환 데이터를 분석에 적합한 형태로 변환하는 과정 (속성 생성 정규화, 이산화 등)



3) 데이터 분석

  • 탐색적 데이터 분석(EDA, Explorary Data Analysis)
    - 데이터 분석가가 데이터의 분포와 특성을 직관적으로 이해하기 위해 수행하는 과정
    - 데이터를 요약하고 시각적으로 표현함으로써 데이터에 존재하는 주요 패턴과 이상치를 파악하는 것이 핵심 목표
    - 클러스터링, 연관 규칙 분석 등 데이터 마이닝 기법도 사용됨.

 

4) 데이터 시각화

  • 복잡한 데이터셋의 구조와 관계를 그래프, 차트, 다이어그램 등의 시각적 요소를 활용하여 직관적으로 이해하기 쉽게 표현하는 단계
  • 예: 막대 그래프, 산점도, 히트맵, 하이그래프

3. 데이터의 분류

1) 데이터 속성에 따른 분류

  • 수치화 가능 여부: 질적 데이터, 양적 데이터
질적 데이터
(범주형 데이터)
(qualitiative data)
명목형 데이터 성별, 혈액형 범주 사이에 순서나 계층적 관계가 없음
순서형 데이터 학점, 평점, 만족도 범주 사이에 명확한 순서가 존재하는 데이터
(범주 사이 간격이 명확하지는 않음)
양적 데이터
(수치형 데이터)
(quantitiative data)
이산형 데이터 학생 수, 출하된 제품 수, 차량 대수 특정한 정수값을 가지는 데이터, 셀 수 있는 형태
연속형 데이터 신장, 체중, 온도, 시간 특정 구간 내에서 무한한 값을 가질 수 있는 데이터가 해당

 

2) 데이터 형태에 따른 분류

  • 정형 데이터, 비정형 데이터, 반정형 데이터
정형 데이터
(structured data)
· 일정한 규칙과 구조를 갖춘 데이터 
· 표, 관계령 데이터베이스와 같은 시스템에 저장됨. 
기업의 월별 매출 데이터
비정형 데이터
(unstructured data)
· 정해진 구조 없이 자유로운 형태로 존재하는 데이터
· 수집 후 바로 분석하기는 어려움
텍스트, 이미지, 영상, 음성 데이터
반정형 데이터
(semi-structured data)
· 데이터 항목 간에 일정한 규칙이나 구조가 존재하지만,
· 정형 데이터처럼 완전한 표로 고정되어 있지는 않음.
XML, JSON

4. 오픈소스 환경

1) 오픈의 시대정신

  • 정보·지식은 특정 집단의 독점이 아니라 사회 전체의 공유 자산
  • 1991년 리누스 토르발스, 리눅스 커널 무료 공개

2) 오픈소스의 등장 배경과 철학

  • 리처드 스톨먼 GNU 프로젝트, 자유 소프트웨어 운동
  • 레이먼드, ‘성당과 시장’ → 협업·분산 개발 철학

3) 오픈소스 소프트웨어

  • 소스코드 공개 → 누구나 자유롭게 사용·수정·재배포 가능
  • 핵심 조건: 공개성, 자유로운 활용, 협업 가능성

4) 오픈소스 생태계와 발전 방식

  • 자발적 협업과 분산 개발로 성장
  • GitHub 등 플랫폼을 통한 글로벌 협업 기반 확산

5) 오픈소스와 오픈데이터

  • 누구나 접근·재사용 가능한 데이터
  • 조건: 기계 판독 가능, 비차별적 접근 보장, 자유로운 재배포 권리

6) 오픈소스와 파이썬

  • 파이썬: 데이터 분석·AI 등 다양한 분야에서 활용
  • 오픈소스 생태계와 결합, 커뮤니티 중심 성장

7) 오픈소스와 파이썬 프로그래밍 환경

  • IDLE: 기본 개발 환경, 단순
  • Jupyter Notebook: 가장 널리 쓰이는 데이터 분석 환경
  • Google Colab: 클라우드 기반, GPU/TPU 지원

8) 파이썬 패키지와 라이브러리

  • Selenium: 웹 브라우저 자동 제어, 크롤링·테스트
  • lxml: HTML/XML 파싱
  • NumPy: 고속 수치 연산, 다차원 배열 처리
  • Pandas: 데이터프레임 기반 분석
  • Statsmodels: 전통 통계 기법 지원
  • Matplotlib/Seaborn: 시각화
  • Scikit-learn: 머신러닝 모델 구축·평가
728x90