데이터 전처리
- 수집한 데이터를 바로 분석할 수 없기 때문에 데이터를 정제해야함
> 가장 오래걸리는 과정 - 데이터 분석을 시작하기 전, 분석 과정에서 오류를 일으킬 수 있는 요인을 미리 찾아야 함
- 결측값
- 잡음/ 이상값
결측값
- 데이터 값이 존재하지 않는 것을 의미한다.
> 실수로 누락하거나 필요하지 않아서 없을 수 있음
- 완전 무작위 결측(MCAR)
- 다른 변수와 무관하게 무작위로 발생 - 무작위 결측(MAR)
- 결과 분포 자체에 영향을 미치지 않음 - 비무작위 결측(NMAR)
- 결측값이 결과에 영향을 미치는 경우
결측값의 처리
- 삭제
- 특정 단일값
- 목록 - 대체
- 특정값 대체 (특정 대푯값으로 대체)
- 다중 대치법 (통계 및 추정을 통해 새로운 데이터 셋을 대체)
잡음/ 이상값
- 둘 다 동일한 데이터셋에서 일반적인 데이터 값의 범위를 벗어난 값
- 잡음은 의도적으로 제거 / 이상값은 별도 처리
잡음과 이상값의 검출 방법
- 분산: 정규분포의 a%이하의 값을 이상값으로 판단
- 우도/가능도: 관측지가 가장 많이 발견될 것으로 보이는 확률값을 우도로 정하고, 범위 밖에서 발견되는 값 > 이상값
- 근접 이웃: 중심을 계산하고 임계값보다 멀리 떨어진 경우 > 이상값
- 밀도:상대적 밀도를 고려해 이상값으로 판단
- 군집: 밀도 방법의 업그레이드 방법, 유사한 관측값을 군집으로 묶어 어디에도 속하지 않으면 이상값으로 판단
> 위의 5가지 방법들은 직관적이지 못함. - 사분위수: 상자그림을 그려 Q2와 Q3의 1.5배수 바깥 값을 이상값으로 판단
위의 검출 방법을 이용하여 특정한 범위를 결정하고 범위 밖 관측값은 이상치로 판단하여 대체하거나 제거함
데이터 전처리 완료 > 분석 변수 선택
- 변수 선택
- 전진, 후진, 단계적 선택법 - 차원 축소 (차원이 크면 오래걸리는건 당연하기 때문)
- 주성분 분석, 선형 판별 분석, 특이값 분해 - 파생 변수 생성
- 클래스 불균형(데이터 적은 관측치에 대해 분석이 어려움)
3. 데이터 분석
분석 시스템 - 분석 도구
- 엑셀
- 쉽고 생각보다 강력 - R
- 시각화에 유리
- 비교적 쉬움 - 파이썬
- 가장 강력하다고 손꼽히는 언어 - 하둡/맵리듀스
- 자바로 되어 있어 진입장벽이 있음 - Tensorflow
- 어려운 접근성 때문에 PyTorch로 이용 - SAS / SPSS
- 고가의 라이선스
- 쉬운 통계 프로그램 - 마이닝
- '데이터가 모여있는 광산에서 원하는 보석을 캐내겠다'라는 용어
분석 방법의 용어
- 기술
- 데이터가 가진 의미를 단순하게 기록 - 분류
- 구체적인 기준으로 데이터를 분류하고 등급을 나눔 - 추정
- 알려지지 않은 결과값을 밝힘 / 특정한 것을 찾아내고 싶을 때 (추정, 시간과 관계 없음) - 예측
- 과거의 데이터를 바탕으로 미래를 추정 / 시계열 데이터에서 많이 사용(시간과 관계 있음) - 연관 분석
- 이미 수집된 데이터에서 일련의 패턴과 규칙을 발견 - 군집
- 유사한 특성을 지닌 데이터 간 분할
분석 방법의 종류
데이터 마이닝
- 대규모 데이터 속에서 유의미한 패턴 혹은 규칙을 찾기 위한 방법
> 댓글 분석에서 많이 사용하며, 자주 나온 표현들을 숫자로 표현
데이터 마이닝 절차
- 목적 정의
- 데이터 준비
- 데이터 가공
- 데이터 마이닝 기법 적용
- 데이터 검증
텍스트 마이닝
- 대표적인 비정형 데이터에서 정보를 추출하기 위한 방법
- 비정형 텍스트에서 특정 단어의 출현 빈도, 연관성, 단어의 긍정 / 부정의 방향성 등을 파악
> 댓글분석에서 텍스트 마이닝은 문자열, 데이터 마이닝은 숫자를 분석
기술 통계 분석
- 데이터를 분석하기 전, 데이터 간의 통계적 수치를 탐색
머신러닝
- 확률과 통계를 바탕으로 어떤 데이터를 분류하거나 값을 예측
- 크게 지도 학습과 비지도 학습으로 분류되며 확률과 통계를 바탕으로 어떤 데이터를 분류하거나 예측
> 지도학습: 정답 존재, 비지도학습: 정답 존재 안함 // 인공지능 파트에서 자세히 배울 예정
네트워크 분석
- SNS를 이용한 네트워크 분석 방법을 주로 활용, 인간과 사회의 관계를 분석하기 위한 방법
> 공학쪽에서 사실 사용하지 않는 방법. 인스타 그램의 View 수를 통해 분석함. 순위 조작이 심함
시뮬레이션
- 어떠한 시스템을 모델로 표현하고 그 모델을 이용하여 실험하는 방법
최적화
- 어떤 데이터에 대한 최대 혹은 최소가 되는 상태를 해석
- 최대한 빠르게 하기 위한 목표
평가지표
- 평가지표
상대방과 본인이 서로 만족할 수 있는 최종적인 결과를 보여주기위해 나타낸 기준
군집분석
- 계층적 군집: 나눌 수 있는 군집의 수를 그래프로 표현
> 군집이 많으면 소스코드와 수식이 많아질 수밖에 없음
> 군집을 나누는 방법이 명확하게 나눠져있지 않음 - k-means 군집: 똑같은 양으로 k개의 군집을 만듦
- DBSCAM
> 비슷한 것 끼리 묶지만 겹치는 부분이 존재하지 않음 - 가우시안 혼합 모델
> DBSCAM과 다르게 겹치는 부분이 존재 - SOM
> 높낮이나 온도를 표현하기 쉬움
회귀 평가지표
- 값이 크면 클수록 값을 벗어난 값들이 많다는 것이다.
- 평균절대오차
- 평균제곱오차
- 평균제곱근오차
- 평균절대백분율오차
분석 모형의 오류
교차검증을 이용하여 과적합 혹은 과소적합인지 확인
데이터 셋을 학습셋과 테스트셋으로 어떻게 나눌 지 판단
- K-폴드 교차검증
분류분석 평가지표
혼동행렬, ROC 곡선: 분류분석 모형이 내놓은 답과 실제 정답이 어느 정도 일치하는지 판단하는 평가지표
- 혼동행렬: 실제값과 예측값의 조합을 표 형태로 나타낸 행렬
Positive | Negative | |
Positive | TP | FN |
Negative | FP | Tn |
- 정확도(Accuracy)
- 정밀도(Precision)
- 민감도(재현율)
- 특이도( 참 부정률)
- ROC 곡선 (ROC Curve): 대다수의 분류 모형은 임계값을 기준으로 임계값보다 높으면 긍정, 낮으면 부정으로 분류
- AUC 면적이 넓을수록 분류를 잘하는 모형이다. (시각화로써 도움이 됌)
> 아래면적을 AUC라고 한다.
불균형 데이터 분류
- 데이터셋 내 클래스 혹은 카테고리 별 데이터 양이 매우 다를 수 있음.
- 데이터가 적은 클래스 혹은 카테고리는 제대로 된 학습이 안될 수 있음
- 가중치
- 데이터 학습 혹은 분류 중에 임의의 가중치를 적용하여 비대칭 구성 데이터를 균형 있게 출력 - 샘플링
- Undersampling: 데이터가 많은 클래스의 양을 적은 클래스 수준으로 줄임
- Oversampling: 데이터가 적은 클래스의 양을 많은 클래스 수준으로 늘림
1. 기존 데이터 혼동행렬 표현 > ROC 곡선 확인
2. 가중치 적용 >혼동행렬 비교 확인 > ROC곡선 비교 확인
3. 오버샘플링 > 혼동행렬 비교 확인 > ROC곡선 비교 확인
4. 최종적인 평가
'데이터 청년 캠퍼스(2022) > 배운 내용 정리' 카테고리의 다른 글
6.29(수) CSS 3 (0) | 2022.06.29 |
---|---|
6.28(화) HTML(2) (0) | 2022.06.29 |
6.28(화) 데이터 플랫폼 이론(2) (0) | 2022.06.28 |
6.27(월) HTML (0) | 2022.06.27 |
6.27(월) 데이터 플랫폼 이론 (0) | 2022.06.27 |