njs03332 / ml_study

3 stars 0 forks source link

2022/07/08~2022/07/13 #35

Open njs03332 opened 2 years ago

njs03332 commented 2 years ago
danbi5228 commented 2 years ago

6.7 규제 매개변수

NOTE

njs03332 commented 2 years ago

6.8 회귀

tree_reg = DecisionTreeRegressor(max_depth=2) tree_reg.fit(X, y)


![image](https://user-images.githubusercontent.com/37107740/178526379-d004043c-7a71-4a20-b342-ae0647cef2ff.png)

- 앞서 만든 분류 트리와 비슷하지만, 회귀 트리에서는 각 노드에서 클래스를 예측하는 대신 어떤 값을 예측함 (value)
  - 예) 0.111인 리프노드에 도달하는 경우: 이 리프 노드에 있는 110개 훈련 샘플의 평균 타깃값이 예측값 (0.111)이고, 이 예측값을 사용해 110개 샘플에 대한 평균제곱오차 (MSE)를 계산하면 0.015
![image](https://user-images.githubusercontent.com/37107740/178528759-e61cf065-a827-4167-8f56-1323e16f55b3.png)

- 이 모델의 예측은 왼쪽과 같음. max_depth=3으로 설정하면 오른쪽과 같음
  - 각 영역의 예측값은 항상 그 영역에 있는 타깃값의 평균
  - 알고리즘은 예측값과 가능한 한 많은 샘플이 가까이 있도록 영역을 분할함
- CART 알고리즘은 훈련 세트를 불순도를 최소화하는 방향으로 분할하는 대신 평균제곱오차(MSE)를 최소화하도록 분할 (비용함수: 식 6-4)
![image](https://user-images.githubusercontent.com/37107740/178530830-32de04cc-7157-4fcc-9b11-8a28d9b6f62f.png)

- 분류에서와 마찬가지로 회귀 작업에서도 결정트리가 과대적합되기 쉬움
  - 규제가 없다면 왼쪽과 같은 예측을 함
  - mn_samples_leaf=10으로 지정하면 오른쪽과 같음
givitallugot commented 2 years ago

6.9 불안정성

결정 트리의 제한 사항

1. 훈련 세트의 회전에 민감
2. 작은 변화에도 매우 민감
3. 매번 다른 모델