Files
SVMClassifier/classsvm__classifier_1_1MulticlassStrategyBase.html
2025-06-22 11:25:27 +00:00

536 lines
28 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SVM Classifier C++: svm_classifier::MulticlassStrategyBase Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">SVM Classifier C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">High-performance Support Vector Machine classifier with scikit-learn compatible API</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>svm_classifier</b></li><li class="navelem"><a class="el" href="classsvm__classifier_1_1MulticlassStrategyBase.html">MulticlassStrategyBase</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classsvm__classifier_1_1MulticlassStrategyBase-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">svm_classifier::MulticlassStrategyBase Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div></div>
</div><!--header-->
<div class="contents">
<p>Abstract base class for multiclass classification strategies.
<a href="classsvm__classifier_1_1MulticlassStrategyBase.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="multiclass__strategy_8hpp_source.html">multiclass_strategy.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for svm_classifier::MulticlassStrategyBase:</div>
<div class="dyncontent">
<div class="center"><img src="classsvm__classifier_1_1MulticlassStrategyBase__inherit__graph.png" border="0" usemap="#asvm__classifier_1_1MulticlassStrategyBase_inherit__map" alt="Inheritance graph"/></div>
<map name="asvm__classifier_1_1MulticlassStrategyBase_inherit__map" id="asvm__classifier_1_1MulticlassStrategyBase_inherit__map">
<area shape="rect" title="Abstract base class for multiclass classification strategies." alt="" coords="114,5,303,45"/>
<area shape="rect" href="classsvm__classifier_1_1OneVsOneStrategy.html" title="One&#45;vs&#45;One (OvO) multiclass strategy." alt="" coords="5,93,196,133"/>
<area shape="poly" title=" " alt="" coords="176,56,126,95,123,91,172,52"/>
<area shape="rect" href="classsvm__classifier_1_1OneVsRestStrategy.html" title="One&#45;vs&#45;Rest (OvR) multiclass strategy." alt="" coords="221,93,415,133"/>
<area shape="poly" title=" " alt="" coords="245,52,295,91,292,95,242,56"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a8a5647dd57eed281288f0c9011b11395" id="r_a8a5647dd57eed281288f0c9011b11395"><td class="memItemLeft" align="right" valign="top"><a id="a8a5647dd57eed281288f0c9011b11395" name="a8a5647dd57eed281288f0c9011b11395"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><b>~MulticlassStrategyBase</b> ()=default</td></tr>
<tr class="memdesc:a8a5647dd57eed281288f0c9011b11395"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual destructor. <br /></td></tr>
<tr class="separator:a8a5647dd57eed281288f0c9011b11395"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a548af7201b7970abee0c31e7ec07d896" id="r_a548af7201b7970abee0c31e7ec07d896"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structsvm__classifier_1_1TrainingMetrics.html">TrainingMetrics</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsvm__classifier_1_1MulticlassStrategyBase.html#a548af7201b7970abee0c31e7ec07d896">fit</a> (const torch::Tensor &amp;X, const torch::Tensor &amp;y, const KernelParameters &amp;params, <a class="el" href="classsvm__classifier_1_1DataConverter.html">DataConverter</a> &amp;converter)=0</td></tr>
<tr class="memdesc:a548af7201b7970abee0c31e7ec07d896"><td class="mdescLeft">&#160;</td><td class="mdescRight">Train the multiclass classifier. <br /></td></tr>
<tr class="separator:a548af7201b7970abee0c31e7ec07d896"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70f94cfcf8b2bf6d60133c688fe55f9d" id="r_a70f94cfcf8b2bf6d60133c688fe55f9d"><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsvm__classifier_1_1MulticlassStrategyBase.html#a70f94cfcf8b2bf6d60133c688fe55f9d">predict</a> (const torch::Tensor &amp;X, <a class="el" href="classsvm__classifier_1_1DataConverter.html">DataConverter</a> &amp;converter)=0</td></tr>
<tr class="memdesc:a70f94cfcf8b2bf6d60133c688fe55f9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Predict class labels. <br /></td></tr>
<tr class="separator:a70f94cfcf8b2bf6d60133c688fe55f9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5348ee3b83547702ec7903ee7ee2da7" id="r_ab5348ee3b83547702ec7903ee7ee2da7"><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; std::vector&lt; double &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsvm__classifier_1_1MulticlassStrategyBase.html#ab5348ee3b83547702ec7903ee7ee2da7">predict_proba</a> (const torch::Tensor &amp;X, <a class="el" href="classsvm__classifier_1_1DataConverter.html">DataConverter</a> &amp;converter)=0</td></tr>
<tr class="memdesc:ab5348ee3b83547702ec7903ee7ee2da7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Predict class probabilities. <br /></td></tr>
<tr class="separator:ab5348ee3b83547702ec7903ee7ee2da7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1c4eb746cb1fdd67cf436ff85a9b0f0" id="r_ad1c4eb746cb1fdd67cf436ff85a9b0f0"><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; std::vector&lt; double &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsvm__classifier_1_1MulticlassStrategyBase.html#ad1c4eb746cb1fdd67cf436ff85a9b0f0">decision_function</a> (const torch::Tensor &amp;X, <a class="el" href="classsvm__classifier_1_1DataConverter.html">DataConverter</a> &amp;converter)=0</td></tr>
<tr class="memdesc:ad1c4eb746cb1fdd67cf436ff85a9b0f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get decision function values. <br /></td></tr>
<tr class="separator:ad1c4eb746cb1fdd67cf436ff85a9b0f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a379c4000227cc46410bfbecce6e80c33" id="r_a379c4000227cc46410bfbecce6e80c33"><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsvm__classifier_1_1MulticlassStrategyBase.html#a379c4000227cc46410bfbecce6e80c33">get_classes</a> () const =0</td></tr>
<tr class="memdesc:a379c4000227cc46410bfbecce6e80c33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get unique class labels. <br /></td></tr>
<tr class="separator:a379c4000227cc46410bfbecce6e80c33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ab91902f8d6eb216f626ce9ea4be992" id="r_a2ab91902f8d6eb216f626ce9ea4be992"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsvm__classifier_1_1MulticlassStrategyBase.html#a2ab91902f8d6eb216f626ce9ea4be992">supports_probability</a> () const =0</td></tr>
<tr class="memdesc:a2ab91902f8d6eb216f626ce9ea4be992"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the model supports probability prediction. <br /></td></tr>
<tr class="separator:a2ab91902f8d6eb216f626ce9ea4be992"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1740d877a4d634ec1763cb8646f5e172" id="r_a1740d877a4d634ec1763cb8646f5e172"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsvm__classifier_1_1MulticlassStrategyBase.html#a1740d877a4d634ec1763cb8646f5e172">get_n_classes</a> () const =0</td></tr>
<tr class="memdesc:a1740d877a4d634ec1763cb8646f5e172"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get number of classes. <br /></td></tr>
<tr class="separator:a1740d877a4d634ec1763cb8646f5e172"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31a0501fa1a6db1d41cbf825b2348e47" id="r_a31a0501fa1a6db1d41cbf825b2348e47"><td class="memItemLeft" align="right" valign="top">virtual MulticlassStrategy&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsvm__classifier_1_1MulticlassStrategyBase.html#a31a0501fa1a6db1d41cbf825b2348e47">get_strategy_type</a> () const =0</td></tr>
<tr class="memdesc:a31a0501fa1a6db1d41cbf825b2348e47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get strategy type. <br /></td></tr>
<tr class="separator:a31a0501fa1a6db1d41cbf825b2348e47"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a15bb6eb53e91e604b259b3050bd40e27" id="r_a15bb6eb53e91e604b259b3050bd40e27"><td class="memItemLeft" align="right" valign="top">std::vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsvm__classifier_1_1MulticlassStrategyBase.html#a15bb6eb53e91e604b259b3050bd40e27">classes_</a></td></tr>
<tr class="memdesc:a15bb6eb53e91e604b259b3050bd40e27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unique class labels. <br /></td></tr>
<tr class="separator:a15bb6eb53e91e604b259b3050bd40e27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e74cd580feaac0da34d204274a24fea" id="r_a8e74cd580feaac0da34d204274a24fea"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsvm__classifier_1_1MulticlassStrategyBase.html#a8e74cd580feaac0da34d204274a24fea">is_trained_</a> = false</td></tr>
<tr class="memdesc:a8e74cd580feaac0da34d204274a24fea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether the model is trained. <br /></td></tr>
<tr class="separator:a8e74cd580feaac0da34d204274a24fea"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Abstract base class for multiclass classification strategies. </p>
<p class="definition">Definition at line <a class="el" href="multiclass__strategy_8hpp_source.html#l00020">20</a> of file <a class="el" href="multiclass__strategy_8hpp_source.html">multiclass_strategy.hpp</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="ad1c4eb746cb1fdd67cf436ff85a9b0f0" name="ad1c4eb746cb1fdd67cf436ff85a9b0f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1c4eb746cb1fdd67cf436ff85a9b0f0">&#9670;&#160;</a></span>decision_function()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::vector&lt; std::vector&lt; double &gt; &gt; svm_classifier::MulticlassStrategyBase::decision_function </td>
<td>(</td>
<td class="paramtype">const torch::Tensor &amp;&#160;</td>
<td class="paramname"><em>X</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classsvm__classifier_1_1DataConverter.html">DataConverter</a> &amp;&#160;</td>
<td class="paramname"><em>converter</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get decision function values. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">X</td><td>Feature tensor of shape (n_samples, n_features) </td></tr>
<tr><td class="paramname">converter</td><td>Data converter instance </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Decision function values </dd></dl>
<p>Implemented in <a class="el" href="classsvm__classifier_1_1OneVsRestStrategy.html#a966b79bc8b6fac0fa78feefc2dd8a878">svm_classifier::OneVsRestStrategy</a>, and <a class="el" href="classsvm__classifier_1_1OneVsOneStrategy.html#a6aae0b5cd72180e94212454da8b777d2">svm_classifier::OneVsOneStrategy</a>.</p>
</div>
</div>
<a id="a548af7201b7970abee0c31e7ec07d896" name="a548af7201b7970abee0c31e7ec07d896"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a548af7201b7970abee0c31e7ec07d896">&#9670;&#160;</a></span>fit()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="structsvm__classifier_1_1TrainingMetrics.html">TrainingMetrics</a> svm_classifier::MulticlassStrategyBase::fit </td>
<td>(</td>
<td class="paramtype">const torch::Tensor &amp;&#160;</td>
<td class="paramname"><em>X</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const torch::Tensor &amp;&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const KernelParameters &amp;&#160;</td>
<td class="paramname"><em>params</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classsvm__classifier_1_1DataConverter.html">DataConverter</a> &amp;&#160;</td>
<td class="paramname"><em>converter</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Train the multiclass classifier. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">X</td><td>Feature tensor of shape (n_samples, n_features) </td></tr>
<tr><td class="paramname">y</td><td>Target tensor of shape (n_samples,) </td></tr>
<tr><td class="paramname">params</td><td>Kernel parameters </td></tr>
<tr><td class="paramname">converter</td><td>Data converter instance </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Training metrics </dd></dl>
<p>Implemented in <a class="el" href="classsvm__classifier_1_1OneVsRestStrategy.html#aae14da8c0effd04731b5a4a0181eb1b6">svm_classifier::OneVsRestStrategy</a>, and <a class="el" href="classsvm__classifier_1_1OneVsOneStrategy.html#af5ce4aeb191c5feed178b6465eac66f6">svm_classifier::OneVsOneStrategy</a>.</p>
</div>
</div>
<a id="a379c4000227cc46410bfbecce6e80c33" name="a379c4000227cc46410bfbecce6e80c33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a379c4000227cc46410bfbecce6e80c33">&#9670;&#160;</a></span>get_classes()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::vector&lt; int &gt; svm_classifier::MulticlassStrategyBase::get_classes </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get unique class labels. </p>
<dl class="section return"><dt>Returns</dt><dd>Vector of unique class labels </dd></dl>
<p>Implemented in <a class="el" href="classsvm__classifier_1_1OneVsRestStrategy.html#a5e10800b16dbc66fd1c0d5e0a42871f0">svm_classifier::OneVsRestStrategy</a>, and <a class="el" href="classsvm__classifier_1_1OneVsOneStrategy.html#a52f9c3d7d98077d1dec0d6034711b750">svm_classifier::OneVsOneStrategy</a>.</p>
</div>
</div>
<a id="a1740d877a4d634ec1763cb8646f5e172" name="a1740d877a4d634ec1763cb8646f5e172"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1740d877a4d634ec1763cb8646f5e172">&#9670;&#160;</a></span>get_n_classes()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual int svm_classifier::MulticlassStrategyBase::get_n_classes </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get number of classes. </p>
<dl class="section return"><dt>Returns</dt><dd>Number of classes </dd></dl>
<p>Implemented in <a class="el" href="classsvm__classifier_1_1OneVsRestStrategy.html#a53abe89ec25c33fd9c32d92ba08d01ed">svm_classifier::OneVsRestStrategy</a>, and <a class="el" href="classsvm__classifier_1_1OneVsOneStrategy.html#a16ee2ae3623767af2165fef2d4b7d039">svm_classifier::OneVsOneStrategy</a>.</p>
</div>
</div>
<a id="a31a0501fa1a6db1d41cbf825b2348e47" name="a31a0501fa1a6db1d41cbf825b2348e47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31a0501fa1a6db1d41cbf825b2348e47">&#9670;&#160;</a></span>get_strategy_type()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual MulticlassStrategy svm_classifier::MulticlassStrategyBase::get_strategy_type </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get strategy type. </p>
<dl class="section return"><dt>Returns</dt><dd>Multiclass strategy type </dd></dl>
<p>Implemented in <a class="el" href="classsvm__classifier_1_1OneVsRestStrategy.html#af9e1bd6d08ce3e7afd5279c835ce6cfb">svm_classifier::OneVsRestStrategy</a>, and <a class="el" href="classsvm__classifier_1_1OneVsOneStrategy.html#aae80b4e75459b2aca4f561d62c3c5675">svm_classifier::OneVsOneStrategy</a>.</p>
</div>
</div>
<a id="a70f94cfcf8b2bf6d60133c688fe55f9d" name="a70f94cfcf8b2bf6d60133c688fe55f9d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70f94cfcf8b2bf6d60133c688fe55f9d">&#9670;&#160;</a></span>predict()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::vector&lt; int &gt; svm_classifier::MulticlassStrategyBase::predict </td>
<td>(</td>
<td class="paramtype">const torch::Tensor &amp;&#160;</td>
<td class="paramname"><em>X</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classsvm__classifier_1_1DataConverter.html">DataConverter</a> &amp;&#160;</td>
<td class="paramname"><em>converter</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Predict class labels. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">X</td><td>Feature tensor of shape (n_samples, n_features) </td></tr>
<tr><td class="paramname">converter</td><td>Data converter instance </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Predicted class labels </dd></dl>
<p>Implemented in <a class="el" href="classsvm__classifier_1_1OneVsRestStrategy.html#a771903a821d5380ddd5d0b3a912e7df9">svm_classifier::OneVsRestStrategy</a>, and <a class="el" href="classsvm__classifier_1_1OneVsOneStrategy.html#ab60df2d9b6069a73369b0bf9d3675662">svm_classifier::OneVsOneStrategy</a>.</p>
</div>
</div>
<a id="ab5348ee3b83547702ec7903ee7ee2da7" name="ab5348ee3b83547702ec7903ee7ee2da7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5348ee3b83547702ec7903ee7ee2da7">&#9670;&#160;</a></span>predict_proba()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::vector&lt; std::vector&lt; double &gt; &gt; svm_classifier::MulticlassStrategyBase::predict_proba </td>
<td>(</td>
<td class="paramtype">const torch::Tensor &amp;&#160;</td>
<td class="paramname"><em>X</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classsvm__classifier_1_1DataConverter.html">DataConverter</a> &amp;&#160;</td>
<td class="paramname"><em>converter</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Predict class probabilities. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">X</td><td>Feature tensor of shape (n_samples, n_features) </td></tr>
<tr><td class="paramname">converter</td><td>Data converter instance </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Class probabilities for each sample </dd></dl>
<p>Implemented in <a class="el" href="classsvm__classifier_1_1OneVsRestStrategy.html#a55639e5adaadcd6414b50d5ebf0d1cd2">svm_classifier::OneVsRestStrategy</a>, and <a class="el" href="classsvm__classifier_1_1OneVsOneStrategy.html#ae62e8b24115042d1119e76f3302f6992">svm_classifier::OneVsOneStrategy</a>.</p>
</div>
</div>
<a id="a2ab91902f8d6eb216f626ce9ea4be992" name="a2ab91902f8d6eb216f626ce9ea4be992"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ab91902f8d6eb216f626ce9ea4be992">&#9670;&#160;</a></span>supports_probability()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool svm_classifier::MulticlassStrategyBase::supports_probability </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Check if the model supports probability prediction. </p>
<dl class="section return"><dt>Returns</dt><dd>True if probabilities are supported </dd></dl>
<p>Implemented in <a class="el" href="classsvm__classifier_1_1OneVsRestStrategy.html#a200300198628ac119eac09e62ff62336">svm_classifier::OneVsRestStrategy</a>, and <a class="el" href="classsvm__classifier_1_1OneVsOneStrategy.html#a8875d29cb8666af10e0fb5634e08c0c1">svm_classifier::OneVsOneStrategy</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a15bb6eb53e91e604b259b3050bd40e27" name="a15bb6eb53e91e604b259b3050bd40e27"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15bb6eb53e91e604b259b3050bd40e27">&#9670;&#160;</a></span>classes_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;int&gt; svm_classifier::MulticlassStrategyBase::classes_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Unique class labels. </p>
<p class="definition">Definition at line <a class="el" href="multiclass__strategy_8hpp_source.html#l00092">92</a> of file <a class="el" href="multiclass__strategy_8hpp_source.html">multiclass_strategy.hpp</a>.</p>
</div>
</div>
<a id="a8e74cd580feaac0da34d204274a24fea" name="a8e74cd580feaac0da34d204274a24fea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e74cd580feaac0da34d204274a24fea">&#9670;&#160;</a></span>is_trained_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool svm_classifier::MulticlassStrategyBase::is_trained_ = false</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Whether the model is trained. </p>
<p class="definition">Definition at line <a class="el" href="multiclass__strategy_8hpp_source.html#l00093">93</a> of file <a class="el" href="multiclass__strategy_8hpp_source.html">multiclass_strategy.hpp</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/svm_classifier/<a class="el" href="multiclass__strategy_8hpp_source.html">multiclass_strategy.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 22 2025 11:25:27 for SVM Classifier C++ by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>