2. 데이터 분석 개요
데이터 분석 : 데이터를 분석하여 중요 의미를 추출 or 미래 예측
데이터 분석 : 예측 / 설명 / 추천
3. 데이터 분석 개요
예측(prediction)
새로운 data에 대한 미례 값을 예측
회귀(regression) : 수치를 예측 - 주가, 확률, 매출, ...
분류(classification) : 속하는 카테고리를 예측 - yes or no / good or not / ...
설명(description)
현상의 원인을 설명하는 것
데이터 군집화(clustering), EDA 등
추천(recommendation)
주어진 조건 중 최적의 선택을 제공하는 것
의사 결정의 보조 역할
5. 데이터 분석 방법
지도학습 (supervised learning)
입력 값과 정답을 갖는 훈련 데이터로 학습 후, 시험 데이터로 예측
정답에 해당하는 값 : 목적변수(target) 혹은 label이라고 함
회귀분석에서는 수치값으로, 분류에서는 카테고리로 주어짐
회귀분석 시 사용되는 알고리즘
선형(로지스틱)회귀 / kNN / SVM / 랜덤 포레스트 / 신경망
비지도학습 (unsupervised learning)
정답이 없거나 모르는 상태 - label이 없다
입력 데이터의 패턴 / 특성을 학습
clustering, EDA, 현관 분석, 시각화, 차원 축소 등
강화학습 (reinforcement learning)
데이터 모델의 학습 방향을 지정
label값은 없지만 모델이 의도대로 동작하는지를 지정하여 학습
6. 데이터 분석 프로세스
문제 정의
전략 수립 : 어떤 데이터를 어떻게 쓸 것인가?
데이터 수집
모델 구현 : 분류, 회귀, ...
결과 적용 및 성능 개선
7. 회귀분석 알고리즘
선형회귀 : 하나 이상의 독립 변수 X와 종속변수 y와의 선형 상관관계
로지스틱 회귀 : 데이터가 2개 범주 중 하나에 속하도록 함 (Binary Classification)
9. 회귀분석 알고리즘
랜덤 포레스트(Random Forest)
여러 모델을 합치는 앙상블(Ensemble) 모델
의사 결정 트리가 갖는 overfitting 문제를 극복하기 위한 전략
신경망(neural network)
10. 탐색적 분석
EDA : Exploratory Data Analysis, 탐색적 데이터 분석
데이터의 종류
문자형, 수치형, 이진, 논리
범주 데이터 : 데이터가 속하는 카테고리
순서형 : 데이터 순서가 의미를 갖는 경우(ex. 날짜)
연속 데이터 : 숫자의 양이 의미를 갖는 데이터
11. Pandas를 이용한 데이터 탐색
import pandas as pd # pandas 모듈 import
data = pd.read_csv(' ... ') # csv파일 읽기
data = pd.read_excel(' ... ') # 엑셀 파일 읽기
data.columns # 데이터 column 반환
data.set_index(' ... ') # 데이터의 인덱스 변경
data.drop(' ... ') # 특정 행 삭제
data.info() # 데이터 개수, 자료형 등 정보 확인
data.describe() # 최대, 최소, 분산 등 통계적 정보
data.corr() # 데이터 상관계수 반환
from collections import Counter
Counter(data) # 데이터 빈도를 dict 자료형으로 출력
12. 데이터 시각화
boxplot : 데이터 분포를 볼때 용이
outlier : 보통 3사분위 - 1사분위 값의 1.5배를 초과하는 데이터 값
15. 통계적 분석
왜도(skewness)
분포의 비대칭 정도를 나타냄 : 정규분포 등 대칭인 분포는 왜도가 0이다
긴 꼬리 : 데이터가 어느 쪽으로 더 길게분포하는지
오른쪽으로 긴 꼬리를 가지면(skewed to right) : 양의 왜도
skewed to left : 음의 왜도
첨도(kurtosis)
데이터의 분산 정도와 중앙 peak에 대한 정보를 제공한다
정규분포 첨도는 3이지만, 일반적으로 0으로 만들기 위해 첨도값은 3을 빼서 계
산
첨도가 클수록 데이터 분산은 커지고, 중앙부분은 더 뾰족해진다
16. 통계적 분석
결측치(missing value) 처리
15% 이상 missing된 데이터는 제외하는 것이 타당하다
결측치 분포와 correlation을 이용해 비슷한 유형의 데이터의 경우 삭제 가능