คำนวณกำไรสำหรับแต่ละคุณลักษณะและส่งคืนข้อมูลการแยกที่ดีที่สุดสำหรับคุณลักษณะ
ข้อมูลที่แยกเป็นส่วนที่ดีที่สุด (bucket id) กำไร และการสนับสนุนโหนดซ้าย/ขวาต่อโหนดสำหรับแต่ละคุณลักษณะ
เป็นไปได้ว่าไม่สามารถแยกโหนดทั้งหมดในแต่ละคุณลักษณะได้ ดังนั้น รายการของโหนดที่เป็นไปได้อาจแตกต่างกันไปตามคุณลักษณะต่างๆ ดังนั้นเราจึงส่งคืน `node_ids_list` สำหรับแต่ละคุณลักษณะ ซึ่งประกอบด้วยรายการของโหนดที่คุณลักษณะนี้สามารถใช้เพื่อแยกได้
ในลักษณะนี้ เอาต์พุตจะเป็นการแยกที่ดีที่สุดต่อคุณลักษณะและต่อโหนด ดังนั้นจึงจำเป็นต้องรวมกันในภายหลังเพื่อสร้างการแยกที่ดีที่สุดสำหรับแต่ละโหนด (ในคุณลักษณะที่เป็นไปได้ทั้งหมด)
รูปร่างเอาต์พุตเข้ากันได้ในลักษณะที่มิติแรกของเทนเซอร์ทั้งหมดเท่ากันและเท่ากับจำนวนโหนดแยกที่เป็นไปได้สำหรับแต่ละคุณลักษณะ
คลาสที่ซ้อนกัน
ระดับ | BoostedTreesSparseCalculateBestFeatureSplit.Options | คุณลักษณะที่จำเป็นสำหรับการ BoostedTreesSparseCalculateBestFeatureSplit |
วิธีการสาธารณะ
คง BoostedTreesSparseCalculateBestFeatureSplit | สร้าง ( ขอบเขต ขอบเขต Operand <Integer> nodeIdRange, Operand <Integer> statsSummaryIndices, Operand <ลอย> statsSummaryValues, Operand <Integer> statsSummaryShape, Operand <ลอย> L1, Operand <ลอย> L2, Operand <ลอย> treeComplexity, Operand <ลอย > minNodeWeight ยาว logitsDimension, ตัวเลือก ... ตัวเลือก) วิธีการจากโรงงานเพื่อสร้างคลาสที่ปิดการดำเนินการ BoostedTreesSparseCalculateBestFeatureSplit ใหม่ |
เอาท์พุท <Integer> | featureDimensions () เทนเซอร์อันดับ 1 ระบุมิติฟีเจอร์ที่ดีที่สุดสำหรับแต่ละฟีเจอร์ที่จะแยกสำหรับแต่ละโหนด |
เอาท์พุท <ลอย> | กำไร () เทนเซอร์อันดับ 1 บ่งบอกถึงการได้รับที่ดีที่สุดในการแยกแต่ละโหนด |
เอาท์พุท <ลอย> | leftNodeContribs () เทนเซอร์อันดับ 2 ระบุการมีส่วนร่วมของโหนดด้านซ้ายเมื่อแยกจากโหนดหลักไปทางซ้ายตามเกณฑ์ที่กำหนดสำหรับแต่ละคุณลักษณะ |
เอาท์พุท <Integer> | nodeIds () เทนเซอร์อันดับ 1 ระบุรหัสโหนดที่เป็นไปได้ที่สามารถแยกออกได้ |
เอาท์พุท <ลอย> | rightNodeContribs () เทนเซอร์อันดับ 2 ที่มีรูปร่าง/เงื่อนไขเหมือนกับ left_node_contribs_list แต่ค่านั้นสำหรับโหนดที่ถูกต้องเท่านั้น |
คง BoostedTreesSparseCalculateBestFeatureSplit.Options | splitType (String splitType) |
เอาท์พุท <String> | splitWithDefaultDirections () เทนเซอร์อันดับ 1 ระบุทิศทางที่จะไปหากข้อมูลหายไป |
เอาท์พุท <Integer> | เกณฑ์ () เทนเซอร์อันดับ 1 ที่ระบุ id ที่ฝากข้อมูลเพื่อเปรียบเทียบกับ (เป็นเกณฑ์) สำหรับการแยกในแต่ละโหนด |
วิธีการสืบทอด
วิธีการสาธารณะ
สาธารณะคง BoostedTreesSparseCalculateBestFeatureSplit สร้าง ( ขอบเขต ขอบเขต Operand <Integer> nodeIdRange, Operand <Integer> statsSummaryIndices, Operand <ลอย> statsSummaryValues, Operand <Integer> statsSummaryShape, Operand <ลอย> L1, Operand <ลอย> L2, Operand <ลอย> treeComplexity, ถูกดำเนินการ <ลอย> minNodeWeight ยาว logitsDimension, ตัวเลือก ... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่ปิดการดำเนินการ BoostedTreesSparseCalculateBestFeatureSplit ใหม่
พารามิเตอร์
ขอบเขต | ขอบเขตปัจจุบัน |
---|---|
nodeIdRange | เทนเซอร์อันดับ 1 (รูปร่าง=[2]) เพื่อระบุช่วง [แรก, สุดท้าย) ของรหัสโหนดที่จะประมวลผลภายใน `stats_summary_list` โหนดมีการวนซ้ำระหว่างสองโหนดที่ระบุโดยเทนเซอร์ เช่นเดียวกับ `สำหรับ node_id ในช่วง (node_id_range[0], node_id_range[1])` (โปรดทราบว่าดัชนีสุดท้าย node_id_range[1] เป็นแบบเอกสิทธิ์เฉพาะบุคคล) |
สถิติสรุปดัชนี | เทนเซอร์อันดับ 2 int64 ที่มีรูปร่างหนาแน่น [N, 4] (N ระบุจำนวนค่าที่ไม่ใช่ศูนย์) สำหรับการสรุปสถิติสะสม (การไล่ระดับสี/เฮสเซียน) ต่อโหนดต่อที่ฝากข้อมูลสำหรับแต่ละฟีเจอร์ มิติข้อมูลที่สองประกอบด้วย id โหนด มิติข้อมูลคุณลักษณะ รหัสที่เก็บข้อมูล และหรี่สถิติ stats dim คือผลรวมของมิติ logits และขนาด hessian, ขนาด hessian สามารถเป็นมิติ logits ได้หากใช้ hessian แนวทแยงหรือ logits ขนาด ^ 2 ถ้าใช้ hessian แบบเต็ม |
สถิติสรุปค่า | เทนเซอร์ลอยตัวอันดับ 1 ที่มีรูปร่างหนาแน่น [N] (N ระบุจำนวนค่าที่ไม่ใช่ศูนย์) ซึ่งให้ค่าสำหรับแต่ละองค์ประกอบในสรุป_ดัชนี |
สถิติสรุปรูปร่าง | เทนเซอร์ลอยตัวอันดับ 1 ที่มีรูปร่างหนาแน่น [4] ซึ่งระบุรูปร่างที่หนาแน่นของเทนเซอร์แบบเบาบาง ซึ่งก็คือ [โหนดทรี num, ขนาดคุณลักษณะ, num buckets, stats dim] |
l1 | l1 ปัจจัยการทำให้เป็นมาตรฐานของน้ำหนักลีฟ ต่ออินสแตนซ์ตาม |
l2 | ปัจจัยการทำให้เป็นมาตรฐาน l2 กับน้ำหนักลีฟ ต่ออินสแตนซ์ตาม |
ความซับซ้อนของต้นไม้ | การปรับเพื่อให้ได้กำไรต่อใบตาม |
minNodeWeight | ค่าเฉลี่ยขั้นต่ำของ hessians ในโหนดก่อนกำหนดให้โหนดได้รับการพิจารณาสำหรับการแยก |
logitsDimension | ขนาดของ logit คือ จำนวนคลาส |
ตัวเลือก | ดำเนินการค่าแอตทริบิวต์ทางเลือก |
คืนสินค้า
- อินสแตนซ์ใหม่ของ BoostedTreesSparseCalculateBestFeatureSplit
ประชาชน เอาท์พุท <Integer> featureDimensions ()
เทนเซอร์อันดับ 1 ระบุมิติฟีเจอร์ที่ดีที่สุดสำหรับแต่ละฟีเจอร์ที่จะแยกสำหรับแต่ละโหนด
ประชาชน เอาท์พุท <ลอย> leftNodeContribs ()
เทนเซอร์อันดับ 2 ระบุการมีส่วนร่วมของโหนดด้านซ้ายเมื่อแยกจากโหนดหลักไปทางซ้ายตามเกณฑ์ที่กำหนดสำหรับแต่ละคุณลักษณะ ค่านี้จะใช้เพื่อสร้างค่าโหนดด้านซ้ายโดยการเพิ่มค่าโหนดหลัก ขนาดมิติที่สองคือมิติบันทึก
ประชาชน เอาท์พุท <ลอย> rightNodeContribs ()
เทนเซอร์อันดับ 2 ที่มีรูปร่าง/เงื่อนไขเหมือนกับ left_node_contribs_list แต่ค่านั้นสำหรับโหนดที่ถูกต้องเท่านั้น
สาธารณะคง BoostedTreesSparseCalculateBestFeatureSplit.Options splitType (String splitType)
พารามิเตอร์
splitType | สตริงที่ระบุว่า Op นี้ควรทำการแยกอสมการหรือการแยกความเท่าเทียมกัน |
---|
ประชาชน เอาท์พุท <String> splitWithDefaultDirections ()
เทนเซอร์อันดับ 1 ระบุทิศทางที่จะไปหากข้อมูลหายไป ค่าความไม่เท่าเทียมกันกับค่าดีฟอลต์ทางซ้ายคืนค่า 0, ค่าความไม่เท่าเทียมกันกับค่าดีฟอลต์ทางขวาจะคืนค่า 1, ความเท่าเทียมกันกับค่าดีฟอลต์ทางขวาจะคืนค่า 2
ประชาชน เอาท์พุท <Integer> เกณฑ์ ()
เทนเซอร์อันดับ 1 ที่ระบุ id ที่ฝากข้อมูลเพื่อเปรียบเทียบกับ (เป็นเกณฑ์) สำหรับการแยกในแต่ละโหนด