blob: 55ecba65da4bdf23364a8e40a9209398437a7888 [file] [log] [blame]
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Returns a square matrix C where C_ij is the count of the samples which were predicted to lie in the class with jth label but actually lie in the class with ith label."><meta name="keywords" content="rust, rustlang, rust-lang, confusion_matrix"><title>confusion_matrix in rusty_machine::analysis::confusion_matrix - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" href="../../../normalize.css"><link rel="stylesheet" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" href="../../../ayu.css" disabled><link rel="stylesheet" href="../../../dark.css" disabled><link rel="stylesheet" href="../../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../../storage.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../main.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../../rusty_machine/index.html"><div class="logo-container"><img class="rust-logo" src="../../../rust-logo.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../../rusty_machine/index.html"><div class="logo-container"><img class="rust-logo" src="../../../rust-logo.svg" alt="logo"></div></a><div class="sidebar-elems"><h2><a href="index.html">In rusty_machine::analysis::confusion_matrix</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../wheel.svg"></a></div></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Function <a href="../../index.html">rusty_machine</a>::<wbr><a href="../index.html">analysis</a>::<wbr><a href="index.html">confusion_matrix</a>::<wbr><a class="fn" href="#">confusion_matrix</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../../src/rusty_machine/analysis/confusion_matrix.rs.html#44-78">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="item-decl"><pre class="rust fn"><code>pub fn confusion_matrix&lt;T&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;predictions: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;targets: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[T]</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;labels: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;T&gt;&gt;<br>) -&gt; <a class="struct" href="../../linalg/struct.Matrix.html" title="struct rusty_machine::linalg::Matrix">Matrix</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Returns a square matrix C where C_ij is the count of the samples which were
predicted to lie in the class with jth label but actually lie in the class with
ith label.</p>
<h2 id="arguments"><a href="#arguments">Arguments</a></h2>
<ul>
<li><code>predictions</code> - A series of model predictions.</li>
<li><code>targets</code> - A slice of equal length to predictions, containing the
target results.</li>
<li><code>labels</code> - If None then the rows and columns of the returned matrix
correspond to the distinct labels appearing in either
predictions or targets, in increasing order.
If Some then the rows and columns correspond to the provided
labels, in the provided order. Note that in this case the
confusion matrix will only contain entries for the elements
of <code>labels</code>.</li>
</ul>
<h2 id="examples"><a href="#examples">Examples</a></h2>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rusty_machine::analysis::confusion_matrix::confusion_matrix;
<span class="kw">use </span>rusty_machine::linalg::Matrix;
<span class="kw">let </span>truth = <span class="macro">vec!</span>[<span class="number">2</span>, <span class="number">0</span>, <span class="number">2</span>, <span class="number">2</span>, <span class="number">0</span>, <span class="number">1</span>];
<span class="kw">let </span>predictions = <span class="macro">vec!</span>[<span class="number">0</span>, <span class="number">0</span>, <span class="number">2</span>, <span class="number">2</span>, <span class="number">0</span>, <span class="number">2</span>];
<span class="kw">let </span>confusion = confusion_matrix(<span class="kw-2">&amp;</span>predictions, <span class="kw-2">&amp;</span>truth, <span class="prelude-val">None</span>);
<span class="kw">let </span>expected = Matrix::new(<span class="number">3</span>, <span class="number">3</span>, <span class="macro">vec!</span>[
<span class="number">2</span>, <span class="number">0</span>, <span class="number">0</span>,
<span class="number">0</span>, <span class="number">0</span>, <span class="number">1</span>,
<span class="number">1</span>, <span class="number">0</span>, <span class="number">2</span>]);
<span class="macro">assert_eq!</span>(confusion, expected);</code></pre></div>
<h2 id="panics"><a href="#panics">Panics</a></h2>
<ul>
<li>If user-provided labels are not distinct.</li>
<li>If predictions and targets have different lengths.</li>
</ul>
</div></details></section></div></main><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="rusty_machine" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.66.0-nightly (5c8bff74b 2022-10-21)" ></div></body></html>