머신러닝 분류¶
- 지도학습 - 분류, 회귀 # 시험에 나오는 부분
- 비지도학습 - 군집화, 차원축소
- 강화학습
머신러닝 프로세스(작업형 2 프로세스)¶
- 문제 정의 - 라이브러리와 데이터 불러오기
- 탐색적 데이터 분석(EDA)
- 데이터 전처리 - 결측치, 이상치 처리
- 피처(=컬럼) 엔지니어링(데이터 전처리에 묶이기도 함)
- Min-Max 스케일
- 표준화(z-score) - 스케일링
- 라벨 인코딩
- 원핫(One-hot) 인코딩
- 컬럼(피처) 선택
- Train/Validation(훈련용, 검증용) 데이터 나누기 - 모델 평가를 위한
- 모델(선택/훈련/평가/최적화)
- 한번으로 끝나지 않고 EDA나 데이터 전처리, 피처 엔지니어링으로 돌아가 반복 수행
- 예측 및 csv 파일 생성
문제 정의¶
- 문제가 길고 데이터 설명이 자세함
- 생각 해야할 일
- 분류인지 회귀인지
- 예측 해야 할 컬럼은?
- 예측 결과는? (확률? / 0과 1?)
- 평가 방식은? (회귀 : MS ? / MA ? / RMS ? // 분류 : AUS ? / F1 ? / 큐롯 ?
- 최종 생성 파일은?(CSV)
- 라이브러리 및 데이터 불러오기
- 데이터 3개 주어짐(X_train, y_train, X_test)
- (train : 훈련용 / test : 예측해야되는 데이터(평가데이터))
- test는 y가 없고 우리가 예측해야됨
- X는 대문자, y는 소문자 주의
탐색적 데이터 분석(EDA)¶
- 샘플 데이터 확인
- 데이터 크기 (컬럼수, 데이터수)
- 컬럼(피처) 타입 (object, int, float)
- 결측치 (얼마나 있는지)
- 분류 : target(label) 비율
- 분류 : 수치형 컬럼, 범주형 컬럼
데이터 전처리¶
- 결측치, 이상치 처리
- 상황에 따라 제거할지 변환할지
피처 엔지니어링¶
- 수치형, 범주형 다르게 처리
- 수치형(int, float)
- 민맥스 스케일(min-max scaling)
- 데이터를 0과 1사이 값으로 만듬
- 표준화(Z-분포)
- 정규분포에 가깝게
- 민맥스 스케일(min-max scaling)
- 범주형(object)
- 라벨 인코딩
- 카테고리가 많을 경우
- 변수를 레이블화
- 원핫 인코딩
- 적을 경우
- 변수를 컬럼으로 만듬
- 라벨 인코딩
Train과 Validation 나누기¶
- 학습용 데이터에서 일부 검증용 데이터로 나눔
- 학습한 모델을 검증용으로 스스로 모델을 평가하기 위해
모델 (선택/훈련/평가/최적화)¶
- 사용할 모델이 분류모델인지 회귀모델인지에 따라 다름
- 문제가 분류문제인지 회귀문제인지 알아야 함
- 분류 모델
- RandomForest(세부요소가 다름)
- Decision Tree
- XGBoot(세부요소가 다름)
- 회귀 모델
- RandomForest(세부요소가 다름)
- Linear Regression
- XGBoot (세부요소가 다름)
- 분류 모델
- 과정(사이킥 런 이용)
- model = '어떤 모델을 사용할 것인지 정해서 입력'
- model.fit()
- model.predict()
예측¶
- model.predict(평가 데이터)
- to_csv("수험번호.csv")
In [ ]:
'빅데이터 분석 기사 공부' 카테고리의 다른 글
데이터 전처리 (0) | 2023.11.06 |
---|---|
데이터 불러오기 및 EDA (0) | 2023.11.06 |
시계열 데이터 (0) | 2023.10.17 |
판다스 기초 (0) | 2023.10.14 |
파이썬 기초 (0) | 2023.10.13 |