<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.14">
  <compounddef id="tree_8h" kind="file" language="C++">
    <compoundname>tree.h</compoundname>
    <includes refid="global_8h" local="yes">./global.h</includes>
    <includes local="yes">./util/serialization/basics.h</includes>
    <includes local="no">atomic</includes>
    <includes local="no">fstream</includes>
    <includes local="no">future</includes>
    <includes local="no">mapbox/variant_cast.hpp</includes>
    <includes local="no">memory</includes>
    <includes local="no">string</includes>
    <includes local="no">tuple</includes>
    <includes local="no">utility</includes>
    <includes local="no">vector</includes>
    <includes refid="fastdprov_8h" local="yes">./data_providers/fastdprov.h</includes>
    <includes refid="idataprovider_8h" local="yes">./data_providers/idataprovider.h</includes>
    <includes refid="idecider_8h" local="yes">./deciders/idecider.h</includes>
    <includes refid="ileaf_8h" local="yes">./leafs/ileaf.h</includes>
    <includes refid="types_8h" local="yes">./types.h</includes>
    <includes refid="desk_8h" local="yes">./util/desk.h</includes>
    <includedby refid="forest_8h" local="yes">/Users/classner/git/forpy/include/forpy/forest.h</includedby>
    <includedby refid="forpy_8h" local="yes">/Users/classner/git/forpy/include/forpy/forpy.h</includedby>
    <incdepgraph>
      <node id="1112">
        <label>atomic</label>
      </node>
      <node id="1121">
        <label>functional</label>
      </node>
      <node id="1105">
        <label>iomanip</label>
      </node>
      <node id="1130">
        <label>../util/checks.h</label>
        <link refid="checks_8h"/>
        <childnode refid="1131" relation="include">
        </childnode>
        <childnode refid="1121" relation="include">
        </childnode>
        <childnode refid="1132" relation="include">
        </childnode>
        <childnode refid="1133" relation="include">
        </childnode>
        <childnode refid="1119" relation="include">
        </childnode>
        <childnode refid="1103" relation="include">
        </childnode>
      </node>
      <node id="1132">
        <label>limits</label>
      </node>
      <node id="1137">
        <label>../threshold_optimizers/ithreshopt.h</label>
        <link refid="ithreshopt_8h"/>
        <childnode refid="1103" relation="include">
        </childnode>
        <childnode refid="1135" relation="include">
        </childnode>
        <childnode refid="1134" relation="include">
        </childnode>
        <childnode refid="1122" relation="include">
        </childnode>
        <childnode refid="1138" relation="include">
        </childnode>
      </node>
      <node id="1115">
        <label>mapbox/variant_cast.hpp</label>
      </node>
      <node id="1104">
        <label>glog/logging.h</label>
      </node>
      <node id="1120">
        <label>./data_providers/fastdprov.h</label>
        <link refid="fastdprov_8h"/>
        <childnode refid="1121" relation="include">
        </childnode>
        <childnode refid="1119" relation="include">
        </childnode>
        <childnode refid="1103" relation="include">
        </childnode>
        <childnode refid="1122" relation="include">
        </childnode>
        <childnode refid="1130" relation="include">
        </childnode>
        <childnode refid="1134" relation="include">
        </childnode>
      </node>
      <node id="1136">
        <label>./deciders/idecider.h</label>
        <link refid="idecider_8h"/>
        <childnode refid="1103" relation="include">
        </childnode>
        <childnode refid="1135" relation="include">
        </childnode>
        <childnode refid="1132" relation="include">
        </childnode>
        <childnode refid="1118" relation="include">
        </childnode>
        <childnode refid="1119" relation="include">
        </childnode>
        <childnode refid="1134" relation="include">
        </childnode>
        <childnode refid="1137" relation="include">
        </childnode>
        <childnode refid="1122" relation="include">
        </childnode>
        <childnode refid="1138" relation="include">
        </childnode>
      </node>
      <node id="1125">
        <label>numeric</label>
      </node>
      <node id="1109">
        <label>string</label>
      </node>
      <node id="1108">
        <label>./version.h</label>
        <link refid="version_8h"/>
      </node>
      <node id="1124">
        <label>map</label>
      </node>
      <node id="1138">
        <label>../util/desk.h</label>
        <link refid="desk_8h"/>
        <childnode refid="1103" relation="include">
        </childnode>
        <childnode refid="1122" relation="include">
        </childnode>
      </node>
      <node id="1102">
        <label>/Users/classner/git/forpy/include/forpy/tree.h</label>
        <link refid="tree_8h"/>
        <childnode refid="1103" relation="include">
        </childnode>
        <childnode refid="1111" relation="include">
        </childnode>
        <childnode refid="1112" relation="include">
        </childnode>
        <childnode refid="1113" relation="include">
        </childnode>
        <childnode refid="1114" relation="include">
        </childnode>
        <childnode refid="1115" relation="include">
        </childnode>
        <childnode refid="1116" relation="include">
        </childnode>
        <childnode refid="1109" relation="include">
        </childnode>
        <childnode refid="1117" relation="include">
        </childnode>
        <childnode refid="1118" relation="include">
        </childnode>
        <childnode refid="1119" relation="include">
        </childnode>
        <childnode refid="1120" relation="include">
        </childnode>
        <childnode refid="1134" relation="include">
        </childnode>
        <childnode refid="1136" relation="include">
        </childnode>
        <childnode refid="1139" relation="include">
        </childnode>
        <childnode refid="1122" relation="include">
        </childnode>
        <childnode refid="1138" relation="include">
        </childnode>
      </node>
      <node id="1113">
        <label>fstream</label>
      </node>
      <node id="1126">
        <label>./util/hash.h</label>
        <link refid="hash_8h"/>
        <childnode refid="1127" relation="include">
        </childnode>
        <childnode refid="1119" relation="include">
        </childnode>
      </node>
      <node id="1123">
        <label>Eigen/Dense</label>
      </node>
      <node id="1117">
        <label>tuple</label>
      </node>
      <node id="1114">
        <label>future</label>
      </node>
      <node id="1134">
        <label>./idataprovider.h</label>
        <link refid="idataprovider_8h"/>
        <childnode refid="1103" relation="include">
        </childnode>
        <childnode refid="1135" relation="include">
        </childnode>
        <childnode refid="1121" relation="include">
        </childnode>
        <childnode refid="1119" relation="include">
        </childnode>
        <childnode refid="1122" relation="include">
        </childnode>
        <childnode refid="1128" relation="include">
        </childnode>
      </node>
      <node id="1128">
        <label>./util/storage.h</label>
        <link refid="storage_8h"/>
        <childnode refid="1115" relation="include">
        </childnode>
        <childnode refid="1129" relation="include">
        </childnode>
      </node>
      <node id="1119">
        <label>vector</label>
      </node>
      <node id="1118">
        <label>utility</label>
      </node>
      <node id="1135">
        <label>../util/serialization/basics.h</label>
      </node>
      <node id="1106">
        <label>iostream</label>
      </node>
      <node id="1103">
        <label>./global.h</label>
        <link refid="global_8h"/>
        <childnode refid="1104" relation="include">
        </childnode>
        <childnode refid="1105" relation="include">
        </childnode>
        <childnode refid="1106" relation="include">
        </childnode>
        <childnode refid="1107" relation="include">
        </childnode>
        <childnode refid="1108" relation="include">
        </childnode>
        <childnode refid="1109" relation="include">
        </childnode>
        <childnode refid="1110" relation="include">
        </childnode>
      </node>
      <node id="1127">
        <label>cstddef</label>
      </node>
      <node id="1139">
        <label>./leafs/ileaf.h</label>
        <link refid="ileaf_8h"/>
        <childnode refid="1103" relation="include">
        </childnode>
        <childnode refid="1135" relation="include">
        </childnode>
        <childnode refid="1119" relation="include">
        </childnode>
        <childnode refid="1134" relation="include">
        </childnode>
        <childnode refid="1137" relation="include">
        </childnode>
        <childnode refid="1122" relation="include">
        </childnode>
      </node>
      <node id="1110">
        <label>csignal</label>
      </node>
      <node id="1107">
        <label>thread</label>
      </node>
      <node id="1133">
        <label>type_traits</label>
      </node>
      <node id="1122">
        <label>../types.h</label>
        <link refid="types_8h"/>
        <childnode refid="1123" relation="include">
        </childnode>
        <childnode refid="1124" relation="include">
        </childnode>
        <childnode refid="1116" relation="include">
        </childnode>
        <childnode refid="1125" relation="include">
        </childnode>
        <childnode refid="1118" relation="include">
        </childnode>
        <childnode refid="1119" relation="include">
        </childnode>
        <childnode refid="1126" relation="include">
        </childnode>
        <childnode refid="1128" relation="include">
        </childnode>
      </node>
      <node id="1129">
        <label>./serialization/variant.h</label>
      </node>
      <node id="1111">
        <label>./util/serialization/basics.h</label>
      </node>
      <node id="1131">
        <label>algorithm</label>
      </node>
      <node id="1116">
        <label>memory</label>
      </node>
    </incdepgraph>
    <invincdepgraph>
      <node id="1142">
        <label>/Users/classner/git/forpy/include/forpy/forpy.h</label>
        <link refid="forpy_8h"/>
      </node>
      <node id="1140">
        <label>/Users/classner/git/forpy/include/forpy/tree.h</label>
        <link refid="tree_8h"/>
        <childnode refid="1141" relation="include">
        </childnode>
        <childnode refid="1142" relation="include">
        </childnode>
      </node>
      <node id="1141">
        <label>/Users/classner/git/forpy/include/forpy/forest.h</label>
        <link refid="forest_8h"/>
        <childnode refid="1142" relation="include">
        </childnode>
      </node>
    </invincdepgraph>
    <innerclass refid="classforpy_1_1_tree" prot="public">forpy::Tree</innerclass>
    <innerclass refid="classforpy_1_1_classification_tree" prot="public">forpy::ClassificationTree</innerclass>
    <innerclass refid="classforpy_1_1_regression_tree" prot="public">forpy::RegressionTree</innerclass>
    <innernamespace refid="namespaceforpy">forpy</innernamespace>
      <sectiondef kind="define">
      <memberdef kind="define" id="tree_8h_1aa1dada4217dccd828245b6bd79b49a04" prot="public" static="no">
        <name>FORPY_TREE_H_</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/tree.h" line="4" column="9" bodyfile="/Users/classner/git/forpy/include/forpy/tree.h" bodystart="4" bodyend="-1"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <programlisting>
