سود هر ویژگی را محاسبه می کند و بهترین اطلاعات تقسیم ممکن را برای ویژگی برمی گرداند.
اطلاعات تقسیم بهترین آستانه (شناسه سطل)، سود و مشارکت گره چپ/راست در هر گره برای هر ویژگی است.
این امکان وجود دارد که نتوان همه گره ها را روی هر ویژگی تقسیم کرد. از این رو، لیست گره های ممکن می تواند بین ویژگی ها متفاوت باشد. بنابراین، "node_ids_list" را برای هر ویژگی، حاوی لیستی از گرههایی که این ویژگی میتواند برای تقسیم آنها استفاده شود، برمیگردانیم.
به این ترتیب، خروجی بهترین تقسیم برای هر ویژگی و هر گره است، به طوری که بعداً باید ترکیب شود تا بهترین تقسیم برای هر گره (در میان همه ویژگیهای ممکن) ایجاد شود.
طول لیستهای خروجی همه دارای طول یکسان هستند، «تعداد_ویژگیها». اشکال خروجی به گونه ای سازگار هستند که بعد اول همه تانسورهای همه لیست ها یکسان و برابر با تعداد گره های تقسیم ممکن برای هر ویژگی است.
ثابت ها
رشته | OP_NAME | نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود |
روش های عمومی
Static BoostedTreesCalculateBestGainsPerFeature | ایجاد ( دامنه دامنه ، عملوند < TInt32 > nodeIdRange، تکرارپذیر< عملوند < TFloat32 >> statsSummaryList، عملوند < TFloat32 > l1، عملوند < TFloat32 > l2، عملوند < TFloat32 >درختی، پیچیدگی درختی بدون پیچیدگی TFloat32 ، عملوند <TFloat32 > l1 روش کارخانه برای ایجاد کلاسی که یک عملیات جدید BoostedTreesCalculateBestGainsPerFeature را بسته بندی می کند. |
لیست< خروجی < TFloat32 >> | winsList () یک لیست خروجی از تانسورهای رتبه 1 که بهترین سود را برای هر ویژگی برای تقسیم برای گره های خاص نشان می دهد. |
لیست< خروجی < TFloat32 >> | leftNodeContribsList () فهرستی از تانسورهای رتبه ۲ که سهم گرههای چپ را هنگام انشعاب از گرههای والد (که توسط عنصر تانسور در node_ids_list خروجی داده میشود) به سمت چپ توسط آستانه مشخص برای هر ویژگی نشان میدهد. |
لیست< خروجی < TINT32 >> | nodeIdsList () فهرست خروجی از تانسورهای رتبه 1 که شناسههای گره تقسیم احتمالی را برای هر ویژگی نشان میدهد. |
لیست< خروجی < TFloat32 >> | rightNodeContribsList () فهرستی از تانسورهای رتبه 2، با شکل/شرایط مشابه left_node_contribs_list، اما فقط این مقدار برای گره سمت راست است. |
لیست< خروجی < TINT32 >> | thresholdsList () یک لیست خروجی از تانسورهای رتبه 1 که نشان دهنده شناسه سطل برای مقایسه با (به عنوان آستانه) برای تقسیم در هر گره است. |
روش های ارثی
ثابت ها
رشته نهایی ثابت عمومی OP_NAME
نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود
روش های عمومی
عمومی static BoostedTreesCalculateBestGainsPerFeature ایجاد ( محدوده دامنه، عملوند < TInt32 > nodeIdRange، تکرارپذیر< عملوند < TFloat32 >> statsSummaryList، عملوند < TFloat32 > درخت l1 ، عملوند < TFloatloat32 > TFloat32 > TFloat32 > at32 > minNodeWeight، Long maxSplits)
روش کارخانه برای ایجاد کلاسی که یک عملیات جدید BoostedTreesCalculateBestGainsPerFeature را بسته بندی می کند.
مولفه های
محدوده | محدوده فعلی |
---|---|
nodeIdRange | یک تانسور رتبه 1 (شکل=[2]) برای تعیین محدوده [اولین، آخرین) شناسههای گره برای پردازش در «stats_summary_list». گره ها بین دو گره مشخص شده توسط تانسور تکرار می شوند، مانند «برای node_id در محدوده (node_id_range[0]، node_id_range[1])» (توجه داشته باشید که آخرین فهرست node_id_range[1] انحصاری است). |
statsSummaryList | فهرستی از تانسور رتبه 3 (#shape=[max_splits, bucket, 2]) برای خلاصه آمار انباشته شده (gradient/hessian) در هر گره در هر سطل برای هر ویژگی. بعد اول تانسور حداکثر تعداد تقسیمات است و بنابراین از همه عناصر آن استفاده نمی شود، بلکه فقط از شاخص های مشخص شده توسط node_ids استفاده می شود. |
l1 | l1 ضریب تنظیم بر وزن برگ، در هر نمونه بر اساس. |
l2 | l2 ضریب تنظیم بر وزن برگ، در هر نمونه بر اساس. |
درخت پیچیدگی | تعدیل با بهره، بر اساس هر برگ. |
minNodeWeight | حداقل میانگین هسین ها در یک گره قبل از نیاز به گره برای تقسیم شدن در نظر گرفته شود. |
maxSplits | تعداد گره هایی که می توان در کل درخت تقسیم کرد. به عنوان بعد تانسورهای خروجی استفاده می شود. |
برمی گرداند
- یک نمونه جدید از BoostedTreesCalculateBestGainsPerFeature
فهرست عمومی < خروجی < TFloat32 >> gainsList ()
یک لیست خروجی از تانسورهای رتبه 1 که بهترین سود را برای هر ویژگی برای تقسیم برای گره های خاص نشان می دهد. برای جزئیاتی مانند شکل ها و اندازه ها به بالا مراجعه کنید.
لیست عمومی< خروجی < TFloat32 >> leftNodeContribsList ()
فهرستی از تانسورهای رتبه ۲ که سهم گرههای چپ را هنگام انشعاب از گرههای والد (که توسط عنصر تانسور در node_ids_list خروجی داده میشود) به سمت چپ توسط آستانه مشخص برای هر ویژگی نشان میدهد. این مقدار برای ایجاد مقدار گره چپ با افزودن به مقدار گره والد استفاده می شود. اندازه بعد دوم برای لجیت های یک بعدی 1 است، اما برای مسائل چند کلاسه بزرگتر است. برای جزئیاتی مانند شکل ها و اندازه ها به بالا مراجعه کنید.
فهرست عمومی < خروجی < TINT32 >> nodeIdsList ()
فهرست خروجی از تانسورهای رتبه 1 که شناسههای گره تقسیم احتمالی را برای هر ویژگی نشان میدهد. طول لیست num_features است، اما هر تانسور اندازه های متفاوتی دارد زیرا هر ویژگی گره های ممکن متفاوتی را ارائه می دهد. برای جزئیاتی مانند شکل ها و اندازه ها به بالا مراجعه کنید.
لیست عمومی< خروجی < TFloat32 >> rightNodeContribsList ()
فهرستی از تانسورهای رتبه 2، با شکل/شرایط مشابه left_node_contribs_list، اما فقط این مقدار برای گره سمت راست است.