<?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="classforpy_1_1_fast_decider" kind="class" language="C++" prot="public">
    <compoundname>forpy::FastDecider</compoundname>
    <basecompoundref refid="classforpy_1_1_i_decider" prot="public" virt="non-virtual">forpy::IDecider</basecompoundref>
    <includes refid="fastdecider_8h" local="no">fastdecider.h</includes>
      <sectiondef kind="friend">
      <memberdef kind="friend" id="classforpy_1_1_fast_decider_1ab2f44cbb59a08132f4c843e5225bba0e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>friend class</type>
        <definition>friend class cereal::access</definition>
        <argsstring></argsstring>
        <name>cereal::access</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="147" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" bodystart="147" bodyend="-1"/>
      </memberdef>
      <memberdef kind="friend" id="classforpy_1_1_fast_decider_1a9875350500652a92da033255f97d60b8" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type>friend std::ostream &amp;</type>
        <definition>std::ostream&amp; operator&lt;&lt;</definition>
        <argsstring>(std::ostream &amp;stream, const FastDecider &amp;self)</argsstring>
        <name>operator&lt;&lt;</name>
        <param>
          <type>std::ostream &amp;</type>
          <declname>stream</declname>
        </param>
        <param>
          <type>const <ref refid="classforpy_1_1_fast_decider" kindref="compound">FastDecider</ref> &amp;</type>
          <declname>self</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="135" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" bodystart="135" bodyend="140"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="private-attrib">
      <memberdef kind="variable" id="classforpy_1_1_fast_decider_1a89eb585603d4c365bfe82330e8d8810f" prot="private" static="no" mutable="no">
        <type>std::shared_ptr&lt; <ref refid="classforpy_1_1_i_thresh_opt" kindref="compound">IThreshOpt</ref> &gt;</type>
        <definition>std::shared_ptr&lt;IThreshOpt&gt; forpy::FastDecider::threshold_optimizer</definition>
        <argsstring></argsstring>
        <name>threshold_optimizer</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="166" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" bodystart="166" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classforpy_1_1_fast_decider_1ac39412abc6a5bcd1182443e715a28c3f" prot="private" static="no" mutable="no">
        <type>size_t</type>
        <definition>size_t forpy::FastDecider::n_valids_to_use</definition>
        <argsstring></argsstring>
        <name>n_valids_to_use</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="167" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" bodystart="167" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classforpy_1_1_fast_decider_1a684d1db73cb2528e2bd111cd83a1aff0" prot="private" static="no" mutable="no">
        <type>bool</type>
        <definition>bool forpy::FastDecider::autoscale_valid_features</definition>
        <argsstring></argsstring>
        <name>autoscale_valid_features</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="168" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" bodystart="168" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classforpy_1_1_fast_decider_1a33acfa7d12a826914428686a558d3fb4" prot="private" static="no" mutable="no">
        <type>std::vector&lt; size_t &gt;</type>
        <definition>std::vector&lt;size_t&gt; forpy::FastDecider::node_to_featsel</definition>
        <argsstring></argsstring>
        <name>node_to_featsel</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="169" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" bodystart="169" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classforpy_1_1_fast_decider_1a53b6529e0743d6adbf12442c822c57a9" prot="private" static="no" mutable="no">
        <type>mu::variant&lt; std::vector&lt; float &gt;, std::vector&lt; double &gt;, std::vector&lt; uint32_t &gt;, std::vector&lt; uint8_t &gt; &gt;</type>
        <definition>mu::variant&lt;std::vector&lt;float&gt;, std::vector&lt;double&gt;, std::vector&lt;uint32_t&gt;, std::vector&lt;uint8_t&gt; &gt; forpy::FastDecider::node_to_thresh_v</definition>
        <argsstring></argsstring>
        <name>node_to_thresh_v</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="172" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" bodystart="172" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classforpy_1_1_fast_decider_1a55b1e97048a19a0c7d35130dc36fb525" prot="private" static="no" mutable="no">
        <type>size_t</type>
        <definition>size_t forpy::FastDecider::data_dim</definition>
        <argsstring></argsstring>
        <name>data_dim</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="173" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" bodystart="173" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="public-func">
      <memberdef kind="function" id="classforpy_1_1_fast_decider_1a404f95badda573334cffc28476b206d2" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>forpy::FastDecider::FastDecider</definition>
        <argsstring>(const std::shared_ptr&lt; IThreshOpt &gt; &amp;threshold_optimizer=nullptr, const size_t &amp;n_valid_features_to_use=0, const bool &amp;autoscale_valid_features=false)</argsstring>
        <name>FastDecider</name>
        <param>
          <type>const std::shared_ptr&lt; <ref refid="classforpy_1_1_i_thresh_opt" kindref="compound">IThreshOpt</ref> &gt; &amp;</type>
          <declname>threshold_optimizer</declname>
          <defval>nullptr</defval>
        </param>
        <param>
          <type>const size_t &amp;</type>
          <declname>n_valid_features_to_use</declname>
          <defval>0</defval>
        </param>
        <param>
          <type>const bool &amp;</type>
          <declname>autoscale_valid_features</declname>
          <defval>false</defval>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>threshold_optimizer</parametername>
