سود هر ویژگی را محاسبه می کند و بهترین اطلاعات تقسیم ممکن را برای ویژگی برمی گرداند.
اطلاعات تقسیم بهترین آستانه (شناسه سطل)، سود و مشارکت گره چپ/راست در هر گره برای هر ویژگی است.
این امکان وجود دارد که نتوان همه گره ها را روی هر ویژگی تقسیم کرد. از این رو، لیست گره های ممکن می تواند بین ویژگی ها متفاوت باشد. بنابراین، "node_ids_list" را برای هر ویژگی، حاوی لیستی از گرههایی که این ویژگی میتواند برای تقسیم آنها استفاده شود، برمیگردانیم.
به این ترتیب، خروجی بهترین تقسیم برای هر ویژگی و هر گره است، به طوری که بعداً باید ترکیب شود تا بهترین تقسیم برای هر گره (در میان همه ویژگیهای ممکن) ایجاد شود.
اشکال خروجی به گونه ای سازگار هستند که بعد اول همه تانسورها یکسان و برابر با تعداد گره های تقسیم ممکن برای هر ویژگی است.
کلاس های تو در تو
کلاس | BoostedTreesCalculateBestFeatureSplit.Options | ویژگی های اختیاری برای BoostedTreesCalculateBestFeatureSplit |
ثابت ها
رشته | OP_NAME | نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود |
روش های عمومی
Static BoostedTreesCalculateBestFeatureSplit | ایجاد ( scope scope، Operand < TInt32 > nodeIdRange، Operand < TFloat32 > statsSummary، Operand < TFloat32 > l1، Operand < TFloat32 > l2، Operand < TFloat32 > TreeComplexity، Operand < TFloat32 > گزینه های min. روش کارخانه برای ایجاد کلاسی که یک عملیات جدید BoostedTreesCalculateBestFeatureSplit را بسته بندی می کند. |
خروجی < TINT32 > | ابعاد ویژگی () یک تانسور رتبه 1 که بهترین بعد ویژگی را برای هر ویژگی نشان می دهد تا برای گره های خاصی تقسیم شود اگر ویژگی چند بعدی باشد. |
خروجی < TFloat32 > | سود () یک تانسور رتبه 1 که بهترین سود را برای هر ویژگی برای تقسیم برای گره های خاص نشان می دهد. |
خروجی < TFloat32 > | leftNodeContribs () یک تانسور رتبه 2 که سهم گرههای چپ را هنگام انشعاب از گرههای والد (که توسط عنصر تانسور در node_ids_list خروجی داده میشود) به سمت چپ توسط آستانه دادهشده برای هر ویژگی نشان میدهد. |
خروجی < TINT32 > | nodeIds () یک تانسور رتبه 1 که شناسه گره های تقسیم احتمالی را برای هر ویژگی نشان می دهد. |
خروجی < TFloat32 > | rightNodeContribs () یک تانسور رتبه ۲، با شکل/شرایط یکسان با list_left_node_contribs_، اما این مقدار برای گره سمت راست است. |
Static BoostedTreesCalculateBestFeatureSplit.Options | splitType (رشته splitType) |
خروجی < TRString > | splitWithDefaultDirections () یک تانسور رتبه 1 که نشان می دهد در صورت از دست دادن داده، به کدام جهت بروید. |
خروجی < TINT32 > | آستانه () یک تانسور رتبه 1 که نشان دهنده شناسه سطل برای مقایسه با (به عنوان آستانه) برای تقسیم در هر گره است. |
روش های ارثی
ثابت ها
رشته نهایی ثابت عمومی OP_NAME
نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود
روش های عمومی
عمومی Static BoostedTreesCalculateBestFeatureSplit ایجاد ( محدوده دامنه ، عملوند < TINT32 > nodeIdRange، عملوند < TFloat32 > آمار خلاصه، عملوند < TFloat32 > l1، عملوند < TFloat32 > l2، عملوند 3 Node ، 12، عملیات 32، <TF2، عملوند 3 و 2 ight, LongitsDimension, Options.. . گزینه ها)
روش کارخانه برای ایجاد کلاسی که یک عملیات جدید BoostedTreesCalculateBestFeatureSplit را بسته بندی می کند.
مولفه های
محدوده | محدوده فعلی |
---|---|
nodeIdRange | یک تانسور رتبه 1 (شکل=[2]) برای تعیین محدوده [اولین، آخرین) شناسههای گره برای پردازش در «stats_summary_list». گره ها بین دو گره مشخص شده توسط تانسور تکرار می شوند، مانند «برای node_id در محدوده (node_id_range[0]، node_id_range[1])» (توجه داشته باشید که آخرین فهرست node_id_range[1] انحصاری است). |
آمار خلاصه | یک تانسور رتبه 4 (#shape=[max_splits, feature_dims, bucket, stats_dims]) برای خلاصه آمار انباشته شده (gradient/hessian) در هر گره، در هر بعد، در هر سطل برای هر ویژگی. بعد اول تانسور حداکثر تعداد تقسیمات است و بنابراین از همه عناصر آن استفاده نمی شود، بلکه فقط از شاخص های مشخص شده توسط node_ids استفاده می شود. |
l1 | l1 ضریب تنظیم بر وزن برگ، در هر نمونه بر اساس. |
l2 | l2 ضریب تنظیم بر وزن برگ، در هر نمونه بر اساس. |
درخت پیچیدگی | تعدیل با بهره، بر اساس هر برگ. |
minNodeWeight | حداقل میانگین هسین ها در یک گره قبل از نیاز به گره برای تقسیم شدن در نظر گرفته شود. |
logitsDimension | بعد لاجیت، یعنی تعداد کلاس ها. |
گزینه ها | مقادیر ویژگی های اختیاری را حمل می کند |
برمی گرداند
- یک نمونه جدید از BoostedTreesCalculateBestFeatureSplit
خروجی عمومی < TINT32 > ویژگیDimensions ()
یک تانسور رتبه 1 که بهترین بعد ویژگی را برای هر ویژگی نشان می دهد تا برای گره های خاصی تقسیم شود اگر ویژگی چند بعدی باشد. برای جزئیاتی مانند شکل ها و اندازه ها به بالا مراجعه کنید.
خروجی عمومی < TFloat32 > سود ()
یک تانسور رتبه 1 که بهترین سود را برای هر ویژگی برای تقسیم برای گره های خاص نشان می دهد. برای جزئیاتی مانند شکل ها و اندازه ها به بالا مراجعه کنید.
خروجی عمومی < TFloat32 > leftNodeContribs ()
یک تانسور رتبه 2 که سهم گرههای چپ را هنگام انشعاب از گرههای والد (که توسط عنصر تانسور در node_ids_list خروجی داده میشود) به سمت چپ توسط آستانه دادهشده برای هر ویژگی نشان میدهد. این مقدار برای ایجاد مقدار گره چپ با افزودن به مقدار گره والد استفاده می شود. اندازه بعد دوم برای لجیت های یک بعدی 1 است، اما برای مسائل چند کلاسه بزرگتر است. برای جزئیاتی مانند شکل ها و اندازه ها به بالا مراجعه کنید.
خروجی عمومی < TINT32 > nodeIds ()
یک تانسور رتبه 1 که شناسه گره های تقسیم احتمالی را برای هر ویژگی نشان می دهد. طول لیست num_features است، اما هر تانسور اندازه های متفاوتی دارد زیرا هر ویژگی گره های ممکن متفاوتی را ارائه می دهد. برای جزئیاتی مانند شکل ها و اندازه ها به بالا مراجعه کنید.
خروجی عمومی < TFloat32 > rightNodeContribs ()
یک تانسور رتبه ۲، با شکل/شرایط یکسان با list_left_node_contribs_، اما این مقدار برای گره سمت راست است.
عمومی Static BoostedTreesCalculateBestFeatureSplit.Options splitType (String splitType)
مولفه های
splitType | رشته ای که نشان می دهد این عملیات باید تقسیم نابرابری یا تقسیم برابری را انجام دهد. |
---|
خروجی عمومی < TString > splitWithDefaultDirections ()
یک تانسور رتبه 1 که نشان می دهد در صورت از دست دادن داده، به کدام جهت بروید. برای جزئیاتی مانند شکل ها و اندازه ها به بالا مراجعه کنید. نابرابری با چپ پیشفرض 0، نابرابری با راست پیشفرض 1، برابری با راست پیشفرض 2 را برمیگرداند.