blob: 36325f557d787120ced95ac53d2bb5eb1059fc1f [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_261) on Mon Dec 20 14:15:54 MSK 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>KNNTrainer (Ignite 2.11.1)</title>
<meta name="date" content="2021-12-20">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<link rel='shortcut icon' href='https://ignite.apache.org/favicon.ico'/>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="KNNTrainer (Ignite 2.11.1)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":10,"i2":10,"i3":6,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/KNNTrainer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/ignite/ml/knn/KNNPartitionDataBuilder.html" title="class in org.apache.ignite.ml.knn"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/ignite/ml/knn/NNClassificationModel.html" title="class in org.apache.ignite.ml.knn"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/ignite/ml/knn/KNNTrainer.html" target="_top">Frames</a></li>
<li><a href="KNNTrainer.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.classes.inherited.from.class.org.apache.ignite.ml.trainers.DatasetTrainer">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.ignite.ml.knn</div>
<h2 title="Class KNNTrainer" class="title">Class KNNTrainer<span class='angle_bracket'>&lt;</span>M extends <a href="../../../../../org/apache/ignite/ml/knn/KNNModel.html" title="class in org.apache.ignite.ml.knn">KNNModel</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a><span class='angle_bracket'>&gt;</span>,Self extends KNNTrainer<span class='angle_bracket'>&lt;</span>M,Self<span class='angle_bracket'>&gt;</span><span class='angle_bracket'>&gt;</span></h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html" title="class in org.apache.ignite.ml.trainers">org.apache.ignite.ml.trainers.DatasetTrainer</a><span class='angle_bracket'>&lt;</span>M,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a><span class='angle_bracket'>&gt;</span></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/ignite/ml/trainers/SingleLabelDatasetTrainer.html" title="class in org.apache.ignite.ml.trainers">org.apache.ignite.ml.trainers.SingleLabelDatasetTrainer</a><span class='angle_bracket'>&lt;</span>M<span class='angle_bracket'>&gt;</span></li>
<li>
<ul class="inheritance">
<li>org.apache.ignite.ml.knn.KNNTrainer<span class='angle_bracket'>&lt;</span>M,Self<span class='angle_bracket'>&gt;</span></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>M</code> - Model type.</dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../org/apache/ignite/ml/knn/classification/KNNClassificationTrainer.html" title="class in org.apache.ignite.ml.knn.classification">KNNClassificationTrainer</a>, <a href="../../../../../org/apache/ignite/ml/knn/regression/KNNRegressionTrainer.html" title="class in org.apache.ignite.ml.knn.regression">KNNRegressionTrainer</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">KNNTrainer<span class='angle_bracket'>&lt;</span>M extends <a href="../../../../../org/apache/ignite/ml/knn/KNNModel.html" title="class in org.apache.ignite.ml.knn">KNNModel</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a><span class='angle_bracket'>&gt;</span>,Self extends KNNTrainer<span class='angle_bracket'>&lt;</span>M,Self<span class='angle_bracket'>&gt;</span><span class='angle_bracket'>&gt;</span></span>
extends <a href="../../../../../org/apache/ignite/ml/trainers/SingleLabelDatasetTrainer.html" title="class in org.apache.ignite.ml.trainers">SingleLabelDatasetTrainer</a><span class='angle_bracket'>&lt;</span>M<span class='angle_bracket'>&gt;</span></pre>
<div class="block">KNN model trader that trains model on top of distributed spatial indices. Be aware that this model is linked with
cluster environment it's been built on and can't be saved or used in other places. Under the hood it keeps
<a href="../../../../../org/apache/ignite/ml/dataset/Dataset.html" title="interface in org.apache.ignite.ml.dataset"><code>Dataset</code></a> that consists of a set of resources allocated across the cluster.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.ignite.ml.trainers.DatasetTrainer">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.ignite.ml.trainers.<a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html" title="class in org.apache.ignite.ml.trainers">DatasetTrainer</a></h3>
<code><a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.EmptyDatasetException.html" title="class in org.apache.ignite.ml.trainers">DatasetTrainer.EmptyDatasetException</a></code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/ignite/ml/math/distances/DistanceMeasure.html" title="interface in org.apache.ignite.ml.math.distances">DistanceMeasure</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html#distanceMeasure">distanceMeasure</a></span></code>
<div class="block">Distance measure.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html#k">k</a></span></code>
<div class="block">Number of neighbours.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html#weighted">weighted</a></span></code>
<div class="block">Weighted or not.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.ignite.ml.trainers.DatasetTrainer">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.ignite.ml.trainers.<a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html" title="class in org.apache.ignite.ml.trainers">DatasetTrainer</a></h3>
<code><a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html#envBuilder">envBuilder</a>, <a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html#environment">environment</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html#KNNTrainer--">KNNTrainer</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected abstract <a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">M</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html#convertDatasetIntoModel-org.apache.ignite.ml.dataset.Dataset-">convertDatasetIntoModel</a></span>(<a href="../../../../../org/apache/ignite/ml/dataset/Dataset.html" title="interface in org.apache.ignite.ml.dataset">Dataset</a><span class='angle_bracket'>&lt;</span><a href="../../../../../org/apache/ignite/ml/dataset/primitive/context/EmptyContext.html" title="class in org.apache.ignite.ml.dataset.primitive.context">EmptyContext</a>,<a href="../../../../../org/apache/ignite/ml/knn/utils/indices/SpatialIndex.html" title="interface in org.apache.ignite.ml.knn.utils.indices">SpatialIndex</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a><span class='angle_bracket'>&gt;</span><span class='angle_bracket'>&gt;</span>&nbsp;dataset)</code>
<div class="block">Convers given dataset into KNN model (classification or regression depends on implementation).</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected <span class='angle_bracket'>&lt;</span>K,V<span class='angle_bracket'>&gt;</span>&nbsp;<a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">M</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html#fitWithInitializedDeployingContext-org.apache.ignite.ml.dataset.DatasetBuilder-org.apache.ignite.ml.preprocessing.Preprocessor-">fitWithInitializedDeployingContext</a></span>(<a href="../../../../../org/apache/ignite/ml/dataset/DatasetBuilder.html" title="interface in org.apache.ignite.ml.dataset">DatasetBuilder</a><span class='angle_bracket'>&lt;</span>K,V<span class='angle_bracket'>&gt;</span>&nbsp;datasetBuilder,
<a href="../../../../../org/apache/ignite/ml/preprocessing/Preprocessor.html" title="interface in org.apache.ignite.ml.preprocessing">Preprocessor</a><span class='angle_bracket'>&lt;</span>K,V<span class='angle_bracket'>&gt;</span>&nbsp;preprocessor)</code>
<div class="block">Trains model based on the specified data.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html#isUpdateable-M-">isUpdateable</a></span>(<a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">M</a>&nbsp;mdl)</code></td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected abstract <a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">Self</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html#self--">self</a></span>()</code>
<div class="block">Returns <code>this</code> instance.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected <span class='angle_bracket'>&lt;</span>K,V<span class='angle_bracket'>&gt;</span>&nbsp;<a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">M</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html#updateModel-M-org.apache.ignite.ml.dataset.DatasetBuilder-org.apache.ignite.ml.preprocessing.Preprocessor-">updateModel</a></span>(<a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">M</a>&nbsp;mdl,
<a href="../../../../../org/apache/ignite/ml/dataset/DatasetBuilder.html" title="interface in org.apache.ignite.ml.dataset">DatasetBuilder</a><span class='angle_bracket'>&lt;</span>K,V<span class='angle_bracket'>&gt;</span>&nbsp;datasetBuilder,
<a href="../../../../../org/apache/ignite/ml/preprocessing/Preprocessor.html" title="interface in org.apache.ignite.ml.preprocessing">Preprocessor</a><span class='angle_bracket'>&lt;</span>K,V<span class='angle_bracket'>&gt;</span>&nbsp;preprocessor)</code>
<div class="block">Gets state of model in arguments, update in according to new data and return new model.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">Self</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html#withDataTtl-long-">withDataTtl</a></span>(long&nbsp;dataTtl)</code>
<div class="block">Sets up <code>dataTtl</code> parameter.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">Self</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html#withDistanceMeasure-org.apache.ignite.ml.math.distances.DistanceMeasure-">withDistanceMeasure</a></span>(<a href="../../../../../org/apache/ignite/ml/math/distances/DistanceMeasure.html" title="interface in org.apache.ignite.ml.math.distances">DistanceMeasure</a>&nbsp;distanceMeasure)</code>
<div class="block">Sets up <code>distanceMeasure</code> parameter.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">Self</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html#withIdxType-org.apache.ignite.ml.knn.utils.indices.SpatialIndexType-">withIdxType</a></span>(<a href="../../../../../org/apache/ignite/ml/knn/utils/indices/SpatialIndexType.html" title="enum in org.apache.ignite.ml.knn.utils.indices">SpatialIndexType</a>&nbsp;idxType)</code>
<div class="block">Sets up <code>idxType</code> parameter.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">Self</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html#withK-int-">withK</a></span>(int&nbsp;k)</code>
<div class="block">Sets up <code>k</code> parameter (number of neighbours).</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">Self</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html#withWeighted-boolean-">withWeighted</a></span>(boolean&nbsp;weighted)</code>
<div class="block">Sets up <code>weighted</code> parameter.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.ignite.ml.trainers.DatasetTrainer">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.ignite.ml.trainers.<a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html" title="class in org.apache.ignite.ml.trainers">DatasetTrainer</a></h3>
<code><a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html#fit-org.apache.ignite.ml.dataset.DatasetBuilder-org.apache.ignite.ml.preprocessing.Preprocessor-">fit</a>, <a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html#fit-org.apache.ignite.ml.dataset.DatasetBuilder-org.apache.ignite.ml.preprocessing.Preprocessor-org.apache.ignite.ml.environment.LearningEnvironment-">fit</a>, <a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html#fit-org.apache.ignite.Ignite-org.apache.ignite.IgniteCache-org.apache.ignite.lang.IgniteBiPredicate-org.apache.ignite.ml.preprocessing.Preprocessor-">fit</a>, <a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html#fit-org.apache.ignite.Ignite-org.apache.ignite.IgniteCache-org.apache.ignite.ml.preprocessing.Preprocessor-">fit</a>, <a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html#fit-java.util.Map-org.apache.ignite.lang.IgniteBiPredicate-int-org.apache.ignite.ml.preprocessing.Preprocessor-">fit</a>, <a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html#fit-java.util.Map-int-org.apache.ignite.ml.preprocessing.Preprocessor-">fit</a>, <a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html#getLastTrainedModelOrThrowEmptyDatasetException-M-">getLastTrainedModelOrThrowEmptyDatasetException</a>, <a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html#identityTrainer--">identityTrainer</a>, <a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html#learningEnvironment--">learningEnvironment</a>, <a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html#update-M-org.apache.ignite.ml.dataset.DatasetBuilder-org.apache.ignite.ml.preprocessing.Preprocessor-">update</a>, <a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html#update-M-org.apache.ignite.Ignite-org.apache.ignite.IgniteCache-org.apache.ignite.lang.IgniteBiPredicate-org.apache.ignite.ml.preprocessing.Preprocessor-">update</a>, <a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html#update-M-org.apache.ignite.Ignite-org.apache.ignite.IgniteCache-org.apache.ignite.ml.preprocessing.Preprocessor-">update</a>, <a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html#update-M-java.util.Map-org.apache.ignite.lang.IgniteBiPredicate-int-org.apache.ignite.ml.preprocessing.Preprocessor-">update</a>, <a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html#update-M-java.util.Map-int-org.apache.ignite.ml.preprocessing.Preprocessor-">update</a>, <a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html#withConvertedLabels-org.apache.ignite.ml.math.functions.IgniteFunction-">withConvertedLabels</a>, <a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html#withEnvironmentBuilder-org.apache.ignite.ml.environment.LearningEnvironmentBuilder-">withEnvironmentBuilder</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="distanceMeasure">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>distanceMeasure</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/ignite/ml/math/distances/DistanceMeasure.html" title="interface in org.apache.ignite.ml.math.distances">DistanceMeasure</a> distanceMeasure</pre>
<div class="block">Distance measure.</div>
</li>
</ul>
<a name="k">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>k</h4>
<pre>protected&nbsp;int k</pre>
<div class="block">Number of neighbours.</div>
</li>
</ul>
<a name="weighted">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>weighted</h4>
<pre>protected&nbsp;boolean weighted</pre>
<div class="block">Weighted or not.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="KNNTrainer--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>KNNTrainer</h4>
<pre>public&nbsp;KNNTrainer()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="fitWithInitializedDeployingContext-org.apache.ignite.ml.dataset.DatasetBuilder-org.apache.ignite.ml.preprocessing.Preprocessor-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fitWithInitializedDeployingContext</h4>
<pre>protected&nbsp;<span class='angle_bracket'>&lt;</span>K,V<span class='angle_bracket'>&gt;</span>&nbsp;<a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">M</a>&nbsp;fitWithInitializedDeployingContext(<a href="../../../../../org/apache/ignite/ml/dataset/DatasetBuilder.html" title="interface in org.apache.ignite.ml.dataset">DatasetBuilder</a><span class='angle_bracket'>&lt;</span>K,V<span class='angle_bracket'>&gt;</span>&nbsp;datasetBuilder,
<a href="../../../../../org/apache/ignite/ml/preprocessing/Preprocessor.html" title="interface in org.apache.ignite.ml.preprocessing">Preprocessor</a><span class='angle_bracket'>&lt;</span>K,V<span class='angle_bracket'>&gt;</span>&nbsp;preprocessor)</pre>
<div class="block">Trains model based on the specified data.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html#fitWithInitializedDeployingContext-org.apache.ignite.ml.dataset.DatasetBuilder-org.apache.ignite.ml.preprocessing.Preprocessor-">fitWithInitializedDeployingContext</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html" title="class in org.apache.ignite.ml.trainers">DatasetTrainer</a><span class='angle_bracket'>&lt;</span><a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">M</a> extends <a href="../../../../../org/apache/ignite/ml/knn/KNNModel.html" title="class in org.apache.ignite.ml.knn">KNNModel</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a><span class='angle_bracket'>&gt;</span>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a><span class='angle_bracket'>&gt;</span></code></dd>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>K</code> - Type of a key in <code>upstream</code> data.</dd>
<dd><code>V</code> - Type of a value in <code>upstream</code> data.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>datasetBuilder</code> - Dataset builder.</dd>
<dd><code>preprocessor</code> - Extractor of <a href="../../../../../org/apache/ignite/ml/dataset/UpstreamEntry.html" title="class in org.apache.ignite.ml.dataset"><code>UpstreamEntry</code></a> into <a href="../../../../../org/apache/ignite/ml/structures/LabeledVector.html" title="class in org.apache.ignite.ml.structures"><code>LabeledVector</code></a>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Model.</dd>
</dl>
</li>
</ul>
<a name="isUpdateable-org.apache.ignite.ml.knn.KNNModel-">
<!-- -->
</a><a name="isUpdateable-M-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isUpdateable</h4>
<pre>public&nbsp;boolean&nbsp;isUpdateable(<a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">M</a>&nbsp;mdl)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html#isUpdateable-M-">isUpdateable</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html" title="class in org.apache.ignite.ml.trainers">DatasetTrainer</a><span class='angle_bracket'>&lt;</span><a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">M</a> extends <a href="../../../../../org/apache/ignite/ml/knn/KNNModel.html" title="class in org.apache.ignite.ml.knn">KNNModel</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a><span class='angle_bracket'>&gt;</span>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a><span class='angle_bracket'>&gt;</span></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>mdl</code> - Model.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if current critical for training parameters correspond to parameters from last training.</dd>
</dl>
</li>
</ul>
<a name="updateModel-org.apache.ignite.ml.knn.KNNModel-org.apache.ignite.ml.dataset.DatasetBuilder-org.apache.ignite.ml.preprocessing.Preprocessor-">
<!-- -->
</a><a name="updateModel-M-org.apache.ignite.ml.dataset.DatasetBuilder-org.apache.ignite.ml.preprocessing.Preprocessor-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateModel</h4>
<pre>protected&nbsp;<span class='angle_bracket'>&lt;</span>K,V<span class='angle_bracket'>&gt;</span>&nbsp;<a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">M</a>&nbsp;updateModel(<a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">M</a>&nbsp;mdl,
<a href="../../../../../org/apache/ignite/ml/dataset/DatasetBuilder.html" title="interface in org.apache.ignite.ml.dataset">DatasetBuilder</a><span class='angle_bracket'>&lt;</span>K,V<span class='angle_bracket'>&gt;</span>&nbsp;datasetBuilder,
<a href="../../../../../org/apache/ignite/ml/preprocessing/Preprocessor.html" title="interface in org.apache.ignite.ml.preprocessing">Preprocessor</a><span class='angle_bracket'>&lt;</span>K,V<span class='angle_bracket'>&gt;</span>&nbsp;preprocessor)</pre>
<div class="block">Gets state of model in arguments, update in according to new data and return new model.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html#updateModel-M-org.apache.ignite.ml.dataset.DatasetBuilder-org.apache.ignite.ml.preprocessing.Preprocessor-">updateModel</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/ignite/ml/trainers/DatasetTrainer.html" title="class in org.apache.ignite.ml.trainers">DatasetTrainer</a><span class='angle_bracket'>&lt;</span><a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">M</a> extends <a href="../../../../../org/apache/ignite/ml/knn/KNNModel.html" title="class in org.apache.ignite.ml.knn">KNNModel</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a><span class='angle_bracket'>&gt;</span>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a><span class='angle_bracket'>&gt;</span></code></dd>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>K</code> - Type of a key in <code>upstream</code> data.</dd>
<dd><code>V</code> - Type of a value in <code>upstream</code> data.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>mdl</code> - Learned model.</dd>
<dd><code>datasetBuilder</code> - Dataset builder.</dd>
<dd><code>preprocessor</code> - Extractor of <a href="../../../../../org/apache/ignite/ml/dataset/UpstreamEntry.html" title="class in org.apache.ignite.ml.dataset"><code>UpstreamEntry</code></a> into <a href="../../../../../org/apache/ignite/ml/structures/LabeledVector.html" title="class in org.apache.ignite.ml.structures"><code>LabeledVector</code></a>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Updated model.</dd>
</dl>
</li>
</ul>
<a name="convertDatasetIntoModel-org.apache.ignite.ml.dataset.Dataset-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertDatasetIntoModel</h4>
<pre>protected abstract&nbsp;<a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">M</a>&nbsp;convertDatasetIntoModel(<a href="../../../../../org/apache/ignite/ml/dataset/Dataset.html" title="interface in org.apache.ignite.ml.dataset">Dataset</a><span class='angle_bracket'>&lt;</span><a href="../../../../../org/apache/ignite/ml/dataset/primitive/context/EmptyContext.html" title="class in org.apache.ignite.ml.dataset.primitive.context">EmptyContext</a>,<a href="../../../../../org/apache/ignite/ml/knn/utils/indices/SpatialIndex.html" title="interface in org.apache.ignite.ml.knn.utils.indices">SpatialIndex</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a><span class='angle_bracket'>&gt;</span><span class='angle_bracket'>&gt;</span>&nbsp;dataset)</pre>
<div class="block">Convers given dataset into KNN model (classification or regression depends on implementation).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dataset</code> - Dataset of spatial indices.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>KNN model.</dd>
</dl>
</li>
</ul>
<a name="self--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>self</h4>
<pre>protected abstract&nbsp;<a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">Self</a>&nbsp;self()</pre>
<div class="block">Returns <code>this</code> instance.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This instance.</dd>
</dl>
</li>
</ul>
<a name="withIdxType-org.apache.ignite.ml.knn.utils.indices.SpatialIndexType-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withIdxType</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">Self</a>&nbsp;withIdxType(<a href="../../../../../org/apache/ignite/ml/knn/utils/indices/SpatialIndexType.html" title="enum in org.apache.ignite.ml.knn.utils.indices">SpatialIndexType</a>&nbsp;idxType)</pre>
<div class="block">Sets up <code>idxType</code> parameter.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>idxType</code> - Index type.</dd>
</dl>
</li>
</ul>
<a name="withDataTtl-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withDataTtl</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">Self</a>&nbsp;withDataTtl(long&nbsp;dataTtl)</pre>
<div class="block">Sets up <code>dataTtl</code> parameter.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dataTtl</code> - Partition data time-to-live in seconds (-1 for an infinite lifetime).</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>This instance.</dd>
</dl>
</li>
</ul>
<a name="withDistanceMeasure-org.apache.ignite.ml.math.distances.DistanceMeasure-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withDistanceMeasure</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">Self</a>&nbsp;withDistanceMeasure(<a href="../../../../../org/apache/ignite/ml/math/distances/DistanceMeasure.html" title="interface in org.apache.ignite.ml.math.distances">DistanceMeasure</a>&nbsp;distanceMeasure)</pre>
<div class="block">Sets up <code>distanceMeasure</code> parameter.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>distanceMeasure</code> - Distance measure.</dd>
</dl>
</li>
</ul>
<a name="withK-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>withK</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">Self</a>&nbsp;withK(int&nbsp;k)</pre>
<div class="block">Sets up <code>k</code> parameter (number of neighbours).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>k</code> - Number of neighbours.</dd>
</dl>
</li>
</ul>
<a name="withWeighted-boolean-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>withWeighted</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/ignite/ml/knn/KNNTrainer.html" title="type parameter in KNNTrainer">Self</a>&nbsp;withWeighted(boolean&nbsp;weighted)</pre>
<div class="block">Sets up <code>weighted</code> parameter.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>weighted</code> - Weighted or not.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/KNNTrainer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/ignite/ml/knn/KNNPartitionDataBuilder.html" title="class in org.apache.ignite.ml.knn"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/ignite/ml/knn/NNClassificationModel.html" title="class in org.apache.ignite.ml.knn"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/ignite/ml/knn/KNNTrainer.html" target="_top">Frames</a></li>
<li><a href="KNNTrainer.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.classes.inherited.from.class.org.apache.ignite.ml.trainers.DatasetTrainer">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px"> <tr> <td> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <a target=_blank href="https://ignite.apache.org"><nobr>2021 Copyright &#169; Apache Software Foundation</nobr></a> </td> </tr> </tbody> </table> </td> <td width="100%" align="right" valign="center"> <a href="https://twitter.com/ApacheIgnite" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @ApacheIgnite</a> </td> </tr> <tr> <td colspan="2" valign="top" align="left"> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <b>Ignite Database and Caching Platform</b> </td> <td>:&nbsp;&nbsp; ver. <strong>2.11.1</strong> </td> </tr> <tr style="padding: 0; margin: 0"> <td> <b>Release Date</b> </td> <td>:&nbsp;&nbsp; December 20 2021 </td> </tr> </tbody> </table> </td> </tr> </table></small></p>
</body>
</html>