BoostedTreesCalculateBestFeatureSplitV2

คลาสสุดท้ายสาธารณะ BoostedTreesCalculateBestFeatureSplitV2

คำนวณกำไรสำหรับแต่ละคุณสมบัติและส่งกลับข้อมูลการแยกที่ดีที่สุดที่เป็นไปได้สำหรับแต่ละโหนด อย่างไรก็ตาม หากไม่พบการแยก ก็จะไม่มีการส่งคืนข้อมูลการแยกสำหรับโหนดนั้น

ข้อมูลการแยกเป็นเกณฑ์ที่ดีที่สุด (รหัสที่เก็บข้อมูล) กำไรที่เพิ่มขึ้น และการสนับสนุนโหนดซ้าย/ขวาต่อโหนดสำหรับแต่ละคุณลักษณะ

อาจเป็นไปได้ว่าแต่ละฟีเจอร์ไม่สามารถแยกโหนดทั้งหมดได้ ดังนั้นรายการโหนดที่เป็นไปได้อาจแตกต่างกันระหว่างฟีเจอร์ต่างๆ ดังนั้นเราจึงส่งคืน `node_ids_list` สำหรับแต่ละฟีเจอร์ โดยมีรายการโหนดที่ฟีเจอร์นี้สามารถใช้เพื่อแยกได้

ในลักษณะนี้ เอาต์พุตคือการแยกที่ดีที่สุดต่อคุณลักษณะและต่อโหนด ดังนั้นจึงจำเป็นต้องรวมเข้าด้วยกันในภายหลังเพื่อสร้างการแยกที่ดีที่สุดสำหรับแต่ละโหนด (ในบรรดาคุณลักษณะที่เป็นไปได้ทั้งหมด)

รูปร่างเอาต์พุตเข้ากันได้ในลักษณะที่มิติแรกของเทนเซอร์ทั้งหมดเท่ากันและเท่ากับจำนวนโหนดแยกที่เป็นไปได้สำหรับแต่ละคุณลักษณะ

ค่าคงที่

สตริง OP_NAME ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow

วิธีการสาธารณะ

BoostedTrees แบบคงที่คำนวณ BestFeatureSplitV2
สร้าง (ขอบเขต ขอบเขต ตัวดำเนินการ < TInt32 > nodeIdRange, Iterable< ตัวดำเนินการ < TFloat32 >> statsSummariesList, ตัวดำเนินการ < TString > splitTypes, ตัว ดำเนินการ < TInt32 > CandidateFeatureIds, ตัวดำเนิน การ < TFloat32 > l1, ตัวดำเนินการ < TFloat32 > l2, ตัวดำเนินการ < TFloat32 > treeComplexity, ตัวถูกดำเนินการ < TFloat32 > minNodeWeight, LogitsDimension แบบยาว)
วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ BoostedTreesCalculateBestFeatureSplitV2 ใหม่
เอาท์พุต < TInt32 >
คุณลักษณะขนาด ()
เทนเซอร์อันดับ 1 ระบุมิติคุณลักษณะที่ดีที่สุดสำหรับแต่ละคุณลักษณะที่จะแยกสำหรับโหนดบางโหนดหากคุณลักษณะนั้นมีหลายมิติ
เอาท์พุต < TInt32 >
รหัสคุณลักษณะ ()
เทนเซอร์อันดับ 1 ระบุรหัสคุณลักษณะที่ดีที่สุดสำหรับแต่ละโหนด
เอาท์พุต < TFloat32 >
กำไร ()
เทนเซอร์อันดับ 1 ระบุผลกำไรที่ดีที่สุดสำหรับแต่ละฟีเจอร์ที่จะแยกสำหรับโหนดบางโหนด
เอาท์พุต < TFloat32 >
leftNodeContribs ()
เทนเซอร์อันดับ 2 ระบุการมีส่วนร่วมของโหนดด้านซ้ายเมื่อแยกจากโหนดหลัก (กำหนดโดยองค์ประกอบเทนเซอร์ในเอาต์พุต node_ids_list) ไปยังทิศทางซ้ายตามเกณฑ์ที่กำหนดสำหรับแต่ละคุณลักษณะ
เอาท์พุต < TInt32 >
รหัสโหนด ()
เทนเซอร์อันดับ 1 ระบุรหัสโหนดแยกที่เป็นไปได้สำหรับแต่ละคุณลักษณะ
เอาท์พุต < TFloat32 >
rightNodeContribs ()
เทนเซอร์อันดับ 2 ที่มีรูปร่าง/เงื่อนไขเหมือนกับ left_node_contribs_list แต่เพียงว่าค่านั้นมีไว้สำหรับโหนดที่ถูกต้อง
เอาท์พุต < TString >
splitWithDefaultDirections ()
เทนเซอร์อันดับ 1 ระบุทิศทางที่จะไปหากข้อมูลหายไป
เอาท์พุต < TInt32 >
เกณฑ์ ()
เทนเซอร์อันดับ 1 ระบุรหัสบัคเก็ตที่จะเปรียบเทียบกับ (เป็นเกณฑ์) สำหรับการแยกในแต่ละโหนด

