init research

This commit is contained in:
2026-02-08 11:20:43 -10:00
commit bdf064f54d
3041 changed files with 1592200 additions and 0 deletions
+330
View File
@@ -0,0 +1,330 @@
<!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_312) on Sun Jan 30 10:08:40 MST 2022 -->
<title>Arrow</title>
<meta name="date" content="2022-01-30">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Arrow";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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="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>Prev&nbsp;Class</li>
<li><a href="../../../tech/v3/dataset/Modelling.html" title="class in tech.v3.dataset"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?tech/v3/dataset/Arrow.html" target="_top">Frames</a></li>
<li><a href="Arrow.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>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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">tech.v3.dataset</div>
<h2 title="Class Arrow" class="title">Class Arrow</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>tech.v3.dataset.Arrow</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">Arrow</span>
extends java.lang.Object</pre>
<div class="block"><p>Bindings to save/load datasets apache arrow streaming format. These bindings support JDK-17, memory mapping, and per-column compression.</p>
<p>Required Dependencies:</p>
<pre><code class="clojure">[org.apache.arrow/arrow-vector &quot;6.0.0&quot;]
[org.lz4/lz4-java &quot;1.8.0&quot;]
[com.github.luben/zstd-jni &quot;1.5.1-1&quot;]
</code></pre></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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="t1" class="tableTab"><span><a href="javascript:show(1);">Static 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>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Arrow.html#datasetSeqToStream-java.lang.Iterable-java.lang.Object-java.lang.Object-">datasetSeqToStream</a></span>(java.lang.Iterable&nbsp;dsSeq,
java.lang.Object&nbsp;pathOrInputStream,
java.lang.Object&nbsp;options)</code>
<div class="block">Save a sequence of datasets to a single stream file.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Arrow.html#datasetToStream-java.lang.Object-java.lang.Object-java.lang.Object-">datasetToStream</a></span>(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;pathOrInputStream,
java.lang.Object&nbsp;options)</code>
<div class="block">Save a dataset to apache stream format.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Arrow.html#streamtoDataset-java.lang.Object-java.lang.Object-">streamtoDataset</a></span>(java.lang.Object&nbsp;pathOrInputStream,
java.lang.Object&nbsp;options)</code>
<div class="block">Load an apache arrow streaming file returning a single dataset.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static java.lang.Iterable</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Arrow.html#streamToDatasetSeq-java.lang.Object-java.lang.Object-">streamToDatasetSeq</a></span>(java.lang.Object&nbsp;pathOrInputStream,
java.lang.Object&nbsp;options)</code>
<div class="block">Load an apache arrow streaming file returning a sequence of datasets, one for each record batch.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="datasetToStream-java.lang.Object-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>datasetToStream</h4>
<pre>public static&nbsp;void&nbsp;datasetToStream(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;pathOrInputStream,
java.lang.Object&nbsp;options)</pre>
<div class="block"><p>Save a dataset to apache stream format.</p>
<p>Options:</p>
<ul>
<li>
<p><code>strings-as-text?</code>: - defaults to false - Save out strings into arrow files without dictionaries. This works well if you want to load an arrow file in-place or if you know the strings in your dataset are either really large or should not be in string tables.</p></li>
<li>
<p><code>:compression</code> - Either <code>:zstd</code> or <code>:lz4</code>, defaults to no compression (nil). Per-column compression of the data can result in some significant size savings (2x+) and thus some significant time savings when transferring over the network. Using compression makes loading via mmap non-in-place - If you are going to use compression mmap probably doesn&rsquo;t make sense on load and most likely will result on slower loading times. Zstd can also be passed in map form with an addition parameter, <code>:level</code> which defaults to 3.</p></li>
</ul>
<pre><code class="java">//Slightly higher compression than the default.
datasetToStream(ds, &quot;data.arrow-ipc&quot;, hashmap(kw(&quot;compression&quot;),
hashmap(kw(&quot;compression-type&quot;), kw(&quot;zstd&quot;),
kw(&quot;level&quot;), 5)));
</code></pre></div>
</li>
</ul>
<a name="datasetSeqToStream-java.lang.Iterable-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>datasetSeqToStream</h4>
<pre>public static&nbsp;void&nbsp;datasetSeqToStream(java.lang.Iterable&nbsp;dsSeq,
java.lang.Object&nbsp;pathOrInputStream,
java.lang.Object&nbsp;options)</pre>
<div class="block"><p>Save a sequence of datasets to a single stream file. Datasets must either have matching schemas or downstream dataset column datatypes must be able to be widened to the initial dataset column datatypes.</p>
<p>For options see <code>datasetToStream</code>.</p></div>
</li>
</ul>
<a name="streamtoDataset-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>streamtoDataset</h4>
<pre>public static&nbsp;java.util.Map&nbsp;streamtoDataset(java.lang.Object&nbsp;pathOrInputStream,
java.lang.Object&nbsp;options)</pre>
<div class="block"><p>Load an apache arrow streaming file returning a single dataset. File must only contain a single record batch.</p>
<p>Options:</p>
<ul>
<li>
<p><code>:open-type</code> - Either <code>:mmap</code> or <code>:input-stream</code> defaulting to the slower but more robust <code>:input-stream</code> pathway. When using <code>:mmap</code> resources will be released when the resource system dictates - see documentation for <a href="https://cnuernber.github.io/dtype-next/javadoc/index.html">tech.v3.DType.stackResourceContext</a>. When using <code>:input-stream</code> the stream will be closed when the lazy sequence is either fully realized or an exception is thrown.</p></li>
<li>
<p><code>close-input-stream?</code> - When using <code>:input-stream</code> <code>:open-type</code>, close the input stream upon exception or when stream is fully realized. Defaults to true.</p></li>
<li>
<p><code>:integer-datatime-types?</code> - when true arrow columns in the appropriate packed datatypes will be represented as their integer types as opposed to their respective packed types. For example columns of type <code>:epoch-days</code> will be returned to the user as datatype <code>:epoch-days</code> as opposed to <code>:packed-local-date</code>. This means reading values will return integers as opposed to <code>java.time.LocalDate</code>s.</p></li>
</ul></div>
</li>
</ul>
<a name="streamToDatasetSeq-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>streamToDatasetSeq</h4>
<pre>public static&nbsp;java.lang.Iterable&nbsp;streamToDatasetSeq(java.lang.Object&nbsp;pathOrInputStream,
java.lang.Object&nbsp;options)</pre>
<div class="block"><p>Load an apache arrow streaming file returning a sequence of datasets, one for each record batch. For options see streamToDataset.</p></div>
</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="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 class="aboutLanguage"><script type="text/javascript" src="../../../highlight.pack.js"></script>
<script type="text/javascript"><!--
hljs.initHighlightingOnLoad();
//--></script></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../tech/v3/dataset/Modelling.html" title="class in tech.v3.dataset"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?tech/v3/dataset/Arrow.html" target="_top">Frames</a></li>
<li><a href="Arrow.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>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
@@ -0,0 +1,817 @@
<!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_312) on Sun Dec 11 09:30:03 MST 2022 -->
<title>Modelling (tech.ml.dataset Documentation)</title>
<meta name="date" content="2022-12-11">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Modelling (tech.ml.dataset Documentation)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9,"i25":9,"i26":9,"i27":9,"i28":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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="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 class="aboutLanguage"><script async src="https://www.googletagmanager.com/gtag/js?id=G-RGTB4J7LGP"</script><script>window.dataLayer = window.dataLayer || [];\nfunction gtag(){dataLayer.push(arguments);}\ngtag('js', new Date());\ngtag('config', 'G-RGTB4J7LGP');</div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../tech/v3/dataset/Reductions.html" title="class in tech.v3.dataset"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?tech/v3/dataset/Modelling.html" target="_top">Frames</a></li>
<li><a href="Modelling.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>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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">tech.v3.dataset</div>
<h2 title="Class Modelling" class="title">Class Modelling</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>tech.v3.dataset.Modelling</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">Modelling</span>
extends java.lang.Object</pre>
<div class="block"><p>Functions related to training and evaluating ML models. The functions are grouped into a few groups.</p>
<p>For the purpose of this system, categorical data means a column of data that is not numeric. it could be strings, keywords, or arbitrary objects.</p>
<p>Minimal example extra dependencies for PCA:</p>
<pre><code class="console">[uncomplicate/neanderthal &quot;0.43.3&quot;]
</code></pre>
<p>It is also important to note that you can serialize the fit results to nippy automatically as included in dtype-next are extensions to nippy that work with tensors.</p></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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="t1" class="tableTab"><span><a href="javascript:show(1);">Static 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>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#correlationTable-java.lang.Object-">correlationTable</a></span>(java.lang.Object&nbsp;ds)</code>
<div class="block">Return a map of column to inversely sorted from greatest to least sequence of tuples of column name, pearson correlation coefficient.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#correlationTable-java.lang.Object-java.lang.Object-">correlationTable</a></span>(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;options)</code>
<div class="block">Return a map of column to inversely sorted from greatest to least sequence of tuples of column name, coefficient.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#fillRangeReplace-java.lang.Object-java.lang.Object-double-java.lang.Object-">fillRangeReplace</a></span>(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;cname,
double&nbsp;maxSpan,
java.lang.Object&nbsp;missingStrategy)</code>
<div class="block">Expand a dataset ensuring that the difference between two successive values is less than <code>max-span</code>.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#fitCategorical-java.lang.Object-java.lang.Object-">fitCategorical</a></span>(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;cname)</code>
<div class="block">Fit an object-&gt;integer transformation.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#fitCategorical-java.lang.Object-java.lang.Object-java.lang.Object-">fitCategorical</a></span>(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;cname,
java.lang.Object&nbsp;options)</code>
<div class="block">Fit an object-&gt;integer transform that takes each value and assigned an integer to it.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#fitMinMax-java.lang.Object-">fitMinMax</a></span>(java.lang.Object&nbsp;ds)</code>
<div class="block">Fit a minmax transformation that will transform each column to a minimum of -0.5 and a maximum of 0.5.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#fitMinMax-java.lang.Object-java.lang.Object-">fitMinMax</a></span>(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;options)</code>
<div class="block">Fit a bias and scale the dataset that transforms each colum to a target min-max value.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#fitOneHot-java.lang.Object-java.lang.Object-">fitOneHot</a></span>(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;cname)</code>
<div class="block">Fit a mapping from a categorical column to a group of one-hot encoded columns.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#fitOneHot-java.lang.Object-java.lang.Object-java.lang.Object-">fitOneHot</a></span>(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;cname,
java.lang.Object&nbsp;options)</code>
<div class="block">Fit a transformation from a single column of categorical values to a <code>one-hot</code> encoded group of columns.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#fitPCA-java.lang.Object-">fitPCA</a></span>(java.lang.Object&nbsp;ds)</code>
<div class="block">Fit a PCA transformation onto a dataset keeping 95% of the variance.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#fitPCA-java.lang.Object-java.lang.Object-">fitPCA</a></span>(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;options)</code>
<div class="block">Fit a PCA transformation on a dataset.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#fitStdScale-java.lang.Object-">fitStdScale</a></span>(java.lang.Object&nbsp;ds)</code>
<div class="block">Calculate per-column mean, stddev.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#inferenceTargetLabelMap-java.lang.Object-">inferenceTargetLabelMap</a></span>(java.lang.Object&nbsp;ds)</code>
<div class="block">Return a map of val-&gt;idx for the inference target.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#interpolateLOESS-java.lang.Object-java.lang.Object-java.lang.Object-">interpolateLOESS</a></span>(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;xColname,
java.lang.Object&nbsp;yColname)</code>
<div class="block">Perform a LOESS interpolation using the default parameters.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#interpolateLOESS-java.lang.Object-java.lang.Object-java.lang.Object-java.lang.Object-">interpolateLOESS</a></span>(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;xColname,
java.lang.Object&nbsp;yColname,
java.lang.Object&nbsp;options)</code>
<div class="block">Map a LOESS-interpolation transformation onto a dataset.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#invertCategorical-java.lang.Object-java.lang.Object-">invertCategorical</a></span>(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;catFitData)</code>
<div class="block">Reverse a previously transformed categorical mapping.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#invertOneHot-java.lang.Object-java.lang.Object-">invertOneHot</a></span>(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;fitData)</code>
<div class="block">Reverse a previously transformed one-hot mapping.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>static java.lang.Iterable</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#kFold-java.lang.Object-long-">kFold</a></span>(java.lang.Object&nbsp;ds,
long&nbsp;k)</code>
<div class="block">Return k maps of the form <code>{:test-ds :train-ds}</code>.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>static java.lang.Iterable</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#kFold-java.lang.Object-long-java.lang.Object-">kFold</a></span>(java.lang.Object&nbsp;ds,
long&nbsp;k,
java.lang.Object&nbsp;options)</code>
<div class="block">Produce 2*k datasets from 1 dataset using k-fold algorithm.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#labels-java.lang.Object-">labels</a></span>(java.lang.Object&nbsp;ds)</code>
<div class="block">Find the inference column.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#probabilityDistributionToLabels-java.lang.Object-">probabilityDistributionToLabels</a></span>(java.lang.Object&nbsp;ds)</code>
<div class="block">Given a dataset where the column names are labels and the each row is a probabilitly distribution across the labels, produce a Buffer of labels taking the highest probability for each row to choose the label.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#setInferenceTarget-java.lang.Object-java.lang.Object-">setInferenceTarget</a></span>(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;cname)</code>
<div class="block">Set a column in the dataset as the inference target.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#trainTestSplit-java.lang.Object-">trainTestSplit</a></span>(java.lang.Object&nbsp;ds)</code>
<div class="block">Randomize then split dataset using 70% of the data for training and the rest for testing.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#trainTestSplit-java.lang.Object-java.lang.Object-">trainTestSplit</a></span>(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;options)</code>
<div class="block">Split the dataset returning a map of <code>{:train-ds :test-ds}</code>.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#transformCategorical-java.lang.Object-java.lang.Object-">transformCategorical</a></span>(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;catFitData)</code>
<div class="block">Apply an object-&gt;integer transformation with data obtained from fitCategorical.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#transformMinMax-java.lang.Object-java.lang.Object-">transformMinMax</a></span>(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;fitData)</code>
<div class="block">Transform a dataset using a previously fit minimax transformation.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#transformOneHot-java.lang.Object-java.lang.Object-">transformOneHot</a></span>(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;fitData)</code>
<div class="block">Transform a dataset using a fitted one-hot mapping.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#transformPCA-java.lang.Object-java.lang.Object-">transformPCA</a></span>(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;fitData)</code>
<div class="block">Transform a dataset by the PCA fit data.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Modelling.html#transformStdScale-java.lang.Object-java.lang.Object-">transformStdScale</a></span>(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;fitData)</code>
<div class="block">Transform dataset to mean of zero and a standard deviation of 1.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="fitCategorical-java.lang.Object-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fitCategorical</h4>
<pre>public static&nbsp;java.util.Map&nbsp;fitCategorical(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;cname,
java.lang.Object&nbsp;options)</pre>
<div class="block"><p>Fit an object-&gt;integer transform that takes each value and assigned an integer to it. The returned value can be used in transformCategorical to transform the dataset.</p>
<p>Options:</p>
<ul>
<li><code>:table-args</code> - Either a sequence of vectors [col-val, idx] or a sorted sequence of column values where integers will be assigned as per the sorted sequence. Any values found outside the the specified values will be auto-mapped to the next largest integer.</li>
<li><code>:res-dtype</code> - Datatype of result column. Defaults to <code>:float64</code>.</li>
</ul></div>
</li>
</ul>
<a name="fitCategorical-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fitCategorical</h4>
<pre>public static&nbsp;java.util.Map&nbsp;fitCategorical(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;cname)</pre>
<div class="block"><p>Fit an object-&gt;integer transformation. Integers will be assigned in random order. For more control over the transform see the 3-arity version of the function.</p></div>
</li>
</ul>
<a name="transformCategorical-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transformCategorical</h4>
<pre>public static&nbsp;java.util.Map&nbsp;transformCategorical(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;catFitData)</pre>
<div class="block"><p>Apply an object-&gt;integer transformation with data obtained from fitCategorical.</p></div>
</li>
</ul>
<a name="invertCategorical-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>invertCategorical</h4>
<pre>public static&nbsp;java.util.Map&nbsp;invertCategorical(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;catFitData)</pre>
<div class="block"><p>Reverse a previously transformed categorical mapping.</p></div>
</li>
</ul>
<a name="fitOneHot-java.lang.Object-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fitOneHot</h4>
<pre>public static&nbsp;java.util.Map&nbsp;fitOneHot(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;cname,
java.lang.Object&nbsp;options)</pre>
<div class="block"><p>Fit a transformation from a single column of categorical values to a <code>one-hot</code> encoded group of columns. .</p>
<p>Options:</p>
<ul>
<li><code>:table-args</code> - Either a sequence of vectors [col-val, idx] or a sorted sequence of column values where integers will be assigned as per the sorted sequence. Any values found outside the the specified values will be auto-mapped to the next largest integer.</li>
<li><code>:res-dtype</code> - Datatype of result column. Defaults to <code>:float64</code>.</li>
</ul></div>
</li>
</ul>
<a name="fitOneHot-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fitOneHot</h4>
<pre>public static&nbsp;java.util.Map&nbsp;fitOneHot(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;cname)</pre>
<div class="block"><p>Fit a mapping from a categorical column to a group of one-hot encoded columns.</p></div>
</li>
</ul>
<a name="transformOneHot-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transformOneHot</h4>
<pre>public static&nbsp;java.util.Map&nbsp;transformOneHot(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;fitData)</pre>
<div class="block"><p>Transform a dataset using a fitted one-hot mapping.</p></div>
</li>
</ul>
<a name="invertOneHot-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>invertOneHot</h4>
<pre>public static&nbsp;java.util.Map&nbsp;invertOneHot(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;fitData)</pre>
<div class="block"><p>Reverse a previously transformed one-hot mapping.</p></div>
</li>
</ul>
<a name="correlationTable-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>correlationTable</h4>
<pre>public static&nbsp;java.util.Map&nbsp;correlationTable(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;options)</pre>
<div class="block"><p>Return a map of column to inversely sorted from greatest to least sequence of tuples of column name, coefficient.</p>
<p>Options:</p>
<ul>
<li><code>:correlation-type</code> One of <code>:pearson</code>, <code>:spearman</code>, or <code>:kendall</code>. Defaults to <code>:pearson</code>.</li>
</ul></div>
</li>
</ul>
<a name="correlationTable-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>correlationTable</h4>
<pre>public static&nbsp;java.util.Map&nbsp;correlationTable(java.lang.Object&nbsp;ds)</pre>
<div class="block"><p>Return a map of column to inversely sorted from greatest to least sequence of tuples of column name, pearson correlation coefficient.</p></div>
</li>
</ul>
<a name="fillRangeReplace-java.lang.Object-java.lang.Object-double-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fillRangeReplace</h4>
<pre>public static&nbsp;java.util.Map&nbsp;fillRangeReplace(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;cname,
double&nbsp;maxSpan,
java.lang.Object&nbsp;missingStrategy)</pre>
<div class="block"><p>Expand a dataset ensuring that the difference between two successive values is less than <code>max-span</code>.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>maxSpan</code> - The minimal span value. For datetime types this is interpreted in millisecond or epoch-millisecond space.</dd>
<dd><code>missingStrategy</code> - Same missing strategy types from <code>TMD.replaceMissing</code>.</dd>
</dl>
</li>
</ul>
<a name="fitPCA-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fitPCA</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;fitPCA(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;options)</pre>
<div class="block"><p>Fit a PCA transformation on a dataset.</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>map of <code>{:means, :eigenvalues, :eigenvectors}</code>.</p>
<p>Options:</p>
<ul>
<li><code>:method</code> - either <code>:svd</code> or <code>:cov</code>. Use either SVD transformation or covariance-matrix base PCA. <code>:cov</code> method is somewhat slower but returns accurate variances and thus is the default.</li>
<li><code>:variance-amount</code> - Keep columns until variance is just less than variance-amount. Defaults to 0.95.</li>
<li><code>:n-components</code> - Return a fixed number of components. Overrides <code>:variance-amount</code> an returns a fixed number of components.</li>
<li><code>:covariance-bias</code> - When using <code>:cov</code> divide by <code>n-rows</code> if true and <code>n-rows - 1</code> if false. Defaults to false.</li>
</ul></dd>
</dl>
</li>
</ul>
<a name="fitPCA-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fitPCA</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;fitPCA(java.lang.Object&nbsp;ds)</pre>
<div class="block"><p>Fit a PCA transformation onto a dataset keeping 95% of the variance. See documentation for 2-arity form.</p></div>
</li>
</ul>
<a name="transformPCA-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transformPCA</h4>
<pre>public static&nbsp;java.util.Map&nbsp;transformPCA(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;fitData)</pre>
<div class="block"><p>Transform a dataset by the PCA fit data.</p></div>
</li>
</ul>
<a name="fitStdScale-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fitStdScale</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;fitStdScale(java.lang.Object&nbsp;ds)</pre>
<div class="block"><p>Calculate per-column mean, stddev.</p>
<p>Options:</p>
<ul>
<li><code>:mean?</code> - Produce per-column means. Defaults to true.</li>
<li><code>:stddev?</code> - Produce per-column standard deviation. Defaults to true.</li>
</ul></div>
</li>
</ul>
<a name="transformStdScale-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transformStdScale</h4>
<pre>public static&nbsp;java.util.Map&nbsp;transformStdScale(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;fitData)</pre>
<div class="block"><p>Transform dataset to mean of zero and a standard deviation of 1.</p></div>
</li>
</ul>
<a name="fitMinMax-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fitMinMax</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;fitMinMax(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;options)</pre>
<div class="block"><p>Fit a bias and scale the dataset that transforms each colum to a target min-max value.</p>
<p>Options:</p>
<ul>
<li><code>:min</code> - Target minimum value. Defaults it -0.5.</li>
<li><code>:max</code> - Target maximum value. Defaults to 0.5.</li>
</ul></div>
</li>
</ul>
<a name="fitMinMax-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fitMinMax</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;fitMinMax(java.lang.Object&nbsp;ds)</pre>
<div class="block"><p>Fit a minmax transformation that will transform each column to a minimum of -0.5 and a maximum of 0.5.</p></div>
</li>
</ul>
<a name="transformMinMax-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transformMinMax</h4>
<pre>public static&nbsp;java.util.Map&nbsp;transformMinMax(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;fitData)</pre>
<div class="block"><p>Transform a dataset using a previously fit minimax transformation.</p></div>
</li>
</ul>
<a name="interpolateLOESS-java.lang.Object-java.lang.Object-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>interpolateLOESS</h4>
<pre>public static&nbsp;java.util.Map&nbsp;interpolateLOESS(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;xColname,
java.lang.Object&nbsp;yColname,
java.lang.Object&nbsp;options)</pre>
<div class="block"><p>Map a LOESS-interpolation transformation onto a dataset. This can be used to, among other things, smooth out a column before graphing. For the meaning of the options, see documentation on the org.apache.commons.math3.analysis.interpolationLoessInterpolator.</p>
<p>Option defaults have been chosen to map somewhat closely to the R defaults.</p>
<p>Options:</p>
<ul>
<li><code>:bandwidth</code> - Defaults to 0.75.</li>
<li><code>:iterations</code> - Defaults to 4.</li>
<li><code>:accuracy</code> - Defaults to LoessInterpolator/DEFAULT_ACCURACY.</li>
<li><code>:result-name</code> - Result column name. Defaults to <code>yColname.toString + &quot;-loess&quot;</code>.</li>
</ul></div>
</li>
</ul>
<a name="interpolateLOESS-java.lang.Object-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>interpolateLOESS</h4>
<pre>public static&nbsp;java.util.Map&nbsp;interpolateLOESS(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;xColname,
java.lang.Object&nbsp;yColname)</pre>
<div class="block"><p>Perform a LOESS interpolation using the default parameters. For options see 4-arity form of function.</p></div>
</li>
</ul>
<a name="kFold-java.lang.Object-long-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>kFold</h4>
<pre>public static&nbsp;java.lang.Iterable&nbsp;kFold(java.lang.Object&nbsp;ds,
long&nbsp;k,
java.lang.Object&nbsp;options)</pre>
<div class="block"><p>Produce 2*k datasets from 1 dataset using k-fold algorithm. Returns a k maps of the form `{:test-ds :train-ds}.</p>
<p>Options:</p>
<ul>
<li><code>:randomize-dataset?</code> - When true, shuffle dataset. Defaults to true.</li>
<li><code>:seed</code> - When randomizing dataset, seed may be either an integer or an implementation of <code>java.util.Random</code>.</li>
</ul></div>
</li>
</ul>
<a name="kFold-java.lang.Object-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>kFold</h4>
<pre>public static&nbsp;java.lang.Iterable&nbsp;kFold(java.lang.Object&nbsp;ds,
long&nbsp;k)</pre>
<div class="block"><p>Return k maps of the form <code>{:test-ds :train-ds}</code>. For options see 3-arity form.</p></div>
</li>
</ul>
<a name="trainTestSplit-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trainTestSplit</h4>
<pre>public static&nbsp;java.util.Map&nbsp;trainTestSplit(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;options)</pre>
<div class="block"><p>Split the dataset returning a map of <code>{:train-ds :test-ds}</code>.</p>
<p>Options:</p>
<ul>
<li><code>:randomize-dataset?</code> - Defaults to true.</li>
<li><code>:seed</code> - When provided must be an integer or an implementation <code>java.util.Random</code>.</li>
<li><code>:train-fraction</code> - Fraction of dataset to use as training set. Defaults to 0.7.</li>
</ul></div>
</li>
</ul>
<a name="trainTestSplit-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trainTestSplit</h4>
<pre>public static&nbsp;java.util.Map&nbsp;trainTestSplit(java.lang.Object&nbsp;ds)</pre>
<div class="block"><p>Randomize then split dataset using 70% of the data for training and the rest for testing.</p></div>
</li>
</ul>
<a name="setInferenceTarget-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInferenceTarget</h4>
<pre>public static&nbsp;java.util.Map&nbsp;setInferenceTarget(java.lang.Object&nbsp;ds,
java.lang.Object&nbsp;cname)</pre>
<div class="block"><p>Set a column in the dataset as the inference target. This information is stored in the column metadata. This function is short form for:</p>
<pre><code class="java"> Object col = column(ds, cname);
return assoc(ds, cname, varyMeta(col, assocFn, kw(&quot;inference-target?&quot;), true));
</code></pre></div>
</li>
</ul>
<a name="labels-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>labels</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;labels(java.lang.Object&nbsp;ds)</pre>
<div class="block"><p>Find the inference column. If column was the result of a categorical mapping, reverse that mapping. Return data in a form that can be efficiently converted to a Buffer.</p></div>
</li>
</ul>
<a name="probabilityDistributionToLabels-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>probabilityDistributionToLabels</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;probabilityDistributionToLabels(java.lang.Object&nbsp;ds)</pre>
<div class="block"><p>Given a dataset where the column names are labels and the each row is a probabilitly distribution across the labels, produce a Buffer of labels taking the highest probability for each row to choose the label.</p></div>
</li>
</ul>
<a name="inferenceTargetLabelMap-java.lang.Object-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>inferenceTargetLabelMap</h4>
<pre>public static&nbsp;java.util.Map&nbsp;inferenceTargetLabelMap(java.lang.Object&nbsp;ds)</pre>
<div class="block"><p>Return a map of val-&gt;idx for the inference target.</p></div>
</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="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 class="aboutLanguage"><script type="text/javascript" src="../../../highlight.pack.js"></script>
<script type="text/javascript"><!--
hljs.initHighlightingOnLoad();
//--></script></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../tech/v3/dataset/Reductions.html" title="class in tech.v3.dataset"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?tech/v3/dataset/Modelling.html" target="_top">Frames</a></li>
<li><a href="Modelling.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>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
@@ -0,0 +1,795 @@
<!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_312) on Sun Dec 11 09:30:03 MST 2022 -->
<title>Reductions (tech.ml.dataset Documentation)</title>
<meta name="date" content="2022-12-11">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Reductions (tech.ml.dataset Documentation)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":9,"i24":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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="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 class="aboutLanguage"><script async src="https://www.googletagmanager.com/gtag/js?id=G-RGTB4J7LGP"</script><script>window.dataLayer = window.dataLayer || [];\nfunction gtag(){dataLayer.push(arguments);}\ngtag('js', new Date());\ngtag('config', 'G-RGTB4J7LGP');</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../tech/v3/dataset/Modelling.html" title="class in tech.v3.dataset"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../tech/v3/dataset/Rolling.html" title="class in tech.v3.dataset"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?tech/v3/dataset/Reductions.html" target="_top">Frames</a></li>
<li><a href="Reductions.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>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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">tech.v3.dataset</div>
<h2 title="Class Reductions" class="title">Class Reductions</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>tech.v3.dataset.Reductions</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">Reductions</span>
extends java.lang.Object</pre>
<div class="block"><p>High speed grouping aggregations based on sequences of datasets.</p></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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="t1" class="tableTab"><span><a href="javascript:show(1);">Static 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>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#distinct-java.lang.Object-">distinct</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">Returns a distinct reducer produces a set of distinct values.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#distinctUInt32-java.lang.Object-">distinctUInt32</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">Returns a distinct reducer that produces a roaringbitmap of distinct values.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#groupByColumnsAgg-java.lang.Iterable-java.lang.Object-java.util.Map-java.util.Map-">groupByColumnsAgg</a></span>(java.lang.Iterable&nbsp;dsSeq,
java.lang.Object&nbsp;colname,
java.util.Map&nbsp;aggMap,
java.util.Map&nbsp;options)</code>
<div class="block">Group a sequence of datasets by column or columns an in the process perform an aggregation.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#mean-java.lang.Object-">mean</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">Returns a mean reducer that produces a mean value of an individual source column.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#probCDFS-java.lang.Object-java.lang.Object-">probCDFS</a></span>(java.lang.Object&nbsp;colname,
java.lang.Object&nbsp;cdfs)</code>
<div class="block">Probabilistic CDF calculation, one for each double cdf passed in.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#probCDFS-java.lang.Object-java.lang.Object-long-">probCDFS</a></span>(java.lang.Object&nbsp;colname,
java.lang.Object&nbsp;cdfs,
long&nbsp;k)</code>
<div class="block">Probabilistic CDF calculation, one for each double cdf passed in.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#probInterquartileRange-java.lang.Object-">probInterquartileRange</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">Probabilistic interquartile range.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#probInterquartileRange-java.lang.Object-long-">probInterquartileRange</a></span>(java.lang.Object&nbsp;colname,
long&nbsp;k)</code>
<div class="block">Probabilistic interquartile range.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#probMedian-java.lang.Object-">probMedian</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">Probabilistic median with default K of 128.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#probMedian-java.lang.Object-long-">probMedian</a></span>(java.lang.Object&nbsp;colname,
long&nbsp;k)</code>
<div class="block">Probabilistic median.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#probPMFS-java.lang.Object-java.lang.Object-">probPMFS</a></span>(java.lang.Object&nbsp;colname,
java.lang.Object&nbsp;pmfs)</code>
<div class="block">Returns an approximation to the Probability Mass Function (PMF) of the input stream given a set of splitPoints (values).</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#probPMFS-java.lang.Object-java.lang.Object-long-">probPMFS</a></span>(java.lang.Object&nbsp;colname,
java.lang.Object&nbsp;pmfs,
long&nbsp;k)</code>
<div class="block">Returns an approximation to the Probability Mass Function (PMF) of the input stream given a set of splitPoints (values).</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#probQuantile-java.lang.Object-double-">probQuantile</a></span>(java.lang.Object&nbsp;colname,
double&nbsp;quantile)</code>
<div class="block">Probabilistic quantile estimation using default k of 128.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#probQuantile-java.lang.Object-double-long-">probQuantile</a></span>(java.lang.Object&nbsp;colname,
double&nbsp;quantile,
long&nbsp;k)</code>
<div class="block">Probabilistic quantile estimation using default k of 128.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#probQuantiles-java.lang.Object-java.lang.Object-">probQuantiles</a></span>(java.lang.Object&nbsp;colname,
java.lang.Object&nbsp;quantiles)</code>
<div class="block">Probabilistic quantile estimation using default k of 128.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#probQuantiles-java.lang.Object-java.lang.Object-long-">probQuantiles</a></span>(java.lang.Object&nbsp;colname,
java.lang.Object&nbsp;quantiles,
long&nbsp;k)</code>
<div class="block">Probabilistic quantile estimation - see <a href="https://datasketches.apache.org/api/java/snapshot/apidocs/index.html">DoublesSketch</a>.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#probSetCardinality-java.lang.Object-java.util.Map-">probSetCardinality</a></span>(java.lang.Object&nbsp;colname,
java.util.Map&nbsp;options)</code>
<div class="block">Calculate a probabilistic set cardinality for a given column based on one of three algorithms.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#reducer-java.lang.Object-clojure.lang.IFn-">reducer</a></span>(java.lang.Object&nbsp;colname,
clojure.lang.IFn&nbsp;perElemFn)</code>
<div class="block">Create a custom reducer.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#reducer-java.lang.Object-clojure.lang.IFn-clojure.lang.IFn-">reducer</a></span>(java.lang.Object&nbsp;colname,
clojure.lang.IFn&nbsp;perElemFn,
clojure.lang.IFn&nbsp;finalizeFn)</code>
<div class="block">Create a custom reducer.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#reservoirDataset-long-">reservoirDataset</a></span>(long&nbsp;nRows)</code>
<div class="block">Return a reducer that produces a probabilistically sampled dataset of at most nRows len.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#reservoirStats-java.lang.Object-long-java.lang.Object-">reservoirStats</a></span>(java.lang.Object&nbsp;colname,
long&nbsp;nRows,
java.lang.Object&nbsp;statName)</code>
<div class="block">Return a reducer which will probabilistically sample the source column producing at most nRows and then call descriptiveStatistics on it with statName.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#rowCount-java.lang.Object-">rowCount</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">Returns a rowCount reducer that returns the number of source rows aggregated.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#setCardinality-java.lang.Object-">setCardinality</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">Returns a distinct reducer returns the number of distinct elements.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#setCardinalityUint32-java.lang.Object-">setCardinalityUint32</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">Returns a distinct reducer that expects unsigned integer values and returns the number of distinct elements.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>static java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Reductions.html#sum-java.lang.Object-">sum</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">Returns a summation reducer that sums an individual source column.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="groupByColumnsAgg-java.lang.Iterable-java.lang.Object-java.util.Map-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>groupByColumnsAgg</h4>
<pre>public static&nbsp;java.util.Map&nbsp;groupByColumnsAgg(java.lang.Iterable&nbsp;dsSeq,
java.lang.Object&nbsp;colname,
java.util.Map&nbsp;aggMap,
java.util.Map&nbsp;options)</pre>
<div class="block"><p>Group a sequence of datasets by column or columns an in the process perform an aggregation. The resulting dataset will have one row per grouped key. Columns used as keys will always be represented in the result.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dsSeq</code> - Sequence of datasets such as produced by rowMapcat, dsPmap, or loading many files.</dd>
<dd><code>colname</code> - Either a single column name or a vector of column names. These will be the grouping keys.</dd>
<dd><code>aggMap</code> - Map of result colname to reducer. Various reducers are provided or you can build your own via the <code>reducer</code> function.</dd>
<dd><code>options</code> - Options map. Described below. May be null.</p>
<p>Options:</p>
<ul>
<li><code>:map-initial-capacity</code> - initial hashmap capacity. Resizing hash-maps is expensive so we would like to set this to something reasonable. Defaults to 100000.</li>
<li><code>:index-filter</code> - A function that given a dataset produces a function from long index to boolean. Only indexes for which the index-filter returns true will be added to the aggregation. For very large datasets, this is a bit faster than using filter before the aggregation.</li>
</ul>
<p>Example:</p>
<pre><code class="java">//Begin parallelized expansion
Iterable dsSeq = (Iterable)rowMapcat(srcds, tallyDays, hashmap(kw(&quot;result-type&quot;), kw(&quot;as-seq&quot;)));
//The first aggregation is to summarize by placement and simulation the year-month tallies.
//We are essentially replacing count with a summarized count. After this statement
//we can guarantee that the dataset has unique tuples of [simulation, placement, year-month]
Map initAgg = Reductions.groupByColumnsAgg(dsSeq, vector(&quot;simulation&quot;, &quot;placement&quot;, &quot;year-month&quot;),
hashmap(&quot;count&quot;, Reductions.sum(&quot;count&quot;)),
null);
println(head(initAgg));
//[&quot;simulation&quot; &quot;placement&quot; &quot;year-month&quot;]-aggregation [5 4]:
//| simulation | placement | year-month | count |
//|-----------:|----------:|------------|------:|
//| 0 | 0 | 2020-12 | 622.0 |
//| 0 | 1 | 2020-12 | 591.0 |
//| 0 | 2 | 2020-12 | 500.0 |
//| 0 | 3 | 2020-12 | 549.0 |
//| 0 | 4 | 2020-12 | 595.0 |
// The second aggregation allows us to build of statistics over each placement/year-month
// pair thus finding out the distribution of a given placement, year-month across simluations
Map result = Reductions.groupByColumnsAgg(vector(initAgg), vector(&quot;placement&quot;, &quot;year-month&quot;),
hashmap(&quot;min-count&quot;, Reductions.probQuantile(&quot;count&quot;, 0.0),
&quot;low-95-count&quot;, Reductions.probQuantile(&quot;count&quot;, 0.05),
&quot;q1-count&quot;, Reductions.probQuantile(&quot;count&quot;, 0.25),
&quot;median-count&quot;, Reductions.probQuantile(&quot;count&quot;, 0.5),
&quot;q3-count&quot;, Reductions.probQuantile(&quot;count&quot;, 0.75),
&quot;high-95-count&quot;, Reductions.probQuantile(&quot;count&quot;, 0.95),
&quot;max-count&quot;, Reductions.probQuantile(&quot;count&quot;, 1.0),
&quot;count&quot;, Reductions.sum(&quot;count&quot;)),
null);
//Take a million row dataset, expand it, then perform two grouping aggregations.
println(head(result));
//[&quot;placement&quot; &quot;year-month&quot;]-aggregation [5 10]:
//| q3-count | median-count | min-count | high-95-count | placement | max-count | count | low-95-count | q1-count | year-month |
//|---------:|-------------:|----------:|--------------:|----------:|----------:|--------:|-------------:|---------:|------------|
//| 646.0 | 593.0 | 366.0 | 716.0 | 36 | 809.0 | 58920.0 | 475.0 | 536.0 | 2020-12 |
//| 621.0 | 560.0 | 376.0 | 739.0 | 36 | 782.0 | 57107.0 | 459.0 | 512.0 | 2020-10 |
//| 168.0 | 139.0 | 25.0 | 211.0 | 0 | 246.0 | 13875.0 | 76.0 | 112.0 | 2021-01 |
//| 658.0 | 607.0 | 384.0 | 745.0 | 0 | 825.0 | 60848.0 | 486.0 | 561.0 | 2020-12 |
//| 628.0 | 581.0 | 422.0 | 693.0 | 0 | 802.0 | 58148.0 | 468.0 | 539.0 | 2020-11 |
</code></pre></dd>
</dl>
</li>
</ul>
<a name="reducer-java.lang.Object-clojure.lang.IFn-clojure.lang.IFn-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reducer</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;reducer(java.lang.Object&nbsp;colname,
clojure.lang.IFn&nbsp;perElemFn,
clojure.lang.IFn&nbsp;finalizeFn)</pre>
<div class="block"><p>Create a custom reducer. perElemFn is passed the last return value as the first argument followed by a value from each column as additional arguments. It must always return the current context.</p>
<p>This is a easy way to instantiate tech.v3.datatype.IndexReduction so if you really need the best possible performance you need to implement three methods of IndexReduction:</p>
<ul>
<li><code>prepareBatch</code> - Passed each dataset before processing. Return value becomes first argument to <code>reduceIndex</code>.</li>
<li><code>reduceIndex</code> - Passed batchCtx, valCtx, and rowIdx. Must return an updated or new valCtx.</li>
<li><code>finalize</code> - Passed valCtx and must return the final per-row value expected in result dataset. The default is just to return valCtx.</li>
</ul>
<p>For <code>groupByColumnAgg</code> you do not need to worry about reduceReductions - there is no merge step.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>colname</code> - One or more column names. If multiple column names are specified then perElemFn will need to take additional arguments.</dd>
<dd><code>perElemFn</code> - A function that takes the previous context along with the current row&rsquo;s column values and returns a new context.</dd>
<dd><code>finalizeFn</code> - Optional function that performs a final calculation taking a context and returning a value.</dd>
</dl>
</li>
</ul>
<a name="reducer-java.lang.Object-clojure.lang.IFn-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reducer</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;reducer(java.lang.Object&nbsp;colname,
clojure.lang.IFn&nbsp;perElemFn)</pre>
<div class="block"><p>Create a custom reducer. <code>perElemFn</code> is passed the last return value as the first argument followed by a value from each column as additional arguments. It must always return the current context.</p>
<p>This is a easy way to instantiate tech.v3.datatype.IndexReduction so if you really need the best possible performance you need to implement three methods of IndexReduction:</p>
<ul>
<li><code>prepareBatch</code> - Passed each dataset before processing. Return value becomes first argument to <code>reduceIndex</code>.</li>
<li><code>reduceIndex</code> - Passed batchCtx, valCtx, and rowIdx. Must return valCtx.</li>
<li><code>finalize</code> - Passed valCtx and must return the final per-row value expected in result dataset.</li>
</ul>
<p>For <code>groupByColumnAgg</code> you do not need to worry about reduceReductions - there is no merge step.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>colname</code> - One or more column names. If multiple column names are specified then perElemFn will need to take additional arguments.</dd>
<dd><code>perElemFn</code> - A function that takes the previous context along with the current row&rsquo;s column values and returns a new context.</dd>
</dl>
</li>
</ul>
<a name="sum-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sum</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;sum(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>Returns a summation reducer that sums an individual source column.</p></div>
</li>
</ul>
<a name="mean-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mean</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;mean(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>Returns a mean reducer that produces a mean value of an individual source column.</p></div>
</li>
</ul>
<a name="rowCount-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rowCount</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;rowCount(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>Returns a rowCount reducer that returns the number of source rows aggregated.</p></div>
</li>
</ul>
<a name="distinct-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>distinct</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;distinct(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>Returns a distinct reducer produces a set of distinct values.</p></div>
</li>
</ul>
<a name="distinctUInt32-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>distinctUInt32</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;distinctUInt32(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>Returns a distinct reducer that produces a roaringbitmap of distinct values. This is many times faster than the distinct reducer if your data fits into unsigned int32 space.</p></div>
</li>
</ul>
<a name="setCardinality-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCardinality</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;setCardinality(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>Returns a distinct reducer returns the number of distinct elements.</p></div>
</li>
</ul>
<a name="setCardinalityUint32-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setCardinalityUint32</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;setCardinalityUint32(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>Returns a distinct reducer that expects unsigned integer values and returns the number of distinct elements. This is many times faster than the countDistinct function.</p></div>
</li>
</ul>
<a name="reservoirDataset-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reservoirDataset</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;reservoirDataset(long&nbsp;nRows)</pre>
<div class="block"><p>Return a reducer that produces a probabilistically sampled dataset of at most nRows len.</p></div>
</li>
</ul>
<a name="reservoirStats-java.lang.Object-long-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reservoirStats</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;reservoirStats(java.lang.Object&nbsp;colname,
long&nbsp;nRows,
java.lang.Object&nbsp;statName)</pre>
<div class="block"><p>Return a reducer which will probabilistically sample the source column producing at most nRows and then call descriptiveStatistics on it with statName.</p>
<p>Stat names are described in tech.v3.datatype.Statistics.descriptiveStats.</p></div>
</li>
</ul>
<a name="probSetCardinality-java.lang.Object-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>probSetCardinality</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;probSetCardinality(java.lang.Object&nbsp;colname,
java.util.Map&nbsp;options)</pre>
<div class="block"><p>Calculate a probabilistic set cardinality for a given column based on one of three algorithms.</p>
<p>Options:</p>
<ul>
<li><code>:datatype</code> - One of <code>#{:float64 :string}</code>. Unspecified defaults to <code>:float64</code>.</li>
<li><code>:algorithm</code> - defaults to :hyper-log-log. Further algorithm-specific options may be included in the options map.</li>
</ul>
<p>Algorithm specific options:</p>
<ul>
<li><a href="https://datasketches.apache.org/docs/HLL/HLL.html">:hyper-log-log</a>
<ul>
<li><code>:hll-lgk</code> - defaults to 12, this is log-base2 of k, so k = 4096. lgK can be from 4 to 21.</li>
<li><code>:hll-type</code> - One of #{4,6,8}, defaults to 8. The HLL_4, HLL_6 and HLL_8 represent different levels of compression of the final HLL array where the 4, 6 and 8 refer to the number of bits each bucket of the HLL array is compressed down to. The HLL_4 is the most compressed but generally slightly slower than the other two, especially during union operations.</li>
</ul>
</li>
<li><a href="https://datasketches.apache.org/docs/Theta/ThetaSketchFramework.html">:theta</a></li>
<li><a href="https://datasketches.apache.org/docs/CPC/CPC.html">:cpc</a>
<ul>
<li><code>:cpc-lgk</code> - Defaults to 10.</li>
</ul>
</li>
</ul></div>
</li>
</ul>
<a name="probQuantiles-java.lang.Object-java.lang.Object-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>probQuantiles</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;probQuantiles(java.lang.Object&nbsp;colname,
java.lang.Object&nbsp;quantiles,
long&nbsp;k)</pre>
<div class="block"><p>Probabilistic quantile estimation - see <a href="https://datasketches.apache.org/api/java/snapshot/apidocs/index.html">DoublesSketch</a>.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>quantiles</code> - Sequence of quantiles.</dd>
<dd><code>k</code> - Defaults to 128. This produces a normalized rank error of about 1.7%&quot;</dd>
</dl>
</li>
</ul>
<a name="probQuantiles-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>probQuantiles</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;probQuantiles(java.lang.Object&nbsp;colname,
java.lang.Object&nbsp;quantiles)</pre>
<div class="block"><p>Probabilistic quantile estimation using default k of 128. See <a href="https://datasketches.apache.org/api/java/snapshot/apidocs/index.html">DoublesSketch</a>.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>quantiles</code> - Sequence of numbers from 0-1.</dd>
</dl>
</li>
</ul>
<a name="probQuantile-java.lang.Object-double-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>probQuantile</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;probQuantile(java.lang.Object&nbsp;colname,
double&nbsp;quantile,
long&nbsp;k)</pre>
<div class="block"><p>Probabilistic quantile estimation using default k of 128. See <a href="https://datasketches.apache.org/api/java/snapshot/apidocs/index.html">DoublesSketch</a>. Multiple quantile calculations on a single source column will be merged into a single quantile calculation so it may be more convenient to use this function to produce multiple quantiles mapped to several result columns as opposed to ending up with a single column of maps of quantile to value.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>quantile</code> - Number from 0-1.</dd>
<dd><code>k</code> - Defaults to 128. This produces a normalized rank error of about 1.7%</dd>
</dl>
</li>
</ul>
<a name="probQuantile-java.lang.Object-double-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>probQuantile</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;probQuantile(java.lang.Object&nbsp;colname,
double&nbsp;quantile)</pre>
<div class="block"><p>Probabilistic quantile estimation using default k of 128. See <a href="https://datasketches.apache.org/api/java/snapshot/apidocs/index.html">DoublesSketch</a>. Multiple quantiles will be merged into a single quantile calculation so it may be more convenient to use this function to produce multiple quantiles mapped to several result columns as opposed to ending up with a single column of maps of quantile to value.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>quantile</code> - Number from 0-1.</dd>
</dl>
</li>
</ul>
<a name="probMedian-java.lang.Object-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>probMedian</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;probMedian(java.lang.Object&nbsp;colname,
long&nbsp;k)</pre>
<div class="block"><p>Probabilistic median. See documentation for probQuantiles.</p></div>
</li>
</ul>
<a name="probMedian-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>probMedian</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;probMedian(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>Probabilistic median with default K of 128. See documentation for probQuantiles.</p></div>
</li>
</ul>
<a name="probInterquartileRange-java.lang.Object-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>probInterquartileRange</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;probInterquartileRange(java.lang.Object&nbsp;colname,
long&nbsp;k)</pre>
<div class="block"><p>Probabilistic interquartile range. See documentation for probQuantile.</p></div>
</li>
</ul>
<a name="probInterquartileRange-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>probInterquartileRange</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;probInterquartileRange(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>Probabilistic interquartile range. See documentation for probQuantile.</p></div>
</li>
</ul>
<a name="probCDFS-java.lang.Object-java.lang.Object-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>probCDFS</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;probCDFS(java.lang.Object&nbsp;colname,
java.lang.Object&nbsp;cdfs,
long&nbsp;k)</pre>
<div class="block"><p>Probabilistic CDF calculation, one for each double cdf passed in. See documentation for progQuantiles.</p></div>
</li>
</ul>
<a name="probCDFS-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>probCDFS</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;probCDFS(java.lang.Object&nbsp;colname,
java.lang.Object&nbsp;cdfs)</pre>
<div class="block"><p>Probabilistic CDF calculation, one for each double cdf passed in. See documentation for probQuantiles.</p></div>
</li>
</ul>
<a name="probPMFS-java.lang.Object-java.lang.Object-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>probPMFS</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;probPMFS(java.lang.Object&nbsp;colname,
java.lang.Object&nbsp;pmfs,
long&nbsp;k)</pre>
<div class="block"><p>Returns an approximation to the Probability Mass Function (PMF) of the input stream given a set of splitPoints (values). See <a href="https://datasketches.apache.org/api/java/snapshot/apidocs/index.html">DoublesSketch</a>. See documentation for probQuantiles.</p></div>
</li>
</ul>
<a name="probPMFS-java.lang.Object-java.lang.Object-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>probPMFS</h4>
<pre>public static&nbsp;java.lang.Object&nbsp;probPMFS(java.lang.Object&nbsp;colname,
java.lang.Object&nbsp;pmfs)</pre>
<div class="block"><p>Returns an approximation to the Probability Mass Function (PMF) of the input stream given a set of splitPoints (values). See <a href="https://datasketches.apache.org/api/java/snapshot/apidocs/index.html">DoublesSketch</a>. See documentation for probQuantiles.</p></div>
</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="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 class="aboutLanguage"><script type="text/javascript" src="../../../highlight.pack.js"></script>
<script type="text/javascript"><!--
hljs.initHighlightingOnLoad();
//--></script></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../tech/v3/dataset/Modelling.html" title="class in tech.v3.dataset"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../tech/v3/dataset/Rolling.html" title="class in tech.v3.dataset"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?tech/v3/dataset/Reductions.html" target="_top">Frames</a></li>
<li><a href="Reductions.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>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
@@ -0,0 +1,596 @@
<!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_312) on Sun Dec 11 09:30:03 MST 2022 -->
<title>Rolling (tech.ml.dataset Documentation)</title>
<meta name="date" content="2022-12-11">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Rolling (tech.ml.dataset Documentation)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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="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 class="aboutLanguage"><script async src="https://www.googletagmanager.com/gtag/js?id=G-RGTB4J7LGP"</script><script>window.dataLayer = window.dataLayer || [];\nfunction gtag(){dataLayer.push(arguments);}\ngtag('js', new Date());\ngtag('config', 'G-RGTB4J7LGP');</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../tech/v3/dataset/Reductions.html" title="class in tech.v3.dataset"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?tech/v3/dataset/Rolling.html" target="_top">Frames</a></li>
<li><a href="Rolling.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>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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">tech.v3.dataset</div>
<h2 title="Class Rolling" class="title">Class Rolling</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>tech.v3.dataset.Rolling</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">Rolling</span>
extends java.lang.Object</pre>
<div class="block"><p>Fixed and variable length rolling windows. For variable rolling windows the dataset must already be sorted by the target column. Datetime support is provided in terms of provide specific units in which to perform the rolling operation such as the keyword <code>:days</code>.</p></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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="t1" class="tableTab"><span><a href="javascript:show(1);">Static 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>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#first-java.lang.Object-">first</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">reducer that keeps the first value</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#fixedWindow-long-">fixedWindow</a></span>(long&nbsp;windowSize)</code>
<div class="block">Return fixed size rolling window.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#fixedWindow-long-clojure.lang.Keyword-">fixedWindow</a></span>(long&nbsp;windowSize,
clojure.lang.Keyword&nbsp;winPos)</code>
<div class="block">Return fixed size rolling window.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#fixedWindow-long-clojure.lang.Keyword-clojure.lang.Keyword-">fixedWindow</a></span>(long&nbsp;windowSize,
clojure.lang.Keyword&nbsp;winPos,
clojure.lang.Keyword&nbsp;edgeMode)</code>
<div class="block">Return fixed size rolling window.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#last-java.lang.Object-">last</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">reducer that keeps the last value</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#max-java.lang.Object-">max</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">max reducer</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#mean-java.lang.Object-">mean</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">mean reducer</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#min-java.lang.Object-">min</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">min reducer</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#reducer-java.lang.Object-clojure.lang.IFn-">reducer</a></span>(java.lang.Object&nbsp;srcColname,
clojure.lang.IFn&nbsp;reduceFn)</code>
<div class="block">Create a columnwise reducer eliding datatype parameter.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#reducer-java.lang.Object-clojure.lang.IFn-clojure.lang.Keyword-">reducer</a></span>(java.lang.Object&nbsp;srcColname,
clojure.lang.IFn&nbsp;reduceFn,
clojure.lang.Keyword&nbsp;datatype)</code>
<div class="block">Create a columnwise reducer.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#rolling-java.lang.Object-java.util.Map-java.util.Map-">rolling</a></span>(java.lang.Object&nbsp;ds,
java.util.Map&nbsp;windowSpec,
java.util.Map&nbsp;reducerMap)</code>
<div class="block">Fixed or variable rolling window reductions.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#stddev-java.lang.Object-">stddev</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">stddev reducer</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#sum-java.lang.Object-">sum</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">sum reducer</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#variableWindow-java.lang.Object-double-">variableWindow</a></span>(java.lang.Object&nbsp;colname,
double&nbsp;windowSize)</code>
<div class="block">Create a variable window specification with a double windowsize for a particular column.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#variableWindow-java.lang.Object-double-clojure.lang.Keyword-">variableWindow</a></span>(java.lang.Object&nbsp;colname,
double&nbsp;windowSize,
clojure.lang.Keyword&nbsp;datetimeUnit)</code>
<div class="block">Create a datetime-specific variable window specification with a double windowsize for a particular column.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#variableWindow-java.lang.Object-double-java.lang.Object-">variableWindow</a></span>(java.lang.Object&nbsp;colname,
double&nbsp;windowSize,
java.lang.Object&nbsp;compFn)</code>
<div class="block">Create a variable window specification with a double windowsize for a particular column and a compFn which must take two values and return a double.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>static java.util.Map</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../tech/v3/dataset/Rolling.html#variance-java.lang.Object-">variance</a></span>(java.lang.Object&nbsp;colname)</code>
<div class="block">variance reducer</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="rolling-java.lang.Object-java.util.Map-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rolling</h4>
<pre>public static&nbsp;java.util.Map&nbsp;rolling(java.lang.Object&nbsp;ds,
java.util.Map&nbsp;windowSpec,
java.util.Map&nbsp;reducerMap)</pre>
<div class="block"><p>Fixed or variable rolling window reductions.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>windowSpec</code> - Window specification specifying the type of window, either a window over a fixed number of rows or a window based on a fixed logical quantitative difference i.e. three months or 10 milliseconds.</dd>
<dd><code>reducerMap</code> - map of dest column name to reducer where reducer is a map with two keys, :column-name which is the input column to use and :reducer which is an IFn that receives each window of data as a buffer.</p>
<p>Example:</p>
<pre><code class="java">Map stocks = makeDataset(&quot;https://github.com/techascent/tech.ml.dataset/raw/master/test/data/stocks.csv&quot;);
//Variable-sized windows require the source column to be sorted.
stocks = sortByColumn(stocks, &quot;date&quot;);
Map variableWin = Rolling.rolling(stocks,
Rolling.variableWindow(&quot;date&quot;, 3, kw(&quot;months&quot;)),
hashmap(&quot;price-mean-3m&quot;, Rolling.mean(&quot;price&quot;),
&quot;price-max-3m&quot;, Rolling.max(&quot;price&quot;),
&quot;price-min-3m&quot;, Rolling.min(&quot;price&quot;)));
println(head(variableWin, 10));
https://github.com/techascent/tech.ml.dataset/raw/master/test/data/stocks.csv [10 6]:
//| symbol | date | price | price-max-3m | price-mean-3m | price-min-3m |
//|--------|------------|-------:|-------------:|--------------:|-------------:|
//| AAPL | 2000-01-01 | 25.94 | 106.11 | 58.92500000 | 25.94 |
//| IBM | 2000-01-01 | 100.52 | 106.11 | 61.92363636 | 28.66 |
//| MSFT | 2000-01-01 | 39.81 | 106.11 | 58.06400000 | 28.66 |
//| AMZN | 2000-01-01 | 64.56 | 106.11 | 60.09222222 | 28.66 |
//| AAPL | 2000-02-01 | 28.66 | 106.11 | 57.56583333 | 28.37 |
//| MSFT | 2000-02-01 | 36.35 | 106.11 | 60.19363636 | 28.37 |
//| IBM | 2000-02-01 | 92.11 | 106.11 | 62.57800000 | 28.37 |
//| AMZN | 2000-02-01 | 68.87 | 106.11 | 59.29666667 | 28.37 |
//| AMZN | 2000-03-01 | 67.00 | 106.11 | 54.65583333 | 21.00 |
//| MSFT | 2000-03-01 | 43.22 | 106.11 | 53.53363636 | 21.00 |
//Fixed window...
Object radians = VecMath.mul(2.0*Math.PI, VecMath.div(range(33), 32.0));
Map sinds = makeDataset(hashmap(&quot;radians&quot;, radians, &quot;sin&quot;, VecMath.sin(radians)));
Map fixedWin = Rolling.rolling(sinds,
Rolling.fixedWindow(4),
hashmap(&quot;sin-roll-mean&quot;, Rolling.mean(&quot;sin&quot;),
&quot;sin-roll-max&quot;, Rolling.max(&quot;sin&quot;),
&quot;sin-roll-min&quot;, Rolling.min(&quot;sin&quot;)));
println(head(fixedWin, 8));
//_unnamed [8 5]:
//| sin | radians | sin-roll-max | sin-roll-min | sin-roll-mean |
//|-----------:|-----------:|-------------:|-------------:|--------------:|
//| 0.00000000 | 0.00000000 | 0.19509032 | 0.00000000 | 0.04877258 |
//| 0.19509032 | 0.19634954 | 0.38268343 | 0.00000000 | 0.14444344 |
//| 0.38268343 | 0.39269908 | 0.55557023 | 0.00000000 | 0.28333600 |
//| 0.55557023 | 0.58904862 | 0.70710678 | 0.19509032 | 0.46011269 |
//| 0.70710678 | 0.78539816 | 0.83146961 | 0.38268343 | 0.61920751 |
//| 0.83146961 | 0.98174770 | 0.92387953 | 0.55557023 | 0.75450654 |
//| 0.92387953 | 1.17809725 | 0.98078528 | 0.70710678 | 0.86081030 |
//| 0.98078528 | 1.37444679 | 1.00000000 | 0.83146961 | 0.93403361 |
</code></pre></dd>
</dl>
</li>
</ul>
<a name="variableWindow-java.lang.Object-double-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>variableWindow</h4>
<pre>public static&nbsp;java.util.Map&nbsp;variableWindow(java.lang.Object&nbsp;colname,
double&nbsp;windowSize)</pre>
<div class="block"><p>Create a variable window specification with a double windowsize for a particular column. This specification will not work on datetime columns.</p></div>
</li>
</ul>
<a name="variableWindow-java.lang.Object-double-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>variableWindow</h4>
<pre>public static&nbsp;java.util.Map&nbsp;variableWindow(java.lang.Object&nbsp;colname,
double&nbsp;windowSize,
java.lang.Object&nbsp;compFn)</pre>
<div class="block"><p>Create a variable window specification with a double windowsize for a particular column and a compFn which must take two values and return a double. The function must take 2 arguments and the arguments are passed in as (later,earlier). This allows the basic clojure &lsquo;-&rsquo; operator to work fine in many cases.</p></div>
</li>
</ul>
<a name="variableWindow-java.lang.Object-double-clojure.lang.Keyword-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>variableWindow</h4>
<pre>public static&nbsp;java.util.Map&nbsp;variableWindow(java.lang.Object&nbsp;colname,
double&nbsp;windowSize,
clojure.lang.Keyword&nbsp;datetimeUnit)</pre>
<div class="block"><p>Create a datetime-specific variable window specification with a double windowsize for a particular column.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>datetimeUnit</code> - One of <code>[:milliseconds, :seconds, :hours, :days, :months]</code>.</dd>
</dl>
</li>
</ul>
<a name="fixedWindow-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fixedWindow</h4>
<pre>public static&nbsp;java.util.Map&nbsp;fixedWindow(long&nbsp;windowSize)</pre>
<div class="block"><p>Return fixed size rolling window. Window will be fixed over <code>window-size</code> rows.</p></div>
</li>
</ul>
<a name="fixedWindow-long-clojure.lang.Keyword-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fixedWindow</h4>
<pre>public static&nbsp;java.util.Map&nbsp;fixedWindow(long&nbsp;windowSize,
clojure.lang.Keyword&nbsp;winPos)</pre>
<div class="block"><p>Return fixed size rolling window. Window will be fixed over <code>window-size</code> rows.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>winPos</code> - One of <code>[:left :center :right]</code>. This combined with the default edge mode of <code>:clamp</code> dictates the windows of data the reducer sees.</dd>
</dl>
</li>
</ul>
<a name="fixedWindow-long-clojure.lang.Keyword-clojure.lang.Keyword-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fixedWindow</h4>
<pre>public static&nbsp;java.util.Map&nbsp;fixedWindow(long&nbsp;windowSize,
clojure.lang.Keyword&nbsp;winPos,
clojure.lang.Keyword&nbsp;edgeMode)</pre>
<div class="block"><p>Return fixed size rolling window. Window will be fixed over <code>window-size</code> rows.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>winPos</code> - One of <code>[:left :center :right]</code>. This combined with the default edge mode dictates windows of data the reducer sees.</dd>
<dd><code>edgeMode</code> - One of <code>[:zero, null, :clamp]</code>. Clamp means repeat the end value.</dd>
</dl>
</li>
</ul>
<a name="reducer-java.lang.Object-clojure.lang.IFn-clojure.lang.Keyword-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reducer</h4>
<pre>public static&nbsp;java.util.Map&nbsp;reducer(java.lang.Object&nbsp;srcColname,
clojure.lang.IFn&nbsp;reduceFn,
clojure.lang.Keyword&nbsp;datatype)</pre>
<div class="block"><p>Create a columnwise reducer. This reducer gets sub-windows from the column and must return a scalar value. If srcColname is a vector of colnames then reduceFn will be passed each column window as a separate argument.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>datatype</code> - Option datatype, may be nil in which case the dataset will scan the result to infer datatype. If provided this will enforce the result column datatype. Reductions to numeric types with fixed datatypes will be slightly faster than generic reductions which require inference to find the final datatype.</dd>
</dl>
</li>
</ul>
<a name="reducer-java.lang.Object-clojure.lang.IFn-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reducer</h4>
<pre>public static&nbsp;java.util.Map&nbsp;reducer(java.lang.Object&nbsp;srcColname,
clojure.lang.IFn&nbsp;reduceFn)</pre>
<div class="block"><p>Create a columnwise reducer eliding datatype parameter. See documentation on 3-arity form of function.</p></div>
</li>
</ul>
<a name="mean-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mean</h4>
<pre>public static&nbsp;java.util.Map&nbsp;mean(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>mean reducer</p></div>
</li>
</ul>
<a name="sum-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sum</h4>
<pre>public static&nbsp;java.util.Map&nbsp;sum(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>sum reducer</p></div>
</li>
</ul>
<a name="min-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>min</h4>
<pre>public static&nbsp;java.util.Map&nbsp;min(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>min reducer</p></div>
</li>
</ul>
<a name="max-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>max</h4>
<pre>public static&nbsp;java.util.Map&nbsp;max(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>max reducer</p></div>
</li>
</ul>
<a name="stddev-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stddev</h4>
<pre>public static&nbsp;java.util.Map&nbsp;stddev(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>stddev reducer</p></div>
</li>
</ul>
<a name="variance-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>variance</h4>
<pre>public static&nbsp;java.util.Map&nbsp;variance(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>variance reducer</p></div>
</li>
</ul>
<a name="first-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>first</h4>
<pre>public static&nbsp;java.util.Map&nbsp;first(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>reducer that keeps the first value</p></div>
</li>
</ul>
<a name="last-java.lang.Object-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>last</h4>
<pre>public static&nbsp;java.util.Map&nbsp;last(java.lang.Object&nbsp;colname)</pre>
<div class="block"><p>reducer that keeps the last value</p></div>
</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="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 class="aboutLanguage"><script type="text/javascript" src="../../../highlight.pack.js"></script>
<script type="text/javascript"><!--
hljs.initHighlightingOnLoad();
//--></script></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../tech/v3/dataset/Reductions.html" title="class in tech.v3.dataset"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?tech/v3/dataset/Rolling.html" target="_top">Frames</a></li>
<li><a href="Rolling.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>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
@@ -0,0 +1,22 @@
<!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_312) on Sun Dec 11 09:30:03 MST 2022 -->
<title>tech.v3.dataset (tech.ml.dataset Documentation)</title>
<meta name="date" content="2022-12-11">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<h1 class="bar"><a href="../../../tech/v3/dataset/package-summary.html" target="classFrame">tech.v3.dataset</a></h1>
<div class="indexContainer">
<h2 title="Classes">Classes</h2>
<ul title="Classes">
<li><a href="Modelling.html" title="class in tech.v3.dataset" target="classFrame">Modelling</a></li>
<li><a href="Reductions.html" title="class in tech.v3.dataset" target="classFrame">Reductions</a></li>
<li><a href="Rolling.html" title="class in tech.v3.dataset" target="classFrame">Rolling</a></li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,159 @@
<!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_312) on Sun Dec 11 09:30:03 MST 2022 -->
<title>tech.v3.dataset (tech.ml.dataset Documentation)</title>
<meta name="date" content="2022-12-11">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="tech.v3.dataset (tech.ml.dataset Documentation)";
}
}
catch(err) {
}
//-->
</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 class="navBarCell1Rev">Package</li>
<li>Class</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 class="aboutLanguage"><script async src="https://www.googletagmanager.com/gtag/js?id=G-RGTB4J7LGP"</script><script>window.dataLayer = window.dataLayer || [];\nfunction gtag(){dataLayer.push(arguments);}\ngtag('js', new Date());\ngtag('config', 'G-RGTB4J7LGP');</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../tech/v3/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../tech/v3/libs/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?tech/v3/dataset/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.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>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Package" class="title">Package&nbsp;tech.v3.dataset</h1>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../tech/v3/dataset/Modelling.html" title="class in tech.v3.dataset">Modelling</a></td>
<td class="colLast">
<div class="block">Functions related to training and evaluating ML models.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../tech/v3/dataset/Reductions.html" title="class in tech.v3.dataset">Reductions</a></td>
<td class="colLast">
<div class="block">High speed grouping aggregations based on sequences of datasets.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../tech/v3/dataset/Rolling.html" title="class in tech.v3.dataset">Rolling</a></td>
<td class="colLast">
<div class="block">Fixed and variable length rolling windows.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<!-- ======= 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 class="navBarCell1Rev">Package</li>
<li>Class</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 class="aboutLanguage"><script type="text/javascript" src="../../../highlight.pack.js"></script>
<script type="text/javascript"><!--
hljs.initHighlightingOnLoad();
//--></script></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../tech/v3/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../tech/v3/libs/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?tech/v3/dataset/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.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>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
@@ -0,0 +1,142 @@
<!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_312) on Sun Dec 11 09:30:03 MST 2022 -->
<title>tech.v3.dataset Class Hierarchy (tech.ml.dataset Documentation)</title>
<meta name="date" content="2022-12-11">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="tech.v3.dataset Class Hierarchy (tech.ml.dataset Documentation)";
}
}
catch(err) {
}
//-->
</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</li>
<li class="navBarCell1Rev">Tree</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 class="aboutLanguage"><script async src="https://www.googletagmanager.com/gtag/js?id=G-RGTB4J7LGP"</script><script>window.dataLayer = window.dataLayer || [];\nfunction gtag(){dataLayer.push(arguments);}\ngtag('js', new Date());\ngtag('config', 'G-RGTB4J7LGP');</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../tech/v3/package-tree.html">Prev</a></li>
<li><a href="../../../tech/v3/libs/package-tree.html">Next</a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?tech/v3/dataset/package-tree.html" target="_top">Frames</a></li>
<li><a href="package-tree.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>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 class="title">Hierarchy For Package tech.v3.dataset</h1>
<span class="packageHierarchyLabel">Package Hierarchies:</span>
<ul class="horizontal">
<li><a href="../../../overview-tree.html">All Packages</a></li>
</ul>
</div>
<div class="contentContainer">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li type="circle">java.lang.Object
<ul>
<li type="circle">tech.v3.dataset.<a href="../../../tech/v3/dataset/Modelling.html" title="class in tech.v3.dataset"><span class="typeNameLink">Modelling</span></a></li>
<li type="circle">tech.v3.dataset.<a href="../../../tech/v3/dataset/Reductions.html" title="class in tech.v3.dataset"><span class="typeNameLink">Reductions</span></a></li>
<li type="circle">tech.v3.dataset.<a href="../../../tech/v3/dataset/Rolling.html" title="class in tech.v3.dataset"><span class="typeNameLink">Rolling</span></a></li>
</ul>
</li>
</ul>
</div>
<!-- ======= 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</li>
<li class="navBarCell1Rev">Tree</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 class="aboutLanguage"><script type="text/javascript" src="../../../highlight.pack.js"></script>
<script type="text/javascript"><!--
hljs.initHighlightingOnLoad();
//--></script></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../tech/v3/package-tree.html">Prev</a></li>
<li><a href="../../../tech/v3/libs/package-tree.html">Next</a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?tech/v3/dataset/package-tree.html" target="_top">Frames</a></li>
<li><a href="package-tree.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>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>