Open20

決定木の学習アルゴリズムってどうなってるの?

ピン留めされたアイテム
yuji96yuji96

結論:決定境界の探索はゴリ押し。

二分探索するからオーダーは意外と低いのかな?全てのサンプルに対して勾配を計算するような手法よりは軽いのかな

yuji96yuji96

これはなんだ?→各ノードの予測値を設定
https://github.com/scikit-learn/scikit-learn/blob/4aeb191100f409c880d033683972ab9f47963fa4/sklearn/tree/_tree.pyx#L279

node_value は各ノードに入ってるサンプルのラベルっぽい。
https://github.com/scikit-learn/scikit-learn/blob/2cbf3345bce979b261f7007616cc3465f33a51d3/sklearn/tree/_criterion.pyx#L552
https://github.com/scikit-learn/scikit-learn/blob/2cbf3345bce979b261f7007616cc3465f33a51d3/sklearn/tree/_criterion.pyx#L330-L331

引数で node.value と node_id を足してるところが気持ち悪い

value_stride
https://github.com/scikit-learn/scikit-learn/blob/4aeb191100f409c880d033683972ab9f47963fa4/sklearn/tree/_tree.pyx#L797

node_value method の引数は、すべての node_value を格納するでかい配列における、とある node の value のインデックスなのかな?

yuji96yuji96
yuji96yuji96