</parameternamelist>
<parameterdescription>
<para>shared(IThreshOpt) Optimizes <formula id="1">$\tau$</formula>. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>n_valid_features_to_use</parametername>
</parameternamelist>
<parameterdescription>
<para>size_t The threshold optimizer may hint that a selected feature may be completely inappropriate for the currently searched split. If the feature selection provider does provide sufficiently many features, the classifier may use the next one and &quot;not count&quot; the inappropriate one. This is the maximum number of &quot;valid&quot; features that are used per split. If 0, ignore the flag returned by the optimizer and always use all suggested feature combinations provided by the feature selection provider. Default: 0. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>autoscale_valid_features</parametername>
</parameternamelist>
<parameterdescription>
<para>bool If set to true, automatically scale to sqrt(number of features) of the input data. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="64" column="1"/>
      </memberdef>
      <memberdef kind="function" id="classforpy_1_1_fast_decider_1a67e51e5b1c29fbf60860faa9b8c8ec68" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="virtual">
        <type>std::shared_ptr&lt; <ref refid="classforpy_1_1_i_decider" kindref="compound">IDecider</ref> &gt;</type>
        <definition>virtual std::shared_ptr&lt;IDecider&gt; forpy::FastDecider::create_duplicate</definition>
        <argsstring>(const uint &amp;random_seed) const</argsstring>
        <name>create_duplicate</name>
        <reimplements refid="classforpy_1_1_i_decider_1aef2f4d86f28b9521ffb691058231aaaf">create_duplicate</reimplements>
        <param>
          <type>const <ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref> &amp;</type>
          <declname>random_seed</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Create an equivalent, but empty, duplicate. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="68" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" bodystart="68" bodyend="76"/>
      </memberdef>
      <memberdef kind="function" id="classforpy_1_1_fast_decider_1aa86d9abb1b2702291fc5555fd539ff1c" prot="public" static="no" const="no" explicit="no" inline="yes" virt="virtual">
        <type>bool</type>
        <definition>bool forpy::FastDecider::is_compatible_with</definition>
        <argsstring>(const IDataProvider &amp;dprov)</argsstring>
        <name>is_compatible_with</name>
        <reimplements refid="classforpy_1_1_i_decider_1adee37041bacecad8202b32183c72ab42">is_compatible_with</reimplements>
        <param>
          <type>const <ref refid="classforpy_1_1_i_data_provider" kindref="compound">IDataProvider</ref> &amp;</type>
          <declname>dprov</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="78" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" bodystart="78" bodyend="97"/>
      </memberdef>
      <memberdef kind="function" id="classforpy_1_1_fast_decider_1acc93b80b57c9fe93b66b8c0949f1c33d" prot="public" static="no" const="no" explicit="no" inline="yes" virt="virtual">
        <type>void</type>
        <definition>void forpy::FastDecider::transfer_or_run_check</definition>
        <argsstring>(const std::shared_ptr&lt; IDecider &gt; &amp;other, IDataProvider *dprov)</argsstring>
        <name>transfer_or_run_check</name>
        <reimplements refid="classforpy_1_1_i_decider_1a1f40bdaafeafafb9f1465dc432981ce5">transfer_or_run_check</reimplements>
        <param>
          <type>const std::shared_ptr&lt; <ref refid="classforpy_1_1_i_decider" kindref="compound">IDecider</ref> &gt; &amp;</type>
          <declname>other</declname>
        </param>
        <param>
          <type><ref refid="classforpy_1_1_i_data_provider" kindref="compound">IDataProvider</ref> *</type>
          <declname>dprov</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="99" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" bodystart="99" bodyend="109"/>
      </memberdef>
      <memberdef kind="function" id="classforpy_1_1_fast_decider_1a73c104731adf64816cdfa32d78f153b5" prot="public" static="no" const="no" explicit="no" inline="yes" virt="virtual">
        <type>void</type>
        <definition>void forpy::FastDecider::set_data_dim</definition>
        <argsstring>(const size_t &amp;val)</argsstring>
        <name>set_data_dim</name>
        <reimplements refid="classforpy_1_1_i_decider_1a09cb4f288700500b09973798635c4825">set_data_dim</reimplements>
        <param>
          <type>const size_t &amp;</type>
          <declname>val</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="111" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" bodystart="111" bodyend="111"/>
      </memberdef>
      <memberdef kind="function" id="classforpy_1_1_fast_decider_1ae63a08fe363546bd5b660c480e58b2fc" prot="public" static="no" const="no" explicit="no" inline="yes" virt="virtual">
        <type>void</type>
        <definition>void forpy::FastDecider::ensure_capacity</definition>
        <argsstring>(const size_t &amp;n_samples)</argsstring>
        <name>ensure_capacity</name>
        <reimplements refid="classforpy_1_1_i_decider_1ab028c21b3ddbf2381e0a9aeeee82b720">ensure_capacity</reimplements>
        <param>
          <type>const size_t &amp;</type>
          <declname>n_samples</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="113" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" bodystart="113" bodyend="116"/>
      </memberdef>
      <memberdef kind="function" id="classforpy_1_1_fast_decider_1ae525593966b44964aa0690aad90cf62d" prot="public" static="no" const="no" explicit="no" inline="yes" virt="virtual">
        <type>void</type>
        <definition>void forpy::FastDecider::finalize_capacity</definition>
        <argsstring>(const size_t &amp;size)</argsstring>
        <name>finalize_capacity</name>
        <reimplements refid="classforpy_1_1_i_decider_1a73b3b353b7a4a285f57eaf6be4f0df72">finalize_capacity</reimplements>
        <param>
          <type>const size_t &amp;</type>
          <declname>size</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="118" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" bodystart="118" bodyend="118"/>
      </memberdef>
      <memberdef kind="function" id="classforpy_1_1_fast_decider_1a3d05e3fd5701735e77efb65e2481dce1" prot="public" static="no" const="yes" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>void forpy::FastDecider::make_node</definition>
        <argsstring>(const TodoMark &amp;todo_info, const uint &amp;min_samples_at_leaf, const IDataProvider &amp;data_provider, Desk *d) const</argsstring>
        <name>make_node</name>
        <reimplements refid="classforpy_1_1_i_decider_1ad5b4d3ca5016e3d1c32d5dffbf4058a4">make_node</reimplements>
        <param>
          <type>const <ref refid="structforpy_1_1_todo_mark" kindref="compound">TodoMark</ref> &amp;</type>
          <declname>todo_info</declname>
        </param>
        <param>
          <type>const <ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref> &amp;</type>
          <declname>min_samples_at_leaf</declname>
        </param>
        <param>
          <type>const <ref refid="classforpy_1_1_i_data_provider" kindref="compound">IDataProvider</ref> &amp;</type>
          <declname>data_provider</declname>
        </param>
        <param>
          <type><ref refid="structforpy_1_1_desk" kindref="compound">Desk</ref> *</type>
          <declname>d</declname>
        </param>
        <briefdescription>
