راه
۶ کیو· متوسطمتوسطPYTHON۱۲ ثانیه · ۲۵۶ مگابایت

هرس پیچیدگی-هزینه

تابع prune_report(seed) روی داده‌ی دیابت scikit-learn (load_diabetes) یک درخت رگرسیون را با هرس پیچیدگی-هزینه تنظیم می‌کند:

  1. داده را با train_test_split(..., random_state=seed) تقسیم کنید.
  2. مسیر هرس را روی داده‌ی آموزش بگیرید:
python
path = DecisionTreeRegressor(random_state=0).cost_complexity_pruning_path(X_train, y_train)
alphas = path.ccp_alphas[:-1]       # آخری فقط ریشه را نگه می‌دارد
  1. با GridSearchCV(DecisionTreeRegressor(random_state=0), {"ccp_alpha": alphas}, cv=5, scoring="neg_mean_squared_error") روی داده‌ی آموزش بهترین α\alpha را انتخاب کنید.
  2. آرایه‌ای سه‌تایی برگردانید: α\alpha انتخاب‌شده، تعداد برگ‌های مدل نهایی (best_estimator_.get_n_leaves())، و R2R^2 روی داده‌ی آزمون.

نمونه‌ها

ورودی نمونه ۱
0
خروجی نمونه ۱
[208.7406, 4.0, 0.105]

برای نوشتن پاسخ و دریافت امتیاز، ابتدا وارد حساب شوید.

ورود