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)
'핀테크 인공지능' 카테고리의 다른 글
데이터 유형별 전처리 (시계열) (5) | 2024.09.14 |
---|---|
데이터 유형별 전처리 (정형) (0) | 2024.09.14 |
핀테크 실습을 위한 기초 프로그래밍 (파이썬) (1) | 2024.09.14 |
인공지능 개발 환경 (4) | 2024.09.14 |
기초 데이터 분석 (5) | 2024.09.13 |