머신러닝
딥러닝은 머신러닝의 한종류
범주형 | 수치형 | |
지도학습 (= 정답이 있음) |
분류 (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 |
댓글