728x90
반응형
1. OverFitting -> deep tree
너무 세세하게 분류 기준을 세우니, 분류 집단 수가 너무 많아져, 정확도가 떨어짐
2. UnderFitting -> shallow tree
분류 기준을 너무 적게 잡으니, 분류 집단 수가 너무 적어서, 정확도가 떨어짐.
3. 각 모델의 예측 정확성 비교하기
MAE와 max_leaf_nodes의 값을 비교.
- max_leaf_nodes 입력인수: 최대 leaf의 수.
- leaf가 너무 많으면(node가 많아지면) overfitting -> model이 너무 sensible해짐
- leaft가 너무 적으면 underfitting
- 이상적인 트리 사이즈란? MAE가 최소가 되는 트리 사이즈
# for-loop을 이용해서 최대 leaf(node) 수를 통하여 이상적인 트리 사이즈를 찾자
for max_leaf_nodes in [5, 50, 500, 5000]:
my_mae = get_mae(max_leaf_nodes, train_X, val_X, train_y, val_y)
print("Max leaf nodes: %d \t\t Mean Absolute Error: %d" % (max_leaf_nodes, my_mae))
4. Coding it
1. Compare Different Tree Sizes
candidate_max_leaf_nodes = [5, 25, 50, 100, 250, 500]
scores = {leaf_size: get_mae(leaf_size, train_X, train_y, val_X, val_y) for leaf_size in candidate_max_leaf_nodes}
best_tree_size = min(scores, key=scores.get)
# key parameter:: 각 원소마다 적용할 함수
2. Fit Model Using All Data (X, y)
final_model = DecisionTreeRegressor(max_leaf_nodes = best_tree_size, random_state = 0)
final_model.fit(X, y)
728x90
반응형
'Machine Learning > [Kaggle Course] ML (+ 딥러닝, 컴퓨터비전)' 카테고리의 다른 글
!! Steps to apply machine learing to real-world data (0) | 2020.10.08 |
---|---|
Random Forest (0) | 2020.09.28 |
[Kaggle Courses] What is Model Validation (Evaluating) (0) | 2020.09.26 |
[Kaggle Courses] From Fitting to Prediction (0) | 2020.09.26 |
[Kaggle Courses] Basic Data Exploration - Ex.MelbourneHomePrice (0) | 2020.09.22 |