<codeline lineno="1"><highlight class="comment">/*<sp/>Author:<sp/>Christoph<sp/>Lassner.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2"><highlight class="normal"></highlight><highlight class="preprocessor">#pragma<sp/>once</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3"><highlight class="normal"></highlight><highlight class="preprocessor">#ifndef<sp/>FORPY_TREE_H_</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4" refid="tree_8h_1aa1dada4217dccd828245b6bd79b49a04" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>FORPY_TREE_H_</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5"><highlight class="normal"></highlight></codeline>
<codeline lineno="6"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="global_8h" kindref="compound">./global.h</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="7"><highlight class="normal"></highlight></codeline>
<codeline lineno="8"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;./util/serialization/basics.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="9"><highlight class="normal"></highlight></codeline>
<codeline lineno="10"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;atomic&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="11"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;fstream&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="12"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;future&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="13"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;mapbox/variant_cast.hpp&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="14"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;memory&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="15"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;string&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="16"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;tuple&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="17"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;utility&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="18"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;vector&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="19"><highlight class="normal"></highlight></codeline>
<codeline lineno="20"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="fastdprov_8h" kindref="compound">./data_providers/fastdprov.h</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="21"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="idataprovider_8h" kindref="compound">./data_providers/idataprovider.h</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="22"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="idecider_8h" kindref="compound">./deciders/idecider.h</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="23"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="ileaf_8h" kindref="compound">./leafs/ileaf.h</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="24"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="types_8h" kindref="compound">./types.h</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="25"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="desk_8h" kindref="compound">./util/desk.h</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="26"><highlight class="normal"></highlight></codeline>
<codeline lineno="27"><highlight class="normal"></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal"><ref refid="namespaceforpy" kindref="compound">forpy</ref><sp/>{</highlight></codeline>
<codeline lineno="28"><highlight class="normal"></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal">Forest;</highlight></codeline>
<codeline lineno="29"><highlight class="normal"></highlight></codeline>
<codeline lineno="36" refid="classforpy_1_1_tree" refkind="compound"><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classforpy_1_1_tree" kindref="compound">Tree</ref><sp/>{</highlight></codeline>
<codeline lineno="37"><highlight class="normal"><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="55"><highlight class="normal"><sp/><sp/><ref refid="classforpy_1_1_tree_1afa48b090a00bb0557146bb3d5fb45f3f" kindref="member">Tree</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref><sp/>&amp;<ref refid="classforpy_1_1_tree_1ab5f61943c13ee4a49cee80379688bf64" kindref="member">max_depth</ref><sp/>=<sp/>std::numeric_limits&lt;uint&gt;::max(),</highlight></codeline>
<codeline lineno="56"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref><sp/>&amp;<ref refid="classforpy_1_1_tree_1abbda07d8785ef47b669607621af59d11" kindref="member">min_samples_at_leaf</ref><sp/>=<sp/>1,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref><sp/>&amp;<ref refid="classforpy_1_1_tree_1a65c0a49605a095981066f865a5cddfd5" kindref="member">min_samples_at_node</ref><sp/>=<sp/>2,</highlight></codeline>
<codeline lineno="57"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::shared_ptr&lt;IDecider&gt;<sp/>&amp;<ref refid="classforpy_1_1_tree_1ab5a6ab26fac8f02143edc7ca86f55c40" kindref="member">decider</ref><sp/>=<sp/></highlight><highlight class="keyword">nullptr</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="58"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::shared_ptr&lt;ILeaf&gt;<sp/>&amp;<ref refid="classforpy_1_1_tree_1aaf2020df1c36fe0a935ea9ec2e6355b6" kindref="member">leaf_manager</ref><sp/>=<sp/></highlight><highlight class="keyword">nullptr</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="59"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref><sp/>&amp;<ref refid="classforpy_1_1_tree_1a6e72e2f34aa0b4cc540c74a66b806e26" kindref="member">random_seed</ref><sp/>=<sp/>1);</highlight></codeline>
<codeline lineno="60"><highlight class="normal"></highlight></codeline>
<codeline lineno="67"><highlight class="normal"><sp/><sp/><ref refid="classforpy_1_1_tree_1afa48b090a00bb0557146bb3d5fb45f3f" kindref="member">Tree</ref>(std::string<sp/>filename);</highlight></codeline>
<codeline lineno="68"><highlight class="normal"></highlight></codeline>
<codeline lineno="85"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1a4fd94dc0367bea76936d4b577ba55d71" kindref="member">make_node</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_i_data_provider" kindref="compound">IDataProvider</ref><sp/>*data_provider,<sp/><ref refid="structforpy_1_1_desk" kindref="compound">Desk</ref><sp/>*d);</highlight></codeline>
<codeline lineno="86"><highlight class="normal"></highlight></codeline>
<codeline lineno="104"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1a0e21f03982ebee32e02292b2d0ca2322" kindref="member">DFS</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_i_data_provider" kindref="compound">IDataProvider</ref><sp/>*data_provider,</highlight></codeline>
<codeline lineno="105"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1adad607d1828338b79a86c36984d87e82" kindref="member">ECompletionLevel</ref><sp/>&amp;completion,<sp/><ref refid="structforpy_1_1_desk" kindref="compound">Desk</ref><sp/>*d);</highlight></codeline>
<codeline lineno="106"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1a1b561eb3d6e7328d43e5d09f8e439268" kindref="member">parallel_DFS</ref>(<ref refid="structforpy_1_1_desk" kindref="compound">Desk</ref><sp/>*d,<sp/><ref refid="structforpy_1_1_todo_mark" kindref="compound">TodoMark</ref><sp/>&amp;mark,<sp/><ref refid="classforpy_1_1_i_data_provider" kindref="compound">IDataProvider</ref><sp/>*data_provider,</highlight></codeline>
<codeline lineno="107"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>&amp;finalize<sp/>=<sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="108"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1a3387743826c6dbcda481391667e0cd66" kindref="member">DFS_and_store</ref>(<ref refid="structforpy_1_1_desk" kindref="compound">Desk</ref><sp/>*d,<sp/><ref refid="structforpy_1_1_todo_mark" kindref="compound">TodoMark</ref><sp/>&amp;mark,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_i_data_provider" kindref="compound">IDataProvider</ref><sp/>*dprov,</highlight></codeline>
<codeline lineno="109"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1adad607d1828338b79a86c36984d87e82" kindref="member">ECompletionLevel</ref><sp/>&amp;comp);</highlight></codeline>
<codeline lineno="110"><highlight class="normal"></highlight></codeline>
<codeline lineno="118"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1a1b8177f98112a850f6240e17b275a61a" kindref="member">get_depth</ref>()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="119"><highlight class="normal"></highlight></codeline>
<codeline lineno="143"><highlight class="normal"><sp/><sp/><ref refid="classforpy_1_1_tree" kindref="compound">Tree</ref><sp/>*<ref refid="classforpy_1_1_tree_1a18ee73095b840748f6ebbe6d4047bd0e" kindref="member">fit</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1a724d37691de11a57b50b9935b5550a89" kindref="member">Data&lt;MatCRef&gt;</ref><sp/>&amp;data_v,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1a724d37691de11a57b50b9935b5550a89" kindref="member">Data&lt;MatCRef&gt;</ref><sp/>&amp;annotation_v,</highlight></codeline>
<codeline lineno="144"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>&amp;n_threads,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>&amp;complete_dfs<sp/>=<sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="145"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::vector&lt;float&gt;<sp/>&amp;weights<sp/>=<sp/>std::vector&lt;float&gt;());</highlight></codeline>
<codeline lineno="146"><highlight class="normal"></highlight></codeline>
<codeline lineno="161"><highlight class="normal"><sp/><sp/><ref refid="classforpy_1_1_tree" kindref="compound">Tree</ref><sp/>*<ref refid="classforpy_1_1_tree_1ad2c9d3b7cd1c084e9c89091716eb40eb" kindref="member">fit_dprov</ref>(std::shared_ptr&lt;IDataProvider&gt;<sp/>data_provider,</highlight></codeline>
<codeline lineno="162"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>&amp;complete_dfs<sp/>=<sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="163"><highlight class="normal"></highlight></codeline>
<codeline lineno="172"><highlight class="normal"><sp/><sp/><ref refid="namespaceforpy_1a324c9643e02b76477c3a99a48773be8c" kindref="member">id_t</ref><sp/><ref refid="classforpy_1_1_tree_1a339f44dae73984e14d4a65e1813f4e2a" kindref="member">predict_leaf</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1a724d37691de11a57b50b9935b5550a89" kindref="member">Data&lt;MatCRef&gt;</ref><sp/>&amp;data,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1a324c9643e02b76477c3a99a48773be8c" kindref="member">id_t</ref><sp/>&amp;start_node<sp/>=<sp/>0,</highlight></codeline>
<codeline lineno="173"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::function&lt;</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*)&gt;<sp/>&amp;dptf<sp/>=<sp/></highlight><highlight class="keyword">nullptr</highlight><highlight class="normal">)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="174"><highlight class="normal"></highlight></codeline>
<codeline lineno="201"><highlight class="normal"><sp/><sp/><ref refid="namespaceforpy_1a724d37691de11a57b50b9935b5550a89" kindref="member">Data&lt;Mat&gt;</ref><sp/><ref refid="classforpy_1_1_tree_1a5a66b58b7cf5d1bb81f044ebf7970901" kindref="member">predict</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1a724d37691de11a57b50b9935b5550a89" kindref="member">Data&lt;MatCRef&gt;</ref><sp/>&amp;data_v,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>&amp;num_threads<sp/>=<sp/>1,</highlight></codeline>
<codeline lineno="202"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>&amp;use_fast_prediction_if_available<sp/>=<sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="203"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>&amp;<ref refid="classforpy_1_1_tree_1af407e82e843b92cbe9be90656395512d" kindref="member">predict_proba</ref><sp/>=<sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="204"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>&amp;for_forest<sp/>=<sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="205"><highlight class="normal"></highlight></codeline>
<codeline lineno="211"><highlight class="normal"><sp/><sp/><ref refid="namespaceforpy_1a724d37691de11a57b50b9935b5550a89" kindref="member">Data&lt;Mat&gt;</ref><sp/><ref refid="classforpy_1_1_tree_1af407e82e843b92cbe9be90656395512d" kindref="member">predict_proba</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1a724d37691de11a57b50b9935b5550a89" kindref="member">Data&lt;MatCRef&gt;</ref><sp/>&amp;data_v,</highlight></codeline>
<codeline lineno="212"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>&amp;num_threads<sp/>=<sp/>1,</highlight></codeline>
<codeline lineno="213"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>&amp;use_fast_prediction_if_available<sp/>=<sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="214"><highlight class="normal"></highlight></codeline>
<codeline lineno="218" refid="classforpy_1_1_tree_1a7a7a83ed7c395bcfa0c5de78aff7c55b" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1a724d37691de11a57b50b9935b5550a89" kindref="member">Data&lt;Mat&gt;</ref><sp/><ref refid="classforpy_1_1_tree_1a7a7a83ed7c395bcfa0c5de78aff7c55b" kindref="member">predict_leaf_result</ref>(</highlight></codeline>
<codeline lineno="219"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1a724d37691de11a57b50b9935b5550a89" kindref="member">Data&lt;MatCRef&gt;</ref><sp/>&amp;data,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1a324c9643e02b76477c3a99a48773be8c" kindref="member">id_t</ref><sp/>&amp;start_node<sp/>=<sp/>0,</highlight></codeline>
<codeline lineno="220"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::function&lt;</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*)&gt;<sp/>&amp;dptf<sp/>=<sp/></highlight><highlight class="keyword">nullptr</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="221"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1aaf2020df1c36fe0a935ea9ec2e6355b6" kindref="member">leaf_manager</ref>-&gt;get_result(<ref refid="classforpy_1_1_tree_1a339f44dae73984e14d4a65e1813f4e2a" kindref="member">predict_leaf</ref>(data,<sp/>start_node,<sp/>dptf));</highlight></codeline>
<codeline lineno="222"><highlight class="normal"><sp/><sp/>};</highlight></codeline>
<codeline lineno="223"><highlight class="normal"></highlight></codeline>
<codeline lineno="227" refid="classforpy_1_1_tree_1afff75b3d58f747ce9fd97591503450c6" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1a724d37691de11a57b50b9935b5550a89" kindref="member">Data&lt;Mat&gt;</ref><sp/><ref refid="classforpy_1_1_tree_1afff75b3d58f747ce9fd97591503450c6" kindref="member">combine_leaf_results</ref>(</highlight></codeline>
<codeline lineno="228"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::vector&lt;<ref refid="namespaceforpy_1a724d37691de11a57b50b9935b5550a89" kindref="member">Data&lt;Mat&gt;</ref>&gt;<sp/>&amp;leaf_results,</highlight></codeline>
<codeline lineno="229"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1a36398396324079cc112b2c14d72ef20d" kindref="member">Vec&lt;float&gt;</ref><sp/>&amp;weights<sp/>=<sp/><ref refid="namespaceforpy_1a36398396324079cc112b2c14d72ef20d" kindref="member">Vec&lt;float&gt;</ref>(),</highlight></codeline>
<codeline lineno="230"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>&amp;<ref refid="classforpy_1_1_tree_1af407e82e843b92cbe9be90656395512d" kindref="member">predict_proba</ref><sp/>=<sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="231"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1aaf2020df1c36fe0a935ea9ec2e6355b6" kindref="member">leaf_manager</ref>-&gt;get_result(leaf_results,<sp/>weights,<sp/><ref refid="classforpy_1_1_tree_1af407e82e843b92cbe9be90656395512d" kindref="member">predict_proba</ref>);</highlight></codeline>
<codeline lineno="232"><highlight class="normal"><sp/><sp/>};</highlight></codeline>
<codeline lineno="233"><highlight class="normal"></highlight></codeline>
<codeline lineno="238" refid="classforpy_1_1_tree_1ae34a6102319922edfe7e87deb0ef7a31" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1ae34a6102319922edfe7e87deb0ef7a31" kindref="member">is_initialized</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1a98c1a3ec2c1ea2bd7af98777490cd9e9" kindref="member">is_initialized_for_training</ref>;<sp/>};</highlight></codeline>
<codeline lineno="239"><highlight class="normal"></highlight></codeline>
<codeline lineno="243" refid="classforpy_1_1_tree_1afbbfbed6ba0300fa1ca7d6768aee6d10" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1afbbfbed6ba0300fa1ca7d6768aee6d10" kindref="member">get_weight</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1a6b4d08e4aa697fe33cc4c78eba6f6bb9" kindref="member">weight</ref>;<sp/>};</highlight></codeline>
<codeline lineno="244"><highlight class="normal"></highlight></codeline>
<codeline lineno="248" refid="classforpy_1_1_tree_1a6518d6bf8358c5e5f872c9050ce5c568" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1a6518d6bf8358c5e5f872c9050ce5c568" kindref="member">get_n_nodes</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1a1fccccd44acd59ec0235131d965d1a2e" kindref="member">tree</ref>.size();<sp/>};</highlight></codeline>
<codeline lineno="249"><highlight class="normal"></highlight></codeline>
<codeline lineno="253" refid="classforpy_1_1_tree_1acab58c599683c1d368e32ff8c5616ca7" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1acab58c599683c1d368e32ff8c5616ca7" kindref="member">set_weight</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>&amp;new_weight)<sp/>{<sp/><ref refid="classforpy_1_1_tree_1a6b4d08e4aa697fe33cc4c78eba6f6bb9" kindref="member">weight</ref><sp/>=<sp/>new_weight;<sp/>};</highlight></codeline>
<codeline lineno="254"><highlight class="normal"></highlight></codeline>
<codeline lineno="258" refid="classforpy_1_1_tree_1a4ad92c076f735a8c63129ef4a301793a" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1a4ad92c076f735a8c63129ef4a301793a" kindref="member">get_input_data_dimensions</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="259"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1ab5a6ab26fac8f02143edc7ca86f55c40" kindref="member">decider</ref>-&gt;get_data_dim();</highlight></codeline>
<codeline lineno="260"><highlight class="normal"><sp/><sp/>};</highlight></codeline>
<codeline lineno="261"><highlight class="normal"></highlight></codeline>
<codeline lineno="265" refid="classforpy_1_1_tree_1a2ac6a894a91e33d620f2c1bc68b427bb" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::shared_ptr&lt;const<sp/>IDecider&gt;<sp/><ref refid="classforpy_1_1_tree_1a2ac6a894a91e33d620f2c1bc68b427bb" kindref="member">get_decider</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="266"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1ab5a6ab26fac8f02143edc7ca86f55c40" kindref="member">decider</ref>;</highlight></codeline>
<codeline lineno="267"><highlight class="normal"><sp/><sp/>};</highlight></codeline>
<codeline lineno="268"><highlight class="normal"></highlight></codeline>
<codeline lineno="272" refid="classforpy_1_1_tree_1ae33a3e582ea38b9cf20984b307bbc76b" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::shared_ptr&lt;const<sp/>ILeaf&gt;<sp/><ref refid="classforpy_1_1_tree_1ae33a3e582ea38b9cf20984b307bbc76b" kindref="member">get_leaf_manager</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="273"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1aaf2020df1c36fe0a935ea9ec2e6355b6" kindref="member">leaf_manager</ref>;</highlight></codeline>
<codeline lineno="274"><highlight class="normal"><sp/><sp/>};</highlight></codeline>
<codeline lineno="275"><highlight class="normal"></highlight></codeline>
<codeline lineno="279" refid="classforpy_1_1_tree_1a58763b59096bc3da795ff908ec99e320" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1a58763b59096bc3da795ff908ec99e320" kindref="member">get_samples_stored</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1a3d7a4f0f4fd0898375162ace44ee1a61" kindref="member">stored_in_leafs</ref>.load();<sp/>};</highlight></codeline>
<codeline lineno="280"><highlight class="normal"></highlight></codeline>
<codeline lineno="281" refid="classforpy_1_1_tree_1a3a088d0ae731e18077df3cc0595ce32b" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::vector&lt;std::pair&lt;id_t,<sp/>id_t&gt;&gt;<sp/><ref refid="classforpy_1_1_tree_1a3a088d0ae731e18077df3cc0595ce32b" kindref="member">get_tree</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="282"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1a1fccccd44acd59ec0235131d965d1a2e" kindref="member">tree</ref>;</highlight></codeline>
<codeline lineno="283"><highlight class="normal"><sp/><sp/>};</highlight></codeline>
<codeline lineno="284"><highlight class="normal"></highlight></codeline>
<codeline lineno="292"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1aaf950617741fdb9b495c3d68a0885eea" kindref="member">enable_fast_prediction</ref>();</highlight></codeline>
<codeline lineno="293"><highlight class="normal"></highlight></codeline>
<codeline lineno="297" refid="classforpy_1_1_tree_1a940aa1b2516a8fc6edee66f21c52cf12" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1a940aa1b2516a8fc6edee66f21c52cf12" kindref="member">disable_fast_prediction</ref>()<sp/>{</highlight></codeline>
<codeline lineno="298"><highlight class="normal"><sp/><sp/><sp/><sp/>VLOG(9)<sp/>&lt;&lt;<sp/></highlight><highlight class="stringliteral">&quot;Disabling<sp/>fast<sp/>prediction;<sp/>freeing<sp/>memory.&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="299"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classforpy_1_1_tree_1aca27a6f06e9d51c4f57a2b6728f78de2" kindref="member">fast_tree</ref>.reset();</highlight></codeline>
<codeline lineno="300"><highlight class="normal"><sp/><sp/>};</highlight></codeline>
<codeline lineno="301"><highlight class="normal"></highlight></codeline>
<codeline lineno="302"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1adb61c1db5f21236d020afd11aabcf5e9" kindref="member">operator==</ref>(<ref refid="classforpy_1_1_tree" kindref="compound">Tree</ref><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>&amp;rhs)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="303"><highlight class="normal"></highlight></codeline>
<codeline lineno="310"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1af2ff0d0b1705f026398ea449fc06b6ea" kindref="member">save</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::string<sp/>&amp;filename)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="311"><highlight class="normal"></highlight></codeline>
<codeline lineno="312" refid="classforpy_1_1_tree_1aadb9578d7828ae7e52f60203e1c4f4b6" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">friend</highlight><highlight class="normal"><sp/>std::ostream<sp/>&amp;<ref refid="classforpy_1_1_tree_1aadb9578d7828ae7e52f60203e1c4f4b6" kindref="member">operator&lt;&lt;</ref>(std::ostream<sp/>&amp;stream,</highlight></codeline>
<codeline lineno="313"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree" kindref="compound">Tree</ref><sp/>&amp;</highlight><highlight class="keyword">self</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="314"><highlight class="normal"><sp/><sp/><sp/><sp/>stream<sp/>&lt;&lt;<sp/></highlight><highlight class="stringliteral">&quot;forpy::Tree[depth<sp/>&quot;</highlight><highlight class="normal"><sp/>&lt;&lt;<sp/></highlight><highlight class="keyword">self</highlight><highlight class="normal">.get_depth()<sp/>&lt;&lt;<sp/></highlight><highlight class="stringliteral">&quot;]&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="315"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>stream;</highlight></codeline>
<codeline lineno="316" refid="classforpy_1_1_tree_1a7c6b5c8100b27b9c3692820d4d40bd50" refkind="member"><highlight class="normal"><sp/><sp/>};</highlight></codeline>
<codeline lineno="317"><highlight class="normal"></highlight></codeline>
<codeline lineno="318"><highlight class="normal"><sp/></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="319"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">friend</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classforpy_1_1_forest" kindref="compound">forpy::Forest</ref>;</highlight></codeline>
<codeline lineno="320" refid="classforpy_1_1_tree_1ab2f44cbb59a08132f4c843e5225bba0e" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">friend</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classforpy_1_1_tree_1ab2f44cbb59a08132f4c843e5225bba0e" kindref="member">cereal::access</ref>;</highlight></codeline>
<codeline lineno="321"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Archive&gt;</highlight></codeline>
<codeline lineno="322" refid="classforpy_1_1_tree_1a2b8d5817874cb6ab06d7e4bd4b290163" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1a2b8d5817874cb6ab06d7e4bd4b290163" kindref="member">serialize</ref>(Archive<sp/>&amp;ar,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref><sp/>&amp;)<sp/>{</highlight></codeline>
<codeline lineno="323"><highlight class="normal"><sp/><sp/><sp/><sp/>ar(CEREAL_NVP(<ref refid="classforpy_1_1_tree_1ab5f61943c13ee4a49cee80379688bf64" kindref="member">max_depth</ref>),<sp/>CEREAL_NVP(<ref refid="classforpy_1_1_tree_1a98c1a3ec2c1ea2bd7af98777490cd9e9" kindref="member">is_initialized_for_training</ref>),</highlight></codeline>
<codeline lineno="324"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/>CEREAL_NVP(<ref refid="classforpy_1_1_tree_1a65c0a49605a095981066f865a5cddfd5" kindref="member">min_samples_at_node</ref>),<sp/>CEREAL_NVP(<ref refid="classforpy_1_1_tree_1abbda07d8785ef47b669607621af59d11" kindref="member">min_samples_at_leaf</ref>),</highlight></codeline>
<codeline lineno="325"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/>CEREAL_NVP(<ref refid="classforpy_1_1_tree_1a6b4d08e4aa697fe33cc4c78eba6f6bb9" kindref="member">weight</ref>),<sp/>CEREAL_NVP(<ref refid="classforpy_1_1_tree_1ab5a6ab26fac8f02143edc7ca86f55c40" kindref="member">decider</ref>),<sp/>CEREAL_NVP(<ref refid="classforpy_1_1_tree_1aaf2020df1c36fe0a935ea9ec2e6355b6" kindref="member">leaf_manager</ref>),</highlight></codeline>
<codeline lineno="326"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/>CEREAL_NVP(<ref refid="classforpy_1_1_tree_1a1fccccd44acd59ec0235131d965d1a2e" kindref="member">tree</ref>),<sp/>CEREAL_NVP(<ref refid="classforpy_1_1_tree_1a3d7a4f0f4fd0898375162ace44ee1a61" kindref="member">stored_in_leafs</ref>),<sp/>CEREAL_NVP(<ref refid="classforpy_1_1_tree_1a5d82b4527282466155d649b66205af6c" kindref="member">next_id</ref>),</highlight></codeline>
<codeline lineno="327"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/>CEREAL_NVP(<ref refid="classforpy_1_1_tree_1a6e72e2f34aa0b4cc540c74a66b806e26" kindref="member">random_seed</ref>));</highlight></codeline>
<codeline lineno="328" refid="classforpy_1_1_tree_1ab5f61943c13ee4a49cee80379688bf64" refkind="member"><highlight class="normal"><sp/><sp/>};</highlight></codeline>
<codeline lineno="329"><highlight class="normal"></highlight></codeline>
<codeline lineno="334"><highlight class="normal"><sp/><sp/><ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref><sp/><ref refid="classforpy_1_1_tree_1ab5f61943c13ee4a49cee80379688bf64" kindref="member">max_depth</ref>;</highlight></codeline>
<codeline lineno="339" refid="classforpy_1_1_tree_1a98c1a3ec2c1ea2bd7af98777490cd9e9" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1a98c1a3ec2c1ea2bd7af98777490cd9e9" kindref="member">is_initialized_for_training</ref>;</highlight></codeline>
<codeline lineno="341" refid="classforpy_1_1_tree_1a65c0a49605a095981066f865a5cddfd5" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1a65c0a49605a095981066f865a5cddfd5" kindref="member">min_samples_at_node</ref>;</highlight></codeline>
<codeline lineno="343" refid="classforpy_1_1_tree_1abbda07d8785ef47b669607621af59d11" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1abbda07d8785ef47b669607621af59d11" kindref="member">min_samples_at_leaf</ref>;</highlight></codeline>
<codeline lineno="345" refid="classforpy_1_1_tree_1a6b4d08e4aa697fe33cc4c78eba6f6bb9" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree_1a6b4d08e4aa697fe33cc4c78eba6f6bb9" kindref="member">weight</ref>;</highlight></codeline>
<codeline lineno="347" refid="classforpy_1_1_tree_1a3d7a4f0f4fd0898375162ace44ee1a61" refkind="member"><highlight class="normal"><sp/><sp/>std::atomic&lt;size_t&gt;<sp/><ref refid="classforpy_1_1_tree_1a3d7a4f0f4fd0898375162ace44ee1a61" kindref="member">stored_in_leafs</ref>;</highlight></codeline>
<codeline lineno="349" refid="classforpy_1_1_tree_1ab5a6ab26fac8f02143edc7ca86f55c40" refkind="member"><highlight class="normal"><sp/><sp/>std::shared_ptr&lt;IDecider&gt;<sp/><ref refid="classforpy_1_1_tree_1ab5a6ab26fac8f02143edc7ca86f55c40" kindref="member">decider</ref>;</highlight></codeline>
<codeline lineno="351" refid="classforpy_1_1_tree_1aaf2020df1c36fe0a935ea9ec2e6355b6" refkind="member"><highlight class="normal"><sp/><sp/>std::shared_ptr&lt;ILeaf&gt;<sp/><ref refid="classforpy_1_1_tree_1aaf2020df1c36fe0a935ea9ec2e6355b6" kindref="member">leaf_manager</ref>;</highlight></codeline>
<codeline lineno="353" refid="classforpy_1_1_tree_1a1fccccd44acd59ec0235131d965d1a2e" refkind="member"><highlight class="normal"><sp/><sp/>std::vector&lt;std::pair&lt;id_t,<sp/>id_t&gt;&gt;<sp/><ref refid="classforpy_1_1_tree_1a1fccccd44acd59ec0235131d965d1a2e" kindref="member">tree</ref>;</highlight></codeline>
<codeline lineno="360"><highlight class="normal"><sp/><sp/>std::unique_ptr&lt;</highlight></codeline>
<codeline lineno="361"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>mu::variant&lt;std::vector&lt;std::tuple&lt;size_t,<sp/>float,<sp/>size_t,<sp/>size_t&gt;&gt;,</highlight></codeline>
<codeline lineno="362"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::vector&lt;std::tuple&lt;size_t,<sp/>double,<sp/>size_t,<sp/>size_t&gt;&gt;,</highlight></codeline>
<codeline lineno="363"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::vector&lt;std::tuple&lt;size_t,<sp/>uint32_t,<sp/>size_t,<sp/>size_t&gt;&gt;,</highlight></codeline>
<codeline lineno="364"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::vector&lt;std::tuple&lt;size_t,<sp/>uint8_t,<sp/>size_t,<sp/>size_t&gt;&gt;&gt;&gt;</highlight></codeline>
<codeline lineno="365" refid="classforpy_1_1_tree_1aca27a6f06e9d51c4f57a2b6728f78de2" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classforpy_1_1_tree_1aca27a6f06e9d51c4f57a2b6728f78de2" kindref="member">fast_tree</ref>;</highlight></codeline>
<codeline lineno="366" refid="classforpy_1_1_tree_1ab33106bed03867b2489dae54f5c5500a" refkind="member"><highlight class="normal"><sp/><sp/>std::vector&lt;std::future&lt;void&gt;&gt;<sp/><ref refid="classforpy_1_1_tree_1ab33106bed03867b2489dae54f5c5500a" kindref="member">futures</ref>;</highlight></codeline>
<codeline lineno="367" refid="classforpy_1_1_tree_1a3fb03748fbbd6306b56b7470586c4845" refkind="member"><highlight class="normal"><sp/><sp/>std::mutex<sp/><ref refid="classforpy_1_1_tree_1a3fb03748fbbd6306b56b7470586c4845" kindref="member">fut_mtx</ref>;</highlight></codeline>
<codeline lineno="368" refid="classforpy_1_1_tree_1a5d82b4527282466155d649b66205af6c" refkind="member"><highlight class="normal"><sp/><sp/>std::atomic&lt;id_t&gt;<sp/><ref refid="classforpy_1_1_tree_1a5d82b4527282466155d649b66205af6c" kindref="member">next_id</ref>;</highlight></codeline>
<codeline lineno="369" refid="classforpy_1_1_tree_1a6e72e2f34aa0b4cc540c74a66b806e26" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref><sp/><ref refid="classforpy_1_1_tree_1a6e72e2f34aa0b4cc540c74a66b806e26" kindref="member">random_seed</ref>;</highlight></codeline>
<codeline lineno="370"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>If<sp/>any,<sp/>a<sp/>deep<sp/>copy<sp/>must<sp/>be<sp/>made<sp/>of<sp/>a<sp/>tree<sp/>to<sp/>guarantee<sp/>consistency</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="371"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>between<sp/>the<sp/>tree<sp/>layout<sp/>and<sp/>the<sp/>saved<sp/>features,<sp/>classifiers<sp/>and<sp/>leafs.</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="372"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/>This<sp/>is<sp/>disallowed<sp/>for<sp/>the<sp/>first.</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="373"><highlight class="normal"><sp/><sp/><ref refid="classforpy_1_1_tree_1acfde2b7295597451c98affd002c3ff23" kindref="member">DISALLOW_COPY_AND_ASSIGN</ref>(<ref refid="classforpy_1_1_tree" kindref="compound">Tree</ref>);</highlight></codeline>
<codeline lineno="374"><highlight class="normal">};</highlight></codeline>
<codeline lineno="375"><highlight class="normal"></highlight></codeline>
<codeline lineno="376" refid="classforpy_1_1_classification_tree" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classforpy_1_1_classification_tree" kindref="compound">ClassificationTree</ref><sp/>:<sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree" kindref="compound">Tree</ref><sp/>{</highlight></codeline>
<codeline lineno="377"><highlight class="normal"><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="378" refid="classforpy_1_1_classification_tree_1a32054788cec7e1b557f9351a278f9f0a" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_classification_tree_1a32054788cec7e1b557f9351a278f9f0a" kindref="member">ClassificationTree</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::string<sp/>&amp;filename)<sp/>:<sp/><ref refid="classforpy_1_1_tree" kindref="compound">Tree</ref>(filename){};</highlight></codeline>
<codeline lineno="379"><highlight class="normal"><sp/><sp/><ref refid="classforpy_1_1_classification_tree_1a32054788cec7e1b557f9351a278f9f0a" kindref="member">ClassificationTree</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref><sp/>&amp;<ref refid="classforpy_1_1_tree_1ab5f61943c13ee4a49cee80379688bf64" kindref="member">max_depth</ref><sp/>=<sp/>std::numeric_limits&lt;uint&gt;::max(),</highlight></codeline>
<codeline lineno="380"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref><sp/>&amp;<ref refid="classforpy_1_1_tree_1abbda07d8785ef47b669607621af59d11" kindref="member">min_samples_at_leaf</ref><sp/>=<sp/>1,</highlight></codeline>
<codeline lineno="381"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref><sp/>&amp;<ref refid="classforpy_1_1_tree_1a65c0a49605a095981066f865a5cddfd5" kindref="member">min_samples_at_node</ref><sp/>=<sp/>2,</highlight></codeline>
<codeline lineno="382"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref><sp/>&amp;n_valid_features_to_use<sp/>=<sp/>0,</highlight></codeline>
<codeline lineno="383"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>&amp;autoscale_valid_features<sp/>=<sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="384"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref><sp/>&amp;<ref refid="classforpy_1_1_tree_1a6e72e2f34aa0b4cc540c74a66b806e26" kindref="member">random_seed</ref><sp/>=<sp/>1,</highlight></codeline>
<codeline lineno="385"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>&amp;n_thresholds<sp/>=<sp/>0,</highlight></codeline>
<codeline lineno="386"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>&amp;gain_threshold<sp/>=<sp/>1E-7f);</highlight></codeline>
<codeline lineno="387"><highlight class="normal"></highlight></codeline>
<codeline lineno="388"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::unordered_map&lt;std::string,<sp/>mu::variant&lt;uint,<sp/>size_t,<sp/>float,<sp/>bool&gt;&gt;</highlight></codeline>
<codeline lineno="389" refid="classforpy_1_1_classification_tree_1a340d1edc9fe949cb8e533e0b52cc7941" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classforpy_1_1_classification_tree_1a340d1edc9fe949cb8e533e0b52cc7941" kindref="member">get_params</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>&amp;<sp/></highlight><highlight class="comment">/*deep*/</highlight><highlight class="normal"><sp/>=<sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="390"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_classification_tree_1a6289aac29496fc52f6870fd7d9c4ea84" kindref="member">params</ref>;</highlight></codeline>
<codeline lineno="391"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="392"><highlight class="normal"></highlight></codeline>
<codeline lineno="393" refid="classforpy_1_1_classification_tree_1ac04f4ab196f90ecf558d0f57214197e6" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::shared_ptr&lt;ClassificationTree&gt;<sp/><ref refid="classforpy_1_1_classification_tree_1ac04f4ab196f90ecf558d0f57214197e6" kindref="member">set_params</ref>(</highlight></codeline>
<codeline lineno="394"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::unordered_map&lt;</highlight></codeline>
<codeline lineno="395"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::string,<sp/>mu::variant&lt;uint,<sp/>size_t,<sp/>float,<sp/>bool&gt;&gt;<sp/>&amp;<ref refid="classforpy_1_1_classification_tree_1a6289aac29496fc52f6870fd7d9c4ea84" kindref="member">params</ref>)<sp/>{</highlight></codeline>
<codeline lineno="396"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>std::make_shared&lt;ClassificationTree&gt;(</highlight></codeline>
<codeline lineno="397"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GetWithDefVar&lt;uint&gt;(<ref refid="classforpy_1_1_classification_tree_1a6289aac29496fc52f6870fd7d9c4ea84" kindref="member">params</ref>,<sp/></highlight><highlight class="stringliteral">&quot;max_depth&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="398"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::numeric_limits&lt;uint&gt;::max()),</highlight></codeline>
<codeline lineno="399"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GetWithDefVar&lt;uint&gt;(<ref refid="classforpy_1_1_classification_tree_1a6289aac29496fc52f6870fd7d9c4ea84" kindref="member">params</ref>,<sp/></highlight><highlight class="stringliteral">&quot;min_samples_at_leaf&quot;</highlight><highlight class="normal">,<sp/>1),</highlight></codeline>
<codeline lineno="400"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GetWithDefVar&lt;uint&gt;(<ref refid="classforpy_1_1_classification_tree_1a6289aac29496fc52f6870fd7d9c4ea84" kindref="member">params</ref>,<sp/></highlight><highlight class="stringliteral">&quot;min_samples_at_node&quot;</highlight><highlight class="normal">,<sp/>2),</highlight></codeline>
<codeline lineno="401"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GetWithDefVar&lt;uint&gt;(<ref refid="classforpy_1_1_classification_tree_1a6289aac29496fc52f6870fd7d9c4ea84" kindref="member">params</ref>,<sp/></highlight><highlight class="stringliteral">&quot;n_valid_features_to_use&quot;</highlight><highlight class="normal">,<sp/>0),</highlight></codeline>
<codeline lineno="402"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GetWithDefVar&lt;bool&gt;(<ref refid="classforpy_1_1_classification_tree_1a6289aac29496fc52f6870fd7d9c4ea84" kindref="member">params</ref>,<sp/></highlight><highlight class="stringliteral">&quot;autoscale_valid_features&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">),</highlight></codeline>
<codeline lineno="403"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GetWithDefVar&lt;uint&gt;(<ref refid="classforpy_1_1_classification_tree_1a6289aac29496fc52f6870fd7d9c4ea84" kindref="member">params</ref>,<sp/></highlight><highlight class="stringliteral">&quot;random_seed&quot;</highlight><highlight class="normal">,<sp/>1),</highlight></codeline>
<codeline lineno="404"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GetWithDefVar&lt;size_t&gt;(<ref refid="classforpy_1_1_classification_tree_1a6289aac29496fc52f6870fd7d9c4ea84" kindref="member">params</ref>,<sp/></highlight><highlight class="stringliteral">&quot;n_thresholds&quot;</highlight><highlight class="normal">,<sp/>0),</highlight></codeline>
<codeline lineno="405"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GetWithDefVar&lt;float&gt;(<ref refid="classforpy_1_1_classification_tree_1a6289aac29496fc52f6870fd7d9c4ea84" kindref="member">params</ref>,<sp/></highlight><highlight class="stringliteral">&quot;gain_threshold&quot;</highlight><highlight class="normal">,<sp/>1E-7f));</highlight></codeline>
<codeline lineno="406"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="407"><highlight class="normal"></highlight></codeline>
<codeline lineno="408" refid="classforpy_1_1_classification_tree_1aa9cc76cf74358193a5d04a595970d9f2" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">friend</highlight><highlight class="normal"><sp/>std::ostream<sp/>&amp;<ref refid="classforpy_1_1_classification_tree_1aa9cc76cf74358193a5d04a595970d9f2" kindref="member">operator&lt;&lt;</ref>(std::ostream<sp/>&amp;stream,</highlight></codeline>
<codeline lineno="409"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_classification_tree" kindref="compound">ClassificationTree</ref><sp/>&amp;</highlight><highlight class="keyword">self</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="410"><highlight class="normal"><sp/><sp/><sp/><sp/>stream<sp/>&lt;&lt;<sp/></highlight><highlight class="stringliteral">&quot;forpy::ClassificationTree[depth<sp/>&quot;</highlight><highlight class="normal"><sp/>&lt;&lt;<sp/></highlight><highlight class="keyword">self</highlight><highlight class="normal">.get_depth()<sp/>&lt;&lt;<sp/></highlight><highlight class="stringliteral">&quot;]&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="411"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>stream;</highlight></codeline>
<codeline lineno="412" refid="classforpy_1_1_classification_tree_1a6289aac29496fc52f6870fd7d9c4ea84" refkind="member"><highlight class="normal"><sp/><sp/>};</highlight></codeline>
<codeline lineno="413"><highlight class="normal"></highlight></codeline>
<codeline lineno="414"><highlight class="normal"><sp/></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="415"><highlight class="normal"><sp/><sp/>std::unordered_map&lt;std::string,<sp/>mu::variant&lt;uint,<sp/>size_t,<sp/>float,<sp/>bool&gt;&gt;</highlight></codeline>
<codeline lineno="416"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classforpy_1_1_classification_tree_1a6289aac29496fc52f6870fd7d9c4ea84" kindref="member">params</ref>;</highlight></codeline>
<codeline lineno="417" refid="classforpy_1_1_classification_tree_1ab2f44cbb59a08132f4c843e5225bba0e" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">friend</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classforpy_1_1_classification_tree_1ab2f44cbb59a08132f4c843e5225bba0e" kindref="member">cereal::access</ref>;</highlight></codeline>
<codeline lineno="418"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Archive&gt;</highlight></codeline>
<codeline lineno="419" refid="classforpy_1_1_classification_tree_1a1bb3270ce5a222a6b42ececa36a30c88" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_classification_tree_1a1bb3270ce5a222a6b42ececa36a30c88" kindref="member">serialize</ref>(Archive<sp/>&amp;ar,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref><sp/>&amp;)<sp/>{</highlight></codeline>
<codeline lineno="420"><highlight class="normal"><sp/><sp/><sp/><sp/>ar(cereal::make_nvp(</highlight><highlight class="stringliteral">&quot;base&quot;</highlight><highlight class="normal">,<sp/>cereal::base_class&lt;Tree&gt;(</highlight><highlight class="keyword">this</highlight><highlight class="normal">)),</highlight></codeline>
<codeline lineno="421"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/>CEREAL_NVP(<ref refid="classforpy_1_1_classification_tree_1a6289aac29496fc52f6870fd7d9c4ea84" kindref="member">params</ref>));</highlight></codeline>
<codeline lineno="422"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="423"><highlight class="normal"><sp/><sp/><ref refid="classforpy_1_1_classification_tree_1a77e0bf38f0e7104a25367b1fda61439f" kindref="member">DISALLOW_COPY_AND_ASSIGN</ref>(<ref refid="classforpy_1_1_classification_tree" kindref="compound">ClassificationTree</ref>);</highlight></codeline>
<codeline lineno="424"><highlight class="normal">};</highlight></codeline>
<codeline lineno="425"><highlight class="normal"></highlight></codeline>
<codeline lineno="426" refid="classforpy_1_1_regression_tree" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classforpy_1_1_regression_tree" kindref="compound">RegressionTree</ref><sp/>:<sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_tree" kindref="compound">Tree</ref><sp/>{</highlight></codeline>
<codeline lineno="427"><highlight class="normal"><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="428" refid="classforpy_1_1_regression_tree_1a467fd3c26ff33153fdf1581712b01bc7" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_regression_tree_1a467fd3c26ff33153fdf1581712b01bc7" kindref="member">RegressionTree</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::string<sp/>&amp;filename)<sp/>:<sp/><ref refid="classforpy_1_1_tree" kindref="compound">Tree</ref>(filename){};</highlight></codeline>
<codeline lineno="429"><highlight class="normal"><sp/><sp/><ref refid="classforpy_1_1_regression_tree_1a467fd3c26ff33153fdf1581712b01bc7" kindref="member">RegressionTree</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref><sp/>&amp;<ref refid="classforpy_1_1_tree_1ab5f61943c13ee4a49cee80379688bf64" kindref="member">max_depth</ref><sp/>=<sp/>std::numeric_limits&lt;uint&gt;::max(),</highlight></codeline>
<codeline lineno="430"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref><sp/>&amp;<ref refid="classforpy_1_1_tree_1abbda07d8785ef47b669607621af59d11" kindref="member">min_samples_at_leaf</ref><sp/>=<sp/>1,</highlight></codeline>
<codeline lineno="431"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref><sp/>&amp;<ref refid="classforpy_1_1_tree_1a65c0a49605a095981066f865a5cddfd5" kindref="member">min_samples_at_node</ref><sp/>=<sp/>2,</highlight></codeline>
<codeline lineno="432"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref><sp/>&amp;n_valid_features_to_use<sp/>=<sp/>0,</highlight></codeline>
<codeline lineno="433"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>&amp;autoscale_valid_features<sp/>=<sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="434"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref><sp/>&amp;<ref refid="classforpy_1_1_tree_1a6e72e2f34aa0b4cc540c74a66b806e26" kindref="member">random_seed</ref><sp/>=<sp/>1,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"><sp/>&amp;n_thresholds<sp/>=<sp/>0,</highlight></codeline>
<codeline lineno="435"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>&amp;gain_threshold<sp/>=<sp/>1E-7f,</highlight></codeline>
<codeline lineno="436"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>&amp;store_variance<sp/>=<sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="437"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>&amp;summarize<sp/>=<sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="438"><highlight class="normal"></highlight></codeline>
<codeline lineno="439"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::unordered_map&lt;std::string,<sp/>mu::variant&lt;uint,<sp/>size_t,<sp/>float,<sp/>bool&gt;&gt;</highlight></codeline>
<codeline lineno="440" refid="classforpy_1_1_regression_tree_1a1f316db7adf1ca331d538e47cd80d60f" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classforpy_1_1_regression_tree_1a1f316db7adf1ca331d538e47cd80d60f" kindref="member">get_params</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>&amp;<sp/></highlight><highlight class="comment">/*deep*/</highlight><highlight class="normal"><sp/>=<sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
<codeline lineno="441"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_regression_tree_1ad8285f554f07d3e428b8a2b9552768fe" kindref="member">params</ref>;</highlight></codeline>
<codeline lineno="442"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="443"><highlight class="normal"></highlight></codeline>
<codeline lineno="444" refid="classforpy_1_1_regression_tree_1a1b30c808f4a9082020073da6f182997b" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/>std::shared_ptr&lt;RegressionTree&gt;<sp/><ref refid="classforpy_1_1_regression_tree_1a1b30c808f4a9082020073da6f182997b" kindref="member">set_params</ref>(</highlight></codeline>
<codeline lineno="445"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>std::unordered_map&lt;</highlight></codeline>
<codeline lineno="446"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::string,<sp/>mu::variant&lt;uint,<sp/>size_t,<sp/>float,<sp/>bool&gt;&gt;<sp/>&amp;<ref refid="classforpy_1_1_regression_tree_1ad8285f554f07d3e428b8a2b9552768fe" kindref="member">params</ref>)<sp/>{</highlight></codeline>
<codeline lineno="447"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>std::make_shared&lt;RegressionTree&gt;(</highlight></codeline>
<codeline lineno="448"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GetWithDefVar&lt;uint&gt;(<ref refid="classforpy_1_1_regression_tree_1ad8285f554f07d3e428b8a2b9552768fe" kindref="member">params</ref>,<sp/></highlight><highlight class="stringliteral">&quot;max_depth&quot;</highlight><highlight class="normal">,</highlight></codeline>
<codeline lineno="449"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>std::numeric_limits&lt;uint&gt;::max()),</highlight></codeline>
<codeline lineno="450"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GetWithDefVar&lt;uint&gt;(<ref refid="classforpy_1_1_regression_tree_1ad8285f554f07d3e428b8a2b9552768fe" kindref="member">params</ref>,<sp/></highlight><highlight class="stringliteral">&quot;min_samples_at_leaf&quot;</highlight><highlight class="normal">,<sp/>1),</highlight></codeline>
<codeline lineno="451"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GetWithDefVar&lt;uint&gt;(<ref refid="classforpy_1_1_regression_tree_1ad8285f554f07d3e428b8a2b9552768fe" kindref="member">params</ref>,<sp/></highlight><highlight class="stringliteral">&quot;min_samples_at_node&quot;</highlight><highlight class="normal">,<sp/>2),</highlight></codeline>
<codeline lineno="452"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GetWithDefVar&lt;uint&gt;(<ref refid="classforpy_1_1_regression_tree_1ad8285f554f07d3e428b8a2b9552768fe" kindref="member">params</ref>,<sp/></highlight><highlight class="stringliteral">&quot;n_valid_features_to_use&quot;</highlight><highlight class="normal">,<sp/>0),</highlight></codeline>
<codeline lineno="453"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GetWithDefVar&lt;bool&gt;(<ref refid="classforpy_1_1_regression_tree_1ad8285f554f07d3e428b8a2b9552768fe" kindref="member">params</ref>,<sp/></highlight><highlight class="stringliteral">&quot;autoscale_valid_features&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">),</highlight></codeline>
<codeline lineno="454"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GetWithDefVar&lt;uint&gt;(<ref refid="classforpy_1_1_regression_tree_1ad8285f554f07d3e428b8a2b9552768fe" kindref="member">params</ref>,<sp/></highlight><highlight class="stringliteral">&quot;random_seed&quot;</highlight><highlight class="normal">,<sp/>1),</highlight></codeline>
<codeline lineno="455"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GetWithDefVar&lt;size_t&gt;(<ref refid="classforpy_1_1_regression_tree_1ad8285f554f07d3e428b8a2b9552768fe" kindref="member">params</ref>,<sp/></highlight><highlight class="stringliteral">&quot;n_thresholds&quot;</highlight><highlight class="normal">,<sp/>0),</highlight></codeline>
<codeline lineno="456"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GetWithDefVar&lt;float&gt;(<ref refid="classforpy_1_1_regression_tree_1ad8285f554f07d3e428b8a2b9552768fe" kindref="member">params</ref>,<sp/></highlight><highlight class="stringliteral">&quot;gain_threshold&quot;</highlight><highlight class="normal">,<sp/>1E-7f),</highlight></codeline>
<codeline lineno="457"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GetWithDefVar&lt;bool&gt;(<ref refid="classforpy_1_1_regression_tree_1ad8285f554f07d3e428b8a2b9552768fe" kindref="member">params</ref>,<sp/></highlight><highlight class="stringliteral">&quot;store_variance&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">),</highlight></codeline>
<codeline lineno="458"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>GetWithDefVar&lt;bool&gt;(<ref refid="classforpy_1_1_regression_tree_1ad8285f554f07d3e428b8a2b9552768fe" kindref="member">params</ref>,<sp/></highlight><highlight class="stringliteral">&quot;summarize&quot;</highlight><highlight class="normal">,<sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">));</highlight></codeline>
<codeline lineno="459"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="460"><highlight class="normal"></highlight></codeline>
<codeline lineno="461" refid="classforpy_1_1_regression_tree_1a5b05e0629c2597b428f397374f97fa90" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">friend</highlight><highlight class="normal"><sp/>std::ostream<sp/>&amp;<ref refid="classforpy_1_1_regression_tree_1a5b05e0629c2597b428f397374f97fa90" kindref="member">operator&lt;&lt;</ref>(std::ostream<sp/>&amp;stream,</highlight></codeline>
<codeline lineno="462"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_regression_tree" kindref="compound">RegressionTree</ref><sp/>&amp;</highlight><highlight class="keyword">self</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="463"><highlight class="normal"><sp/><sp/><sp/><sp/>stream<sp/>&lt;&lt;<sp/></highlight><highlight class="stringliteral">&quot;forpy::RegressionTree[depth<sp/>&quot;</highlight><highlight class="normal"><sp/>&lt;&lt;<sp/></highlight><highlight class="keyword">self</highlight><highlight class="normal">.get_depth()<sp/>&lt;&lt;<sp/></highlight><highlight class="stringliteral">&quot;]&quot;</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="464"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>stream;</highlight></codeline>
<codeline lineno="465" refid="classforpy_1_1_regression_tree_1ad8285f554f07d3e428b8a2b9552768fe" refkind="member"><highlight class="normal"><sp/><sp/>};</highlight></codeline>
<codeline lineno="466"><highlight class="normal"></highlight></codeline>
<codeline lineno="467"><highlight class="normal"><sp/></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="468"><highlight class="normal"><sp/><sp/>std::unordered_map&lt;std::string,<sp/>mu::variant&lt;uint,<sp/>size_t,<sp/>float,<sp/>bool&gt;&gt;</highlight></codeline>
<codeline lineno="469"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classforpy_1_1_regression_tree_1ad8285f554f07d3e428b8a2b9552768fe" kindref="member">params</ref>;</highlight></codeline>
<codeline lineno="470" refid="classforpy_1_1_regression_tree_1ab2f44cbb59a08132f4c843e5225bba0e" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">friend</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classforpy_1_1_regression_tree_1ab2f44cbb59a08132f4c843e5225bba0e" kindref="member">cereal::access</ref>;</highlight></codeline>
<codeline lineno="471"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><sp/>&lt;</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>Archive&gt;</highlight></codeline>
<codeline lineno="472" refid="classforpy_1_1_regression_tree_1a38c43dd0b512c6d6533502b542d226b1" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classforpy_1_1_regression_tree_1a38c43dd0b512c6d6533502b542d226b1" kindref="member">serialize</ref>(Archive<sp/>&amp;ar,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref><sp/>&amp;)<sp/>{</highlight></codeline>
<codeline lineno="473"><highlight class="normal"><sp/><sp/><sp/><sp/>ar(cereal::make_nvp(</highlight><highlight class="stringliteral">&quot;base&quot;</highlight><highlight class="normal">,<sp/>cereal::base_class&lt;Tree&gt;(</highlight><highlight class="keyword">this</highlight><highlight class="normal">)),</highlight></codeline>
<codeline lineno="474"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/>CEREAL_NVP(<ref refid="classforpy_1_1_regression_tree_1ad8285f554f07d3e428b8a2b9552768fe" kindref="member">params</ref>));</highlight></codeline>
<codeline lineno="475"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="476"><highlight class="normal"><sp/><sp/><ref refid="classforpy_1_1_regression_tree_1aa7fe7e859bc967e3c80748474edeb66b" kindref="member">DISALLOW_COPY_AND_ASSIGN</ref>(<ref refid="classforpy_1_1_regression_tree" kindref="compound">RegressionTree</ref>);</highlight></codeline>
<codeline lineno="477"><highlight class="normal">};</highlight></codeline>
<codeline lineno="478"><highlight class="normal"></highlight></codeline>
<codeline lineno="479"><highlight class="normal">};<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>namespace<sp/>forpy</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="480"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/><sp/>//<sp/>FORPY_TREE_H_</highlight></codeline>
    </programlisting>
    <location file="/Users/classner/git/forpy/include/forpy/tree.h"/>
  </compounddef>
</doxygen>
