1. 데이터 수집

   1) 데이터 수집 및 개발환경

      -1 데이터 수집 및 개발환경

         (a) 프로그래밍 언어  :  python

         (b) 개발도구  :  Google Colaboratory (줄여서 Colab)

         (c) 준비사항  :  구글계정

 

   2) 데이터 생성의 원천

      -1 생성

         (a) IoT 장치 및 센서  :  산업용 기계의 센서, 하수관, 교량, 환자 모니터링 장치, 자동차, 비행기 등의 소스에서

                                              데이터 생성

         (b) 스프레드시트 프로그램  :  엑셀, 구글 스프레드시트, RDB 데이터 편집프로그램 등에서 데이터 생성

         (e) 텍스트 마이닝  :  언어학, 수학, 컴퓨터공학 등의 다양한 지식을 이용하여 특정 목적에 맞게 유의미한 정보 추출,

                                          분석, 처리

 

      -2 보관

         (a) 보조기억장치의 파일 형태

 

   3) 유형별 수집 기술

      -1 정형 데이터  :  RDB, 스프레드시트

      -2 반정형 데이터  :  HTML, XML, JSON

      -3 비정형 데이터  :  자연어, 오디오, 비디오

      -4 수집기술

         (a) ETL : 추출(Extract), 변환(Transform), 로드(Load)

         (b) Open API : 공개 응용 프로그램 인터페이스 (Application Programming Interface)

         (c) 크롤링 : 소프트웨어 등을 이용하여 웹 문서에서 데이터를 수집하는 작업 또는 기술

         (d) 스크래핑 : 소프트웨어 등을 이용하여 데이터를 수집하는 작업 또는 기술

 

 

2. 데이터 웹 데이터 수집

   1) 웹 페이지의 이해

      -1 월드 와이드 웹 (www)

         (a) 인터넷에 연결된 컴퓨터를 통해 정보를 공유할 수 있는 세계적인 정보 공간

         (b) 인터넷에서 HTTP로 접속하고 HTML형식 등을 사용하여 그림과 문자를 교환하는 전송방식

         (c) 하이퍼텍스트 방식과 멀티미디어 환경에서 검색할 수 있게 해주는 정보검색 시스템

 

      -2 주요 기능 구성

         (a) 표준화된 웹 문서 등의 위치 지정 방법 (URL)

         (b) 웹 문서에 접근하는 방식 (Protocol)

         (c) 웹 문서 및 다양한 정보들 사이를 쉽게 이동할 수 있는 언어 (HTML)

 

      -3 웹 페이지 접근 방법

         (a) 웹 브라우저 프로그램 이용  :  microsoft edge, google chrome, apple safari 등

         (b) 프로그램 직접 개발  :  표준 접근방식을 이용한 프로그램 접근

 

   2) 웹 페이지 구성

      -1 HTML (HyperText Markup Language)

         (a) 웹 브라우저에 표시되도록 설계된 문서의 표준 마크업 언어

 

      -2 CSS (Cascading Style Sheets)

         (a) 마크업 언어가 실제 표시되는 방법을 기술하는 스타일 언어

 

      -3 Javascript / VBScript / pyScript

         (a) HTML, CSS와 사용자의 동적기능과 연결을 담당하는 언어

     

   3) 웹 페이지 접근

      -1 웹 페이지 접속 정보

         (a) URL(Uniform Resource Locator)  :  네트워크 상에서의 자원 위치

         (b) Protocal  :  자원에 접근하기 위한 통신 규약 (약속)

         (c) Resource Name  :  자원의 이름 (문서명 또는 프로그램 + 인수)

 

 

   4) 웹 페이지 요청 방법

      -1 GET(URL에 매개변수 (Parameter)를 붙여 요청

 

      -2 POST  :  GET방식과 다르게 Body 영역에 매개변수를 요청 (일반적으로 프로그램으로 구현)

 

   5) 웹 데이터 수집

      -1 웹 크롤링과 웹 스크래핑

         (a) 웹 크롤링  :  웹 페이지 링크를 수집

         (b) 웹 스크래핑  :  웹 페이지 링크에 접속하여 문서를 가져와 데이터를 추출

            - 웹 페이지에서 특정 정보를 수집하는 기술

            - 웹 페이지에 접속하여 데이터를 파싱한  후 필요한 데이터만을 추출

            - Selenium 등 웹 브라우저 imitate 프로그램으로 필요한 데이터만 추출하는 기법