วิธีการสืบทอด

ค่าคงที่

สตริงสุดท้ายแบบคงที่สาธารณะ OP_NAME

ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow

ค่าคงที่: "BoostedTreesCalculateBestFeatureSplitV2"

วิธีการสาธารณะ

BoostedTreesCalculateBestFeatureSplitV2 แบบคงที่สาธารณะ สร้าง (ขอบเขต ขอบเขต ตัวดำเนิน การ < TInt32 > nodeIdRange, Iterable < ตัวดำเนินการ < TFloat32 >> statsSummariesList, ตัวดำเนิน การ < TString > splitTypes, ตัวดำเนินการ < TInt32 > CandidateFeatureIds, ตัว ดำเนิน การ < TFloat32 > l1, ตัวดำเนิน การ < TFloat32 > l2, ตัวดำเนินการ < TFlo ที่32 > treeComplexity, ตัวถูกดำเนินการ < TFloat32 > minNodeWeight, Long logitsDimension)

วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ BoostedTreesCalculateBestFeatureSplitV2 ใหม่

พารามิเตอร์
ขอบเขต ขอบเขตปัจจุบัน
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]) สำหรับการสรุปสถิติสะสม (การไล่ระดับสี/เฮสเซียน) ต่อโหนด ต่อมิติ ต่อที่เก็บข้อมูลสำหรับแต่ละคุณลักษณะ มิติแรกของเมตริกซ์คือจำนวนการแยกสูงสุด ดังนั้นจึงไม่ได้ใช้องค์ประกอบทั้งหมดของเมตริกซ์ แต่จะมีการใช้เฉพาะดัชนีที่ระบุโดย node_ids เท่านั้น
แยกประเภท เทนเซอร์อันดับ 1 ระบุว่า Op นี้ควรทำการแยกความไม่เท่าเทียมกันหรือการแยกความเท่าเทียมกันต่อฟีเจอร์
รหัสคุณสมบัติผู้สมัคร เทนเซอร์อันดับ 1 พร้อมรหัสสำหรับแต่ละฟีเจอร์ นี่คือรหัสที่แท้จริงของฟีเจอร์นี้
l1 ปัจจัยการทำให้เป็นมาตรฐาน l1 ต่อน้ำหนักใบไม้ ตามตัวอย่าง
l2 ปัจจัยการทำให้เป็นมาตรฐาน l2 ต่อน้ำหนักใบ ตามตัวอย่าง
ต้นไม้ความซับซ้อน การปรับอัตราขยายต่อใบ
minNodeWeight ค่าเฉลี่ยขั้นต่ำของ hessians ในโหนดก่อนที่จะจำเป็นสำหรับโหนดที่จะพิจารณาการแยก
บันทึกมิติข้อมูล มิติของ logit เช่น จำนวนคลาส
การส่งคืน
  • อินสแตนซ์ใหม่ของ BoostedTreesCalculateBestFeatureSplitV2

