머신러닝
딥러닝은 머신러닝의 한종류
| 범주형 | 수치형 | |
| 지도학습 (= 정답이 있음) |
분류 (classification) | 회귀(regression) |
| 비지도학습 (=정답이 없음) |
군집화 (Custering) | 차원축소 (Dimensionality reduction) |
분류(지도학습) - 범주형 분류예측
ex )고객의 구매여부 ,광고클릭여부, 당뇨병여부 ,코로나 양성 음성, 스펨메일여부
ps/ 구매한다 안한다 ← 있으면 지도학습 없으면 비지도학습
정답 == label == target
회귀분석(지도학습) - 숫자예측
ex)기간별 매출액, 재고량,판매량,강수량,기운
- 회귀 알고리즘 중에 분류에 사용할 수 있는 알고리즘은? 로지스틱회귀
데이터 전처리방법
normalization - 0~1사이값으로 조정
outliers - 비정산적인 관측값 - 이상치 어떻게할것인지
imputation -결측치를 제거 or 대체
encoding - 문자열 카테고리값을 숫자형으로 변환
머신러닝 과정 - 분류
기출문제 (X_train)과 기출문제의 정답 (y_train)을 주고 학습
훈련(fit)을시킴
머신러닝 과정 지도학습 (암기하자)
정답이 있다
1. fit(학습)
기출문제와 문제정답으로 공부 (model)
2. predict(예측)
기출문제와 정답으로 공부한걸 바탕으로 실전문제를 풀어봄 (predicitoin)
3. evaluate(모델평가)
제대로 문제를 풀었는지 체점 (evaluate)
전체과정
| feature_names | 학습, 예측에 사용할 컬럼을 리스트형태로 변수에 담는다 |
| label_name | 정답값 |
| X_train | feature_names에 해당하는 컬럼만 train에서 가져온다 - 학습에 사용할 데이터셋 ex) 시험의 기출문제 |
| y_train | ex) 기출문제의 정답 |
| X_test | feature_names에 해당되는 컬럼만 test에서 가져옵니다 예측에 사용할 데이터셋 ex) 실전 시험문제 |
| model | 학습, 예측에 사용할 머신러닝 알고리즘 |
| model.fit(X_train, y_train) | 학습,기출문제와 정답을 가지고 학습하는 과정과 유사합니다. |
| model.predict(X_test) | 예측,실제시험을 보는 과정과 유사 - > 문제를 풀어서 정답을 구한다 |
| score | 채점해보기 |
| metric | 점수를 채점하는 공식 |
X는 대문자로 쓰고 y는 소문자로 쓰는이유
관례 - 공식문서에도 이렇게씀 (X는 2차원 , y는 1차원)
결정트리 학습법
최근 가장인기있는 알고리즘
공식문서
(https://ko.wikipedia.org/wiki/%EA%B2%B0%EC%A0%95_%ED%8A%B8%EB%A6%AC_%ED%95%99%EC%8A%B5%EB%B2%95)

어떤 항목에 대한 관측값과 목표값을 연결시켜주는 예측모델로서 결정트리를 사용 ( 예측 모델링 방법중 하나)\
분류와 회귀에 둘다 사용가능하며(CART = Classification And Regression Tree)
질문에 꼬리에 꼬리를 물어가며 가지가 뻣어나가는 형식
분류트리 : 트리 모델 중 목표 변수가 유한한 수의 값을 가짐
회귀트리 : 결정 트리 중 목표 변수가 연속하는 값을 가짐, 일반적으로 실수
결정 트리 장점
- 결과를 해석하고 이해하기 쉽다
- 자료를 가공할 필요가 거의 없다
- 수치 자료와 범주 자료 모두 적용 가능 하다
- 화이트박스 모델을 사용한다
- 안정적이다
- 대규모 데이터 셋에도 잘 동작한다
결정 트리 의 단점
- 랜덤성에 따라 매우 다름.
- 계층적 접근 방식이기 때문에 중간에 에러 발생하면 다음 단계로 에러가 계속 전파.
- 결과 또는 성능의 변동 폭이 크다는 결점
- 일반화하여 사용하기 어렵다.
- 과적합 가능성이 높습니다
주요 파라미터
- max_depth : 트리의 최대 깊이 지정
- max_features : 최적 분환을 위해 고려할 최대 feature 개수
-> int형: feature 개수, float형: 대상 feature비율
- random_state : 추정기의 무작위성을 제어합니다. 실행했을 때 같은 결과가 나오도록 합니다.
- ceriterion : 가지의 분할의 품질을 측정하는 기능
- min_samples_split : 내부 노드를 분할하는데 필요한 최소 샘플 수
- min_samples_leaf : 말단 노드가 되기위한 최소 샘플 수
- min_weight_fraction_ leaf : 리프 노드에 있어야 하는 최소 샘플 수
과소 적합
학습데이터가 부족하게 학습된것
과대적합
너무 학습을 많이해서 쓸모없는 부분까지 학습 - 오히려 정확도가 떨어져버림
인용자료 :
멋쟁이사자처럼 AI School 7기 박조은 강사의 자료
'TIL > 머신러닝' 카테고리의 다른 글
| 11/10 머신러닝 주택가격 피처엔지니어링 (0) | 2022.11.10 |
|---|---|
| 11.09 머신러닝 회귀 스케일링 피처 엔지니어링 (1) | 2022.11.10 |
| 11.08 머신러닝 bike log 회귀 (0) | 2022.11.09 |
| 공부한거 정리해보기 (0) | 2022.11.03 |
| 22.10.31 (0) | 2022.10.31 |
댓글