BoostedTreesCalculateBestGainsPerFeature

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

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

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

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

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

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

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

BoostedTrees แบบคงที่คำนวณ BestGainsPerFeature
สร้าง (ขอบเขต ขอบเขต ตัวดำเนินการ <Float> nodeIdRange, Iterable< ตัวดำเนินการ <Float>> statsSummaryList, ตัวดำเนิน การ <Float> l1, ตัวดำเนินการ <Float> l2, ตัวดำเนินการ <Float> treeComplexity, ตัวดำเนินการ <Float> minNodeWeight, Long maxSplits)
วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ BoostedTreesCalculateBestGainsPerFeature ใหม่
รายการ < เอาต์พุต <ลอย>>
รายการกำไร ()
รายการเอาท์พุตของเทนเซอร์อันดับ 1 ที่บ่งชี้ถึงผลกำไรที่ดีที่สุดสำหรับแต่ละฟีเจอร์ที่จะแยกสำหรับโหนดบางโหนด
รายการ < เอาต์พุต <ลอย>>
leftNodeContribsList ()
รายการเทนเซอร์อันดับ 2 ที่ระบุการมีส่วนร่วมของโหนดด้านซ้ายเมื่อแยกจากโหนดหลัก (กำหนดโดยองค์ประกอบเทนเซอร์ในเอาต์พุต node_ids_list) ไปยังทิศทางซ้ายตามเกณฑ์ที่กำหนดสำหรับแต่ละคุณลักษณะ
รายการ < เอาท์พุต <จำนวนเต็ม>>
nodeIdsList ()
รายการเอาต์พุตของเทนเซอร์อันดับ 1 ที่ระบุรหัสโหนดแยกที่เป็นไปได้สำหรับแต่ละคุณลักษณะ
รายการ < เอาต์พุต <ลอย>>
rightNodeContribsList ()
รายการเทนเซอร์อันดับ 2 ที่มีรูปร่าง/เงื่อนไขเหมือนกับ left_node_contribs_list แต่ค่านั้นมีไว้สำหรับโหนดที่ถูกต้อง
รายการ < เอาท์พุต <จำนวนเต็ม>>
รายการเกณฑ์ ()
รายการเอาต์พุตของเทนเซอร์อันดับ 1 ที่ระบุรหัสบัคเก็ตที่จะเปรียบเทียบกับ (เป็นเกณฑ์) สำหรับการแยกในแต่ละโหนด

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

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

BoostedTreesCalculateBestGainsPerFeature สาธารณะ สร้าง (ขอบเขต ขอบเขต ตัวดำเนิน การ <Integer> nodeIdRange, Iterable < ตัวดำเนินการ <Float>> statsSummaryList, ตัว ดำเนินการ <Float> l1, ตัวดำเนินการ <Float> l2, ตัวดำเนินการ <Float> treeComplexity, ตัวดำเนินการ <Float> minNodeWeight, MaxSplits ยาว)

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

พารามิเตอร์
ขอบเขต ขอบเขตปัจจุบัน
nodeIdRange เทนเซอร์อันดับ 1 (รูปร่าง=[2]) เพื่อระบุช่วง [แรก, สุดท้าย) ของรหัสโหนดที่จะประมวลผลภายใน `stats_summary_list` โหนดจะถูกวนซ้ำระหว่างสองโหนดที่ระบุโดยเทนเซอร์ เช่นเดียวกับ `สำหรับ node_id ในช่วง (node_id_range[0], node_id_range[1])` (โปรดทราบว่าดัชนีสุดท้าย node_id_range[1] เป็นดัชนีเฉพาะ)
รายการสรุปสถิติ รายการเทนเซอร์อันดับ 3 (#shape=[max_splits, bucket, 2]) สำหรับการสรุปสถิติสะสม (การไล่ระดับสี/เฮสเซียน) ต่อโหนดต่อที่เก็บข้อมูลสำหรับแต่ละฟีเจอร์ มิติแรกของเมตริกซ์คือจำนวนการแยกสูงสุด ดังนั้นจึงไม่ได้ใช้องค์ประกอบทั้งหมดของเมตริกซ์ แต่จะมีการใช้เฉพาะดัชนีที่ระบุโดย node_ids เท่านั้น
l1 ปัจจัยการทำให้เป็นมาตรฐาน l1 ต่อน้ำหนักใบไม้ ตามอินสแตนซ์
l2 ปัจจัยการทำให้เป็นมาตรฐาน l2 ต่อน้ำหนักใบ ตามอินสแตนซ์
ต้นไม้ความซับซ้อน การปรับอัตราขยายต่อใบ
minNodeWeight ค่าเฉลี่ยขั้นต่ำของ hessians ในโหนดก่อนที่จะจำเป็นสำหรับโหนดที่จะพิจารณาการแยก
แม็กซ์สปลิท จำนวนโหนดที่สามารถแบ่งได้ทั่วทั้งแผนผัง ใช้เป็นมิติของเทนเซอร์เอาท์พุต
การส่งคืน
  • อินสแตนซ์ใหม่ของ BoostedTreesCalculateBestGainsPerFeature

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

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

รายการสาธารณะ < เอาท์พุต <ลอย>> leftNodeContribsList ()

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

รายการสาธารณะ < เอาท์พุต <จำนวนเต็ม>> nodeIdsList ()

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

รายการสาธารณะ < เอาท์พุต <ลอย>> rightNodeContribsList ()

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

รายการสาธารณะ < เอาท์พุต <จำนวนเต็ม>> เกณฑ์รายการ ()

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