<para>Optimizes a classifier for the given data and stores the params. </para>        </briefdescription>
        <detaileddescription>
<para>This method must either set make_to_leaf to true or assure that at least the minimum amount of samples per leaf is contained in each of element_list_left and element_list_right. In the case that make_leaf is true, the list pointers may even be returned uninitialized.</para><para>If it is necessary to enforce additional growing constraints for the tree, this is the right place (e.g. have a minimum number of samples per node). The classifier manager can take these constraints into account and may return make_to_leaf accordingly. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="120" column="1"/>
      </memberdef>
      <memberdef kind="function" id="classforpy_1_1_fast_decider_1a1f3ad502d63b3ff3764826ac0590289b" prot="public" static="no" const="yes" explicit="no" inline="no" virt="virtual">
        <type>bool</type>
        <definition>bool forpy::FastDecider::decide</definition>
        <argsstring>(const id_t &amp;node_id, const Data&lt; MatCRef &gt; &amp;data_v, const std::function&lt; void(void *)&gt; &amp;decision_param_transf=nullptr) const</argsstring>
        <name>decide</name>
        <reimplements refid="classforpy_1_1_i_decider_1a031a8efd9b13282eb4466e4a82d47cd0">decide</reimplements>
        <param>
          <type>const <ref refid="namespaceforpy_1a324c9643e02b76477c3a99a48773be8c" kindref="member">id_t</ref> &amp;</type>
          <declname>node_id</declname>
        </param>
        <param>
          <type>const <ref refid="namespaceforpy_1a724d37691de11a57b50b9935b5550a89" kindref="member">Data</ref>&lt; <ref refid="namespaceforpy_1a4a9ac2f76a00cbaa27aa5c24ff4074a5" kindref="member">MatCRef</ref> &gt; &amp;</type>
          <declname>data</declname>
        </param>
        <param>
          <type>const std::function&lt; void(void *)&gt; &amp;</type>
          <declname>dptf</declname>
          <defval>nullptr</defval>
        </param>
        <briefdescription>
