본문 바로가기

Programming/Machine Learning

데이터 분석 순서

1. 문제 정의 (Problem identification)

- Business 목적 정의 (수익 고려)

- 현재 솔루션의 구성 파악

- 지도(분류, 회귀), 비지도, 강화 선택

 

2. 데이터수집 (Collecting data sets)

- Database

- File(CSV, XML, JSON)

- Web crwaling

- IoT sensor data

- Survey

- 파이썬 패키지 : BeautifulSoup , Selenium, PyMySQL , PyMongo etc.

 

3. 데이터 전처리 (Preprocessing)

- 결측치 처리 : 데이터 삭제, 다른 값으로 대체(최대값, 최소값, 중앙값, 예측모델 활용한 값)

- 이상치 처리 : 입력오류(데이터 삭제, 다른 값으로 대체), 자연발생(feature 추가)

- Feature Engineering : scaling(feautre 단위 변경), binning(수치형→범주형),

                                transform(feature를 분리하거나 연산, 날짜, 주중/주말),

                                encoding(범주형→수치형)

- 파이썬 패키지 : Numpy , Pandas etc.

 

4. 탐색적 데이터 분석 (Exploratory Data Analysis)

- 목적 : 데이터의 이해 향상

- 데이터 : 범주형(nominal, ordinal), 수치형(discrete, continuous) 파악

- 기술통계 : 최대값, 최소값, 최빈값, 평균값, 중앙값, 분산, 표준편차, 사분위수

- 변수간 상관관계, 독립여부 확인

- Feature Selection : 사용할 특성 선택

- 파이썬 패키지 : Numpy , Pandas, Matplotlib, Seaborn

 

5. Model 선택, Hyper parameter 조정

- Hyper parameter : 모델의 성능을 개선하기 위해 사람이 직접 넣는 parameter

- 파이썬 패키지 : Scikit Learn, SparkML , Tensorflow , Kears , Pytorch etc.

 

6. Model training

- model.fit(X_train, y_train)

- model.predict(X_test)

 

7. 평가 (Evaluation)

(실제, 예측)의 positive, negative

- accuracy(정확도) : (pp+nn) / (pp+nn+pn+np)

- recall(재현율) : pp / (pp+pn)

- precision(정밀도)

- f1 score

 

8. 데이터 시각화 / 서비스화

- 시각화 : scatter plot, bar chart, pie chart, box plot, histogram, heatmap

- 서비스화 : Web Service, Mobile Service, Desktop Application

- 파이썬 패키지 : Matplotlib, Seaborn, Django, Flask etc.

'Programming > Machine Learning' 카테고리의 다른 글

수치형 데이터, 범주형 데이터 변환  (0) 2020.02.11
데이터프레임 컬럼이름 변경하기  (0) 2020.02.11
특정 value 처리하기  (0) 2020.02.11
데이터프레임 생성  (0) 2020.02.10
결측치 처리하기  (0) 2020.02.10