웹 크롤링과 웹 스크래핑의 차이점  :  웹 페이지의 목표성과 중복성

 

      -2 python 패키지

         (a) beautifulsoup  :  웹 페이지의 HTML을 파싱, 필요한 데이터 추출 등의 함수 제공 (pip install bs4)

         (b) requests  :  HTTP 통신을 위한 함수 제공

         (c) selenium  :  Web 브라우저 프로그램을 제어하는 포터블 프레임워크 (pip install selenium)

 

 

3. 데이터 전처리 기법

   1) 용어정리

      -1 데이터 전처리  :  데이터를 분석 및 처리에 적합한 형태로 만드는 과정

      -2 데이터 품질  :  데이터의 유용한 가치를 줄 수 있는 수준, 데이터가 의도한 목적에 적합한 경우

      -3 측정 오류  :  사람의 실수로 잘못된 단위로 기록, 측정장비의 한계 등 측정과정에서 발생하는 오류

      -4 수집과정 오류  :  데이터의 손실, 중복 등의 문제로 발생하는 오류

      -5 결측값  :  값이 없어 누락된 값 (NaN, Null, None 등)

      -6 이상값  :  범위에서 벗어난 값

      -7 노이즈 (Noise)  :  측정과정에서 무작위로 발생된 기대 이외 값 (오디오 데이터, 이미지 데이터 등)

      -8 중복값  :  동일한 값

      -9 불균형  :  분류 대상 정보가 양적 비대칭한 데이터 상황

 

   2) 개요

      -1 데이터 전처리는 반드시 거쳐야 하는 과정

      -2 분석 결과에 직접 영향을 주므로, 반복적인 전처리 수행 필요

      -3 데이터 분석의 단계 중 가장 많은 시간 소요, 전체 공정 중 80% 정도

      -4 데이터 전처리 방법 #1 : 데이터 정제  ->  결측값 처리  ->  이상값 처리  ->  분석 변수 처리

         (a) 데이터 정제  :  오류 데이터값을 정확한 데이터로 수정하거나 삭제하는 과정

         (b) 결측값 처리  :  입력이 누락된 값을 특정 알고리즘으로 대체 또는 삭제

         (c) 이상값 처리  :  데이터들의 분포상 특정 범위에서 벗어난 값을 대체 또는 삭제 또는 변환

         (d) 분석 변수 처리  :  분석 또는 데이터 모델에서 사용 가능한 변수만 선택

      -5 데이터 전처리 방법 #2  :  데이터 수집  ->  데이터 정제  ->  데이터 통합  ->  데이터 축소  ->  데이터 변환

 

   3) 데이터 정제

      -1 불완전한 데이터를 수정하거나 제거하는 프로세스

      -2 결측치 변환, 이상치 제거, 노이즈 데이터 교정

      -3 비정형 데이터를 수집할 때도 수행

      -4 일반적인 절차  :  데이터 오류 원인 분석  ->  정제 대상 선정  ->  정제 방법 결정

         (a) 데이터 오류 원인 분석  :  결측값 / 이상값 / 노이즈

         (b) 정제 대상 선정  :  모든 데이터를 대상으로 정제

         (c) 정제 방법 결정  :  삭제(전체, 일부), 대체(평균값, 최빈값, 중앙값), 예측값(회귀결과) 삽입

 

   4) 데이터 축소와 변환

      -1 축소

         (a) 고유한 특성은 손상되지 않도록 분석에 불필요한 데이터를 축소

         (b) 분석에 대한 효율성 증대

         (c) 데이터 압축, DWT(Discrete Wavelet Transform), 차원 축소(PCA)

 

      -2 변환

         (a) 다양한 형식으로 수집된 데이터를 분석에 용이하도록 일관성있는 형식으로 변환

         (b) 데이터 추세 범위 이외 값 변환 (평활화, smoothing)

         (c) 다양한 차원의 방법으로 데이터를 요약 (집계, aggregation)

         (d) 특정 구간에 분포하는 값으로 스케일 변환 (일반화, generalization)

         (e) 새로운 속성이나 특징을 만드는 방법 (특징 생성, feature construction)

 

 

+ Recent posts