Week3 03
강의 5
- 시계열 데이터
-
시계열 데이터 => 하나의 변수를 시간에 따라 여러 번 관측한 데이터
- 변화 예측, 반복되는 패턴에 대한 인사이트 도출이 목표 (가격, 매출, 온도, 성장 등)
- 값 뿐만 아니라 변동성 등에 대한 예측도 가능
-
시간 또는 회차 단위
추세
=> 장기적 증가/감소 ,계절성
=> 특정 요일/계절에 따라 영향(백화점 이용객 주말에 많은 것)-
주기
=> 형태적으로 유사하게 나타나는 패턴,노이즈
=> 다양한 요인으로 생기는 왜곡 (측정오류, 내부 변동성) - 성분 분석 =>
시계열 데이터 = 규칙성 데이터 + 불규칙 데이터
로 나누어 보는 것 - 대부분의 시계열 데이터 => 시간에 따라 통계적 특성 변함(물가, 가격, 사용자 수 등)
- 시간에 따라 통계적 특성 바뀌면 => 관측 시간에 따라 결과에 많은 영향
- 구간이 다른 시계열에 대해 모델 만드려면 => 관측 시간은 결과 값 y와 독립적이어야함
- 통계적 특성 예시 : 평균, 분산, 공분산
정상성
=> 시간에 따라 통계적 특성이 변하지 않음 ,비정상성
=> 그 반대- 통계모델에 사용하기 위해 비정상성 제거 필요 => 시간에 특성을 제거
차분
=> 이웃된 두값의 차이값을 사용 ex. [1,2,4,7,8,10] => [None, 1,2,3,1,2] , 경우에 따라2차 차분
도 가능- 계절성 주기에 따라 차이 두는
계절성 차분
도 존재함 -
로그 연산
: 로그 연산 통해 비정상성 일부 제거가능 - 시계열 데이터 전처리
- 시각화나 해석을 위한 전처리, 모델을 위한 전처리가 될 수도 있음
- 평활(Smoothing)
- 데이터의 불필요한 변동 제거 => 쉬운 해석 도움
추세 및 계절성 파악
,데이터 시각화 개선
구간별 평균/ 구간별 통계
사용 => 구간으로 나누어 통계값 사용 but 데이터 개수 줄어들어 관찰에만 용이-
이동 평균
이동 평균
=> 이전 데이터의 총 평균을 주기별로 움직여가며 사용이상치
같은 값에 영향을 크게 받아가중 이동평균
등과 같은 방법도 있음- 급격하게 변하는 값에 대해서도 추세를 보기 쉬움 => 구간 길이 따라 다르게 해석될 수 있음 주의
- 이동평균 => 최신값에 대한 반영을 크게 안함 => 지수 이동 평균 사용(텐서보드에서 많이 사용)
강의 6
-
이미지 데이터
- Domain => 의료, 교통, 사물, 풍경, 사람 등
- Task => Classification/Detection/Segmentation/Generation/Feature Extraction 등
- Quality => 그에 맞는 적절한 이미지 데이터셋
-
추가수집과정, Fine Tuning을 위한 데이터 전처리까지 중요
- 가장 중요한 것은 => Domain
-
문제 정의, 도메인에 대한 지식 습득 이후
EDA
진행 순서 Target
중심 (정형 데이터 해석) => 분포 위주의 초기 비교- 범주 또는 값의 분포가 균등하지 않고 편향되어 있는 경우 => 데이터 증강
- 특정 범주의 이미지가 지나치게 적은 경우
- 전체 이미지 개수가 적은 경우
Input
중심 => 이미지 데이터의 개별 비교- 도메인지식과 실제 데이터셋이 다를수있을경우, 가지고 있는 데이터셋이 특정 문제를 가지고 있을 수 있음
-
Process
중심 => 전처리-모델-결과해석 반복 - 이미지 데이터 수집
- 수집 경로
- 데이터의 한계
- 데이터 학습 비용(메모리, 연산 비용, 시간)
- 데이터를 수집하는 프로세스를 연습하는 것도 좋은 방법(캐글)
- 이미지 데이터 포맷
- 아날로그 데이터인 이미지를 디지털화 하기위해선 저장 방식 필요
RGB
.HSV
(색상, 채도, 명도),CMY(K)
(RGB 보색),YCbCr
(밝기/파랑에 대한 색차/빨강에 대한 색차) => 디지털 영상에 용이- 대표적 이미지 포맷들 =>
JPEG
(손실 압축 방법론),PNG
(무손실 압축 방법),WepP
(앞의 두방식 포함),SVG
(벡터이미지 통한 저장)
- 이미지 데이터 전처리
- 고차원 데이터 전처리 하는 이유
- 데이터 퀄리티 향상, 데이터 양 증대 => 테크닉
- 쉬운검증 (시각화를 통한 인지 개선) => 시각화로 접근
- 색상 공간, 노이즈 삽입, 사이즈 조정, 아핀 변환, 특성 추출
- 이후 task에 따라 도메인 지식 기반 변형 가능!
- 고차원 데이터 전처리 하는 이유
- 이미지 데이터 라이브러리
- OpenCV, PIL, scikit-image, albumentations, torchvision, SciPy
- 텍스트 데이터
- 언어는 구조에 따라 의미가 변경
- 다양한 문제를 고려하면서 전처리 해야함
- 텍스트 데이터 전처리 종류
- 짧은 단어 또는 표현에 대한 전처리
- 텍스트 패턴 (정규표현식)
- 텍스트 토큰화
- 소문자 변환 (영어 등)
- 불용어 제거
- 철자 교정
- 문단 등에 대한 전처리
- 문장 토큰화
- 띄어쓰기 교정
- 문장 구조 분석
- 문맥적 의미 분석
- 짧은 단어 또는 표현에 대한 전처리
- 정규 표현식
- 문자열의 특정한 패턴을 표현하는 방법
대규모 처리에는 효과적이지 못한 확장성
- 패턴에 대한 분석 필요
- 전체적인 텍스트 전처리 과정
- 선택적 전처리 => 대소문자 통일, 불필요한 문자 제거, 철자 교정 등
- 문단/문장 토큰화 => 마침표, 물음표 등 특수부호 통한 구분
- 단어 토큰화 => 공백, 쉼표 등을 통한 구분
- 서브워드 토큰화 => 복합어/합성어 등의 구분
- 불용어 제거 => 문맥적으로 의미없는 표현 제거
- 어간 추출 & 표제어 추출 => 표제어: 언어의 원형(are, is => be), 어간추출: beginning => begin
- 텍스트 시각화
- 워드 클라우드
- 네트워크 시각화
- Highlight 기반 시각화
실습 6-1
image
에 대한 차원도 염두해 두면 좋음 (png같은경우 4차원일 수 있음)torchvision
=> 밝기, 대비도, 채도, 색상 조정 가능transforms.ColorJitter()
keras_cv
=>.visualization.plot_image_gallery()
=> row, cols 만 전달해서 EDA할 때 편함Albumentations
=> 데이터 증가에 초점된 라이브러리 ( 멘토님 추천 )- 일반적인 전처리 기능 포함 다양한 기능 포함
Cutout, CoarseDropt
등
- 이미지 전처리는 크게 세가지
- 이미지가 가진 메타데이터를 어떻게 볼 것인가
- 메타데이터와 이미지를 어떻게 연관시킬 것인가
- 이미지 데이터에서 각각 어떻게 관찰할 것인가
실습 6-2
- 불용어와 정규표현식
- 다양한 텍스트 라이브러리
- KoNLPy => 여러 한국어 형태소 분석기 편리하게 사용
- Py-Hanspell => 한국어 맞춤법, 띄어쓰기 오류 교정
- PyKoSpacing => 띄어쓰기 라이브러리
- SOYNLP => 비지도 학습 방법으로 자연어 처리 , 신조어 등에 처리하기 용이
-
코드를 좀 뜯어보고 추가적인 룰베이스 넣어주면 => 생태계에 기여하는 방법
- 어떤 포멧이 있다면 어떻게 정규표현식으로 바꿀 수 있을까 고민해보는 것도 좋음
댓글남기기