<para>Makes a decision for a node with already optimized parameters. </para>        </briefdescription>
        <detaileddescription>
<para>The classifier parameters must have been optimized for the node_id before this method is called.</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>node_id</parametername>
</parameternamelist>
<parameterdescription>
<para>The node id of the node for which the decision should be made. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>data</parametername>
</parameternamelist>
<parameterdescription>
<para>The input data. </para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>dptf</parametername>
</parameternamelist>
<parameterdescription>
<para>Feature transformation function; currently unused. </para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>true, if the decision goes to left, false otherwise. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="123" column="1"/>
      </memberdef>
      <memberdef kind="function" id="classforpy_1_1_fast_decider_1a1ee1ea0966f7839935d837d04aa9ac6e" prot="public" static="no" const="yes" explicit="no" inline="no" virt="virtual">
        <type>bool</type>
        <definition>bool forpy::FastDecider::supports_weights</definition>
        <argsstring>() const</argsstring>
        <name>supports_weights</name>
        <reimplements refid="classforpy_1_1_i_decider_1a88dbf8036bcf68312011743ffc821646">supports_weights</reimplements>
        <briefdescription>
<para>Whether this classifier manager supports sample weights during training. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="127" column="1"/>
      </memberdef>
      <memberdef kind="function" id="classforpy_1_1_fast_decider_1a94866bb04b4e741c86e269573a29beb4" prot="public" static="no" const="yes" explicit="no" inline="no" virt="virtual">
        <type>size_t</type>
        <definition>size_t forpy::FastDecider::get_data_dim</definition>
        <argsstring>() const</argsstring>
        <name>get_data_dim</name>
        <reimplements refid="classforpy_1_1_i_decider_1ab69daae427d6bf2de46d0ddaa4cff851">get_data_dim</reimplements>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Gets the input dimension of the feature selection provider. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="129" column="1"/>
      </memberdef>
      <memberdef kind="function" id="classforpy_1_1_fast_decider_1a1f479e3186a72c7b0da12f6ce6bb651e" prot="public" static="no" const="yes" explicit="no" inline="no" virt="virtual">
        <type>std::shared_ptr&lt; <ref refid="classforpy_1_1_i_thresh_opt" kindref="compound">IThreshOpt</ref> &gt;</type>
        <definition>std::shared_ptr&lt;IThreshOpt&gt; forpy::FastDecider::get_threshopt</definition>
        <argsstring>() const</argsstring>
        <name>get_threshopt</name>
        <reimplements refid="classforpy_1_1_i_decider_1a5d181bbb00717066c9902572d6e550af">get_threshopt</reimplements>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="131" column="1"/>
      </memberdef>
      <memberdef kind="function" id="classforpy_1_1_fast_decider_1a2ec7bb7c730aa188f168f9a5c16b54a0" prot="public" static="no" const="yes" explicit="no" inline="no" virt="virtual">
        <type>bool</type>
        <definition>bool forpy::FastDecider::operator==</definition>
        <argsstring>(const IDecider &amp;rhs) const</argsstring>
        <name>operator==</name>
        <reimplements refid="classforpy_1_1_i_decider_1a9b6167ef333634bd58acb5e619643820">operator==</reimplements>
        <param>
          <type>const <ref refid="classforpy_1_1_i_decider" kindref="compound">IDecider</ref> &amp;</type>
          <declname>rhs</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="133" column="1"/>
      </memberdef>
      <memberdef kind="function" id="classforpy_1_1_fast_decider_1a2242294fea19611e426f208deb02932c" prot="public" static="no" const="yes" explicit="no" inline="no" virt="virtual">
        <type>std::pair&lt; const std::vector&lt; size_t &gt; *, const mu::variant&lt; std::vector&lt; float &gt;, std::vector&lt; double &gt;, std::vector&lt; uint32_t &gt;, std::vector&lt; uint8_t &gt; &gt; * &gt;</type>
        <definition>std::pair&lt;const std::vector&lt;size_t&gt; *, const mu::variant&lt;std::vector&lt;float&gt;, std::vector&lt;double&gt;, std::vector&lt;uint32_t&gt;, std::vector&lt;uint8_t&gt; &gt; *&gt; forpy::FastDecider::get_maps</definition>
        <argsstring>() const</argsstring>
        <name>get_maps</name>
        <reimplements refid="classforpy_1_1_i_decider_1a2763e055cea08b350f03d95bd33971ae">get_maps</reimplements>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="144" column="1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="private-func">
      <memberdef kind="function" id="classforpy_1_1_fast_decider_1abd9c04dd50cd0eace733eeaf28f20584" prot="private" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <templateparamlist>
          <param>
            <type>class Archive</type>
          </param>
        </templateparamlist>
        <type>void</type>
        <definition>void forpy::FastDecider::serialize</definition>
        <argsstring>(Archive &amp;ar, const uint &amp;)</argsstring>
        <name>serialize</name>
        <param>
          <type>Archive &amp;</type>
          <declname>ar</declname>
        </param>
        <param>
          <type>const <ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref> &amp;</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="149" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" bodystart="149" bodyend="154"/>
      </memberdef>
      <memberdef kind="function" id="classforpy_1_1_fast_decider_1ab2fc803be31a793c919bd32164e34e59" prot="private" static="no" const="yes" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void forpy::FastDecider::_make_node__checks</definition>
        <argsstring>(const TodoMark &amp;todo_info, const IDataProvider &amp;data_provider, const uint &amp;min_samples_at_leaf, Desk *d) const</argsstring>
        <name>_make_node__checks</name>
        <param>
          <type>const <ref refid="structforpy_1_1_todo_mark" kindref="compound">TodoMark</ref> &amp;</type>
          <declname>todo_info</declname>
        </param>
        <param>
          <type>const <ref refid="classforpy_1_1_i_data_provider" kindref="compound">IDataProvider</ref> &amp;</type>
          <declname>data_provider</declname>
        </param>
        <param>
          <type>const <ref refid="namespaceforpy_1ad05e34c62859518b61b76b5085e913d8" kindref="member">uint</ref> &amp;</type>
          <declname>min_samples_at_leaf</declname>
        </param>
        <param>
          <type><ref refid="structforpy_1_1_desk" kindref="compound">Desk</ref> *</type>
          <declname>d</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="157" column="1"/>
      </memberdef>
      <memberdef kind="function" id="classforpy_1_1_fast_decider_1a4532a4d89401d820046757a4f3297b14" prot="private" static="no" const="yes" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void forpy::FastDecider::_make_node__opt</definition>
        <argsstring>(const IDataProvider &amp;dprov, Desk *d) const</argsstring>
        <name>_make_node__opt</name>
        <param>
          <type>const <ref refid="classforpy_1_1_i_data_provider" kindref="compound">IDataProvider</ref> &amp;</type>
          <declname>dprov</declname>
        </param>
        <param>
          <type><ref refid="structforpy_1_1_desk" kindref="compound">Desk</ref> *</type>
          <declname>d</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="161" column="1"/>
      </memberdef>
      <memberdef kind="function" id="classforpy_1_1_fast_decider_1ab3aa16331610cf3d388b62f8c913d495" prot="private" static="no" const="yes" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void forpy::FastDecider::_make_node__postprocess</definition>
        <argsstring>(const IDataProvider &amp;dprov, Desk *d) const</argsstring>
        <name>_make_node__postprocess</name>
        <param>
          <type>const <ref refid="classforpy_1_1_i_data_provider" kindref="compound">IDataProvider</ref> &amp;</type>
          <declname>dprov</declname>
        </param>
        <param>
          <type><ref refid="structforpy_1_1_desk" kindref="compound">Desk</ref> *</type>
          <declname>d</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="163" column="1"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>A classifier manager for weak classifiers with a filter function, a feature calculation function and a thresholding. </para>    </briefdescription>
    <detaileddescription>
