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 |