۴ کیو· سختپیشرفتهPYTHON۴ ثانیه · ۲۵۶ مگابایت
درخت رگرسیون از صفر
تابع tree_predict(X, y, X0, max_depth) یک درخت رگرسیون را با تقسیم دودویی بازگشتی میسازد و برای ردیفهای X0 پیشبینی میکند.
ساختن یک گره با دادهی در عمق (ریشه عمق صفر دارد):
- اگر برابر
max_depthباشد، یا گره کمتر از دو نمونه داشته باشد، یا هیچ ستونی بیش از یک مقدار یکتا نداشته باشد: برگ است و پیشبینیاش میانگین . - وگرنه بهترین برش را مثل تمرین «بهترین برش» پیدا کن: برای هر ستون به ترتیب، آستانهها نقطهی وسط مقدارهای یکتای پشتسرهم، کمترین مجموع RSS دو بخش؛ در تساوی، اولین ستون و کوچکترین آستانه.
- نمونههای به فرزند چپ و بقیه به فرزند راست میروند؛ هر فرزند را با عمق بساز.
برای پیشبینی، هر ردیف X0 را از ریشه با همان قاعدهها ( یعنی چپ) پایین ببرید تا به برگ برسد.
نمونهها
ورودی نمونه ۱
[[[8.7, 2.9], [6.0, 7.8], [7.2, 9.2], [8.6, 9.2], [0.3, 4.4], [4.8, 0.7], [0.1, 8.3], [9.8, 7.8], [3.2, 7.1], [3.0, 7.4], [2.8, 7.8], [9.9, 9.9]], [2.95, 4.31, 4.91, 4.05, 1.88, -0.59, 1.77, 3.98, 0.58, 1.2, 0.77, 4.78], [[2.0, 2.0], [8.0, 8.0], [6.0, 1.0]], 1]
خروجی نمونه ۱
[0.935, 4.1633, 4.1633]
ورودی نمونه ۲
[[[8.7, 2.9], [6.0, 7.8], [7.2, 9.2], [8.6, 9.2], [0.3, 4.4], [4.8, 0.7], [0.1, 8.3], [9.8, 7.8], [3.2, 7.1], [3.0, 7.4], [2.8, 7.8], [9.9, 9.9]], [2.95, 4.31, 4.91, 4.05, 1.88, -0.59, 1.77, 3.98, 0.58, 1.2, 0.77, 4.78], [[2.0, 2.0], [8.0, 8.0], [6.0, 1.0]], 2]
خروجی نمونه ۲
[1.24, 4.406, 2.95]
برای نوشتن پاسخ و دریافت امتیاز، ابتدا وارد حساب شوید.
ورود