เอาท์พุท สาธารณะ <TInt32> FeatureDimensions ()

เทนเซอร์อันดับ 1 ระบุมิติคุณลักษณะที่ดีที่สุดสำหรับแต่ละคุณลักษณะที่จะแยกสำหรับโหนดบางโหนดหากคุณลักษณะนั้นมีหลายมิติ ดูรายละเอียดด้านบน เช่น รูปร่างและขนาด

เอาท์พุท สาธารณะ <TInt32> FeatureIds ()

เทนเซอร์อันดับ 1 ระบุรหัสคุณลักษณะที่ดีที่สุดสำหรับแต่ละโหนด ดูรายละเอียดด้านบน เช่น รูปร่างและขนาด

เอาท์พุท สาธารณะ < TFloat32 > กำไร ()

เทนเซอร์อันดับ 1 ระบุผลกำไรที่ดีที่สุดสำหรับแต่ละฟีเจอร์ที่จะแยกสำหรับโหนดบางโหนด ดูรายละเอียดด้านบน เช่น รูปร่างและขนาด

เอาท์พุท สาธารณะ < TFloat32 > leftNodeContribs ()

เทนเซอร์อันดับ 2 ระบุการมีส่วนร่วมของโหนดด้านซ้ายเมื่อแยกจากโหนดหลัก (กำหนดโดยองค์ประกอบเทนเซอร์ในเอาต์พุต node_ids_list) ไปยังทิศทางซ้ายตามเกณฑ์ที่กำหนดสำหรับแต่ละคุณลักษณะ ค่านี้จะถูกใช้เพื่อสร้างค่าโหนดด้านซ้ายโดยการเพิ่มค่าโหนดหลัก ขนาดมิติที่สองคือ 1 สำหรับการบันทึก 1 มิติ แต่จะใหญ่กว่าสำหรับปัญหาแบบหลายคลาส ดูรายละเอียดด้านบน เช่น รูปร่างและขนาด

เอาท์ พุท สาธารณะ <TInt32> nodeIds ()

เทนเซอร์อันดับ 1 ระบุรหัสโหนดแยกที่เป็นไปได้สำหรับแต่ละคุณลักษณะ ความยาวของรายการคือ num_features แต่เทนเซอร์แต่ละตัวมีขนาดแตกต่างกัน เนื่องจากแต่ละฟีเจอร์มีโหนดที่เป็นไปได้ที่แตกต่างกัน ดูรายละเอียดด้านบน เช่น รูปร่างและขนาด

เอาท์พุท สาธารณะ < TFloat32 > rightNodeContribs ()

เทนเซอร์อันดับ 2 ที่มีรูปร่าง/เงื่อนไขเหมือนกับ left_node_contribs_list แต่เพียงว่าค่านั้นมีไว้สำหรับโหนดที่ถูกต้อง

เอาท์พุท สาธารณะ < TString > splitWithDefaultDirections ()

เทนเซอร์อันดับ 1 ระบุทิศทางที่จะไปหากข้อมูลหายไป ดูรายละเอียดด้านบน เช่น รูปร่างและขนาด อสมการทางซ้ายที่เป็นค่าเริ่มต้นจะส่งกลับ 0 อสมการทางขวาที่เป็นค่าเริ่มต้นจะส่งกลับ 1 ความเท่าเทียมทางขวาที่เป็นค่าเริ่มต้นจะส่งกลับ 2

เอาท์พุท สาธารณะ <TInt32> เกณฑ์ ()

เทนเซอร์อันดับ 1 ระบุรหัสบัคเก็ตที่จะเปรียบเทียบกับ (เป็นเกณฑ์) สำหรับการแยกในแต่ละโหนด ดูรายละเอียดด้านบน เช่น รูปร่างและขนาด