-serialize("my_random_forest.jls", small_model)</code></pre><p><code>Distribution</code> and <code>Point</code> are singleton types owned by LearnAPI.jl. They allow dispatch based on the <a href="reference/#proxy">kind of target proxy</a>, a key LearnAPI.jl concept. LearnAPI.jl places more emphasis on the notion of target variables and target proxies than on the usual supervised/unsupervised learning dichotomy. From this point of view, a supervised learner is simply one in which a target variable exists, and happens to appear as an input to training but not to prediction.</p><h2 id="Data-interfaces-and-front-ends"><a class="docs-heading-anchor" href="#Data-interfaces-and-front-ends">Data interfaces and front ends</a><a id="Data-interfaces-and-front-ends-1"></a><a class="docs-heading-anchor-permalink" href="#Data-interfaces-and-front-ends" title="Permalink"></a></h2><p>Algorithms are free to consume data in any format. However, a method called <a href="obs/#data_interface"><code>obs</code></a> (read as "observations") gives developers the option of providing a separate data front end for their algorithms. In this case <code>obs</code> gives users and meta-algorithms access to an algorithm-specific representation of input data, which is additionally guaranteed to implement a standard interface for accessing individual observations, unless the algorithm explicitly opts out. Moreover, the <code>fit</code> and <code>predict</code> methods can directly consume these alternative data representations, for performance benefits in some situations, such as cross-validation.</p><p>The fallback data interface is the <a href="https://github.com/JuliaML/MLCore.jl">MLCore.jl</a> <code>getobs/numobs</code> interface (previously provided by MLUtils.jl) here tagged as <a href="obs/#LearnAPI.RandomAccess"><code>LearnAPI.RandomAccess()</code></a>. However, if the input consumed by the algorithm already implements that interface (tables, arrays, etc.) then overloading <code>obs</code> is completely optional. Plain iteration interfaces, with or without knowledge of the number of observations, can also be specified, to support, e.g., data loaders reading images from disk.</p><p>Some canned data front ends (implementations of <a href="obs/#LearnAPI.obs"><code>obs</code></a>) are provided by the <a href="https://juliaai.github.io/LearnDataFrontEnds.jl/stable/">LearnDataFrontEnds.jl</a> package.</p><h2 id="Learning-more"><a class="docs-heading-anchor" href="#Learning-more">Learning more</a><a id="Learning-more-1"></a><a class="docs-heading-anchor-permalink" href="#Learning-more" title="Permalink"></a></h2><ul><li><p><a href="anatomy_of_an_implementation/#Anatomy-of-an-Implementation">Anatomy of an Implementation</a>: informal tutorial introducing the main actors in a new LearnAPI.jl implementation, including a <strong>Quick Start</strong> for new implementations.</p></li><li><p><a href="reference/#reference">Reference</a>: official specification</p></li><li><p><a href="common_implementation_patterns/#patterns">Common Implementation Patterns</a>: implementation suggestions for common, informally defined, algorithm types</p></li><li><p><a href="testing_an_implementation/#Testing-an-Implementation">Testing an Implementation</a></p></li></ul></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="anatomy_of_an_implementation/">Anatomy of an Implementation »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.14.1 on <span class="colophon-date" title="Monday 20 October 2025 01:21">Monday 20 October 2025</span>. Using Julia version 1.12.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
0 commit comments