일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 실행중인 포트 죽이기
- time wait port kill
- 오블완
- 려려
- conda base 기본 설정
- conda base 활성화
- conda 가상환경 설정 오류
- 3000 port kill
- 티스토리챌린지
- conda 기초 설정
- window netstat time wait 제거
- Today
- Total
모도리는 공부중
20.12.31. 머신 러닝 본문
20.12.31. 머신 러닝
공부하는 모도리 2020. 12. 31. 14:16오늘부터의 수업은 이명훈쌤이 진행합니다.
※머신러닝 진행과정※
- 문제정의 (비즈니스 목적 정의, 현재 솔루션 구성파악)
- 데이터수집(Web Crawling)
- 데이터 전처리 (단위변환 새로운 속성 추출, 인코딩)
- EDA(탐색적 데이터 분석) (특성간의 상관관계 파악)
- 모델 선택 및 하이퍼파라미터 튜닝(직접 값을 변경시켜주어야 함) (ex. KNN : 이웃의수 조정:n_neighbors=n)
- 모델 학습(fit)
- 모델 평가(정확도, 재현율 등 확인)
Decision Tree (결정트리)
- 타깃 값이 한 개인 리프 노드를 순수 노드라고 한다.
- 모든 노드가 순수 노드가 될 때 까지 학습하면 복잡해지고 과대적합이 된다.
- 새로운 데이터 포인트가 들어오면 해당하는 노드를 찾아 분류라면 더 많은 클래스를 선택하고, 회귀라면 평균을 구한다.
Decision Tree(결정트리) 과대적합 제어
- 노드 생성을 미리 중단하는 사전 가지치기(pre-pruning)와 트리를 만든후에 크기가 작은 노드를 삭제하는 사후 가지치기 (pruning)가 있다. (sklearn은 사전 가지치기만 지원)
- 트리의 최대 깊이나 리프 노드의 최대 개수를 제어
- 노드가 분할 하기 위한 데이터 포인트의 최소 개수를 지정
주요 매개변수(Hyperparameter) - scikit-learn의 경우
- max_depth : 트리의 최대 깊이 (값이 클수록 모델의 복잡도가 올라간다.)
- max_leaf_nodes : 리프 노드의 최대 개수
- min_samples_leaf : 리프 노드를 구성하는 최소 샘플의 개수
장점
- 만들어진 모델을 쉽게 시각화할 수 있어 이해하기 쉽다. (white box model)
- 각 특성이 개별 처리되기 때문에 데이터 스케일에 영향을 받지 않아 특성의 정규화나 표준화가 필요 없다.
- 트리 구성시 각 특성의 중요도를 계산하기때문에 특성 선택 (Feature selection)에 활용될 수 있다.
단점
- 훈련(train)데이터 범위 밖의 포인트는 예측 할 수 없다. (ex : 시계열 데이터)
- 가지치기를 사용함에도 불구하고 과대적합되는 경향이 있어 일반화 성능이 좋지 않다.
한 번에 하나의 영역에 대해서만 질문을 던지고 직선으로 나누기 때문에 선형모형에서는 적합하지 않다.
하나의 네모가 하나의 영역을 구분. 오른쪽 x쳐진 모형은 판단에 따라 잘 구분되었다고 볼 수도 있겠지만 정확히 구분되었다고 볼 수 없다. 결국, decision tree를 통해서 이것을 잘 구분하려면 여러번의 질문을 던져야만 할 것이다.
선형모델은 회귀와 분류 모두 사용이 가능하다. (다음주쯤 배울 예정)
Decision Tree (트리 모형으로 Yes/no를 통해서 결정을 해 분류해주는 모델)
구조:
-root note (첫질문)
- internal node (중간 질문들)
-leaf node(마지막 질문. 만약 타깃이 하나만 있다면 순수 노드라고 한다.)
순수 노드가 많으면 좋지 않다. 왜냐면 복잡해지고 과대적합이 되기 쉽기 때문이다 그래서 가지치기를 해서 최대 개수를 제한한다.
주요 매개변수 :
-max_depth (트리의 최대 깊이)
-max_leaf_nodes (노드의 최대 개수)
-min_samples_leaf (리프 노드를 구성하는 최소 샘플의 개수)
장점:
-쉽게 시각화가 가능하다
-각 특성이 개별 처리 되어서 정규화나 표준화 불필요
-트리 구성시 각 특성의 중요도를 계산해서 특성 선택에 활용 가능
단점:
-트리 범위 밖은 예측 불가
-가지치기를 해도 과대적합이 빈번히 발생
-선형모형에는 적합하지 않음
'K-디지털 빅데이터 분석서비스 개발자과정 20.11.02~21.04.12 > PYTHON(웹크롤링, 머신·딥러닝)' 카테고리의 다른 글
21.01.08. 머신러닝 - 선형모델학습 (0) | 2021.01.08 |
---|---|
21.01.07. 머신러닝 개념복습, 데이터스케일링, 선형모델 (0) | 2021.01.07 |
20.11.27.오후 - 웹크롤링 마지막시간 (0) | 2020.11.27 |
20.11.23. 오후 - 웹크롤링 이론 및 게임 (0) | 2020.11.23 |
20.11.17. 오후 - PL PANDAS 심화 (0) | 2020.11.17 |