<para>The classifier design is heavily inspired by "Decision Forests for Classification, Regression, Density Estimation, Manifold Learning and Semi-Supervised Learning" (Criminisi, Shotton and Konukoglu, 2011). With their definition, node classifier parameters <formula id="0">$\theta$</formula> can be split into three parts:<itemizedlist>
<listitem><para><formula id="1">$\tau$</formula>: thresholding parameters for the calculated scalar.</para></listitem></itemizedlist>
</para><para>With this model, a decision can be made at each node based on whether the calculated scalar lies withing the thresholding bounds. </para>    </detaileddescription>
    <inheritancegraph>
      <node id="71">
        <label>forpy::IDecider</label>
        <link refid="classforpy_1_1_i_decider"/>
      </node>
      <node id="70">
        <label>forpy::FastDecider</label>
        <link refid="classforpy_1_1_fast_decider"/>
        <childnode refid="71" relation="public-inheritance">
        </childnode>
      </node>
    </inheritancegraph>
    <collaborationgraph>
      <node id="73">
        <label>forpy::IDecider</label>
        <link refid="classforpy_1_1_i_decider"/>
      </node>
      <node id="74">
        <label>std::vector&lt; size_t &gt;</label>
      </node>
      <node id="72">
        <label>forpy::FastDecider</label>
        <link refid="classforpy_1_1_fast_decider"/>
        <childnode refid="73" relation="public-inheritance">
        </childnode>
        <childnode refid="74" relation="usage">
          <edgelabel>node_to_featsel</edgelabel>
        </childnode>
      </node>
    </collaborationgraph>
    <location file="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" line="45" column="1" bodyfile="/Users/classner/git/forpy/include/forpy/deciders/fastdecider.h" bodystart="45" bodyend="174"/>
    <listofallmembers>
      <member refid="classforpy_1_1_fast_decider_1ab2fc803be31a793c919bd32164e34e59" prot="private" virt="non-virtual"><scope>forpy::FastDecider</scope><name>_make_node__checks</name></member>
      <member refid="classforpy_1_1_fast_decider_1a4532a4d89401d820046757a4f3297b14" prot="private" virt="non-virtual"><scope>forpy::FastDecider</scope><name>_make_node__opt</name></member>
      <member refid="classforpy_1_1_fast_decider_1ab3aa16331610cf3d388b62f8c913d495" prot="private" virt="non-virtual"><scope>forpy::FastDecider</scope><name>_make_node__postprocess</name></member>
      <member refid="classforpy_1_1_fast_decider_1a684d1db73cb2528e2bd111cd83a1aff0" prot="private" virt="non-virtual"><scope>forpy::FastDecider</scope><name>autoscale_valid_features</name></member>
      <member refid="classforpy_1_1_fast_decider_1ab2f44cbb59a08132f4c843e5225bba0e" prot="public" virt="non-virtual"><scope>forpy::FastDecider</scope><name>cereal::access</name></member>
      <member refid="classforpy_1_1_fast_decider_1a67e51e5b1c29fbf60860faa9b8c8ec68" prot="public" virt="virtual"><scope>forpy::FastDecider</scope><name>create_duplicate</name></member>
      <member refid="classforpy_1_1_fast_decider_1a55b1e97048a19a0c7d35130dc36fb525" prot="private" virt="non-virtual"><scope>forpy::FastDecider</scope><name>data_dim</name></member>
      <member refid="classforpy_1_1_fast_decider_1a1f3ad502d63b3ff3764826ac0590289b" prot="public" virt="virtual"><scope>forpy::FastDecider</scope><name>decide</name></member>
      <member refid="classforpy_1_1_fast_decider_1ae63a08fe363546bd5b660c480e58b2fc" prot="public" virt="virtual"><scope>forpy::FastDecider</scope><name>ensure_capacity</name></member>
      <member refid="classforpy_1_1_fast_decider_1a404f95badda573334cffc28476b206d2" prot="public" virt="non-virtual"><scope>forpy::FastDecider</scope><name>FastDecider</name></member>
      <member refid="classforpy_1_1_fast_decider_1ae525593966b44964aa0690aad90cf62d" prot="public" virt="virtual"><scope>forpy::FastDecider</scope><name>finalize_capacity</name></member>
      <member refid="classforpy_1_1_fast_decider_1a94866bb04b4e741c86e269573a29beb4" prot="public" virt="virtual"><scope>forpy::FastDecider</scope><name>get_data_dim</name></member>
      <member refid="classforpy_1_1_fast_decider_1a2242294fea19611e426f208deb02932c" prot="public" virt="virtual"><scope>forpy::FastDecider</scope><name>get_maps</name></member>
      <member refid="classforpy_1_1_fast_decider_1a1f479e3186a72c7b0da12f6ce6bb651e" prot="public" virt="virtual"><scope>forpy::FastDecider</scope><name>get_threshopt</name></member>
      <member refid="classforpy_1_1_i_decider_1a9ae8bfccf6ca473038089c3f12d6e8e8" prot="protected" virt="non-virtual"><scope>forpy::FastDecider</scope><name>IDecider</name></member>
      <member refid="classforpy_1_1_fast_decider_1aa86d9abb1b2702291fc5555fd539ff1c" prot="public" virt="virtual"><scope>forpy::FastDecider</scope><name>is_compatible_with</name></member>
      <member refid="classforpy_1_1_fast_decider_1a3d05e3fd5701735e77efb65e2481dce1" prot="public" virt="virtual"><scope>forpy::FastDecider</scope><name>make_node</name></member>
      <member refid="classforpy_1_1_fast_decider_1ac39412abc6a5bcd1182443e715a28c3f" prot="private" virt="non-virtual"><scope>forpy::FastDecider</scope><name>n_valids_to_use</name></member>
      <member refid="classforpy_1_1_fast_decider_1a33acfa7d12a826914428686a558d3fb4" prot="private" virt="non-virtual"><scope>forpy::FastDecider</scope><name>node_to_featsel</name></member>
      <member refid="classforpy_1_1_fast_decider_1a53b6529e0743d6adbf12442c822c57a9" prot="private" virt="non-virtual"><scope>forpy::FastDecider</scope><name>node_to_thresh_v</name></member>
      <member refid="classforpy_1_1_fast_decider_1a9875350500652a92da033255f97d60b8" prot="public" virt="non-virtual"><scope>forpy::FastDecider</scope><name>operator&lt;&lt;</name></member>
      <member refid="classforpy_1_1_fast_decider_1a2ec7bb7c730aa188f168f9a5c16b54a0" prot="public" virt="virtual"><scope>forpy::FastDecider</scope><name>operator==</name></member>
      <member refid="classforpy_1_1_fast_decider_1abd9c04dd50cd0eace733eeaf28f20584" prot="private" virt="non-virtual"><scope>forpy::FastDecider</scope><name>serialize</name></member>
      <member refid="classforpy_1_1_fast_decider_1a73c104731adf64816cdfa32d78f153b5" prot="public" virt="virtual"><scope>forpy::FastDecider</scope><name>set_data_dim</name></member>
      <member refid="classforpy_1_1_fast_decider_1a1ee1ea0966f7839935d837d04aa9ac6e" prot="public" virt="virtual"><scope>forpy::FastDecider</scope><name>supports_weights</name></member>
      <member refid="classforpy_1_1_fast_decider_1a89eb585603d4c365bfe82330e8d8810f" prot="private" virt="non-virtual"><scope>forpy::FastDecider</scope><name>threshold_optimizer</name></member>
      <member refid="classforpy_1_1_fast_decider_1acc93b80b57c9fe93b66b8c0949f1c33d" prot="public" virt="virtual"><scope>forpy::FastDecider</scope><name>transfer_or_run_check</name></member>
      <member refid="classforpy_1_1_i_decider_1a9c43b5883db0cc8a53d12af0f13da3b3" prot="public" virt="virtual"><scope>forpy::FastDecider</scope><name>~IDecider</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
