You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datafu.apache.org by mh...@apache.org on 2018/03/22 19:01:10 UTC

svn commit: r1827525 [23/49] - in /datafu/site/docs: datafu/1.4.0/ datafu/1.4.0/datafu/ datafu/1.4.0/datafu/pig/ datafu/1.4.0/datafu/pig/bags/ datafu/1.4.0/datafu/pig/geo/ datafu/1.4.0/datafu/pig/hash/ datafu/1.4.0/datafu/pig/hash/lsh/ datafu/1.4.0/dat...

Added: datafu/site/docs/datafu/1.4.0/datafu/pig/stats/entropy/CondEntropy.html
URL: http://svn.apache.org/viewvc/datafu/site/docs/datafu/1.4.0/datafu/pig/stats/entropy/CondEntropy.html?rev=1827525&view=auto
==============================================================================
--- datafu/site/docs/datafu/1.4.0/datafu/pig/stats/entropy/CondEntropy.html (added)
+++ datafu/site/docs/datafu/1.4.0/datafu/pig/stats/entropy/CondEntropy.html Thu Mar 22 19:01:04 2018
@@ -0,0 +1,485 @@
+<!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 (version 1.7.0_79) on Thu Mar 22 11:58:09 PDT 2018 -->
+<title>CondEntropy (datafu-pig 1.4.0 API)</title>
+<meta name="date" content="2018-03-22">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="CondEntropy (datafu-pig 1.4.0 API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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 Class</li>
+<li><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.html" title="class in datafu.pig.stats.entropy"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?datafu/pig/stats/entropy/CondEntropy.html" target="_top">Frames</a></li>
+<li><a href="CondEntropy.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested_classes_inherited_from_class_org.apache.pig.EvalFunc">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields_inherited_from_class_org.apache.pig.EvalFunc">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">datafu.pig.stats.entropy</div>
+<h2 title="Class CondEntropy" class="title">Class CondEntropy</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.pig.EvalFunc&lt;T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.pig.AccumulatorEvalFunc&lt;java.lang.Double&gt;</li>
+<li>
+<ul class="inheritance">
+<li>datafu.pig.stats.entropy.CondEntropy</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd>org.apache.pig.Accumulator&lt;java.lang.Double&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="strong">CondEntropy</span>
+extends org.apache.pig.AccumulatorEvalFunc&lt;java.lang.Double&gt;</pre>
+<div class="block">Calculate conditional entropy H(Y|X) of random variables X and Y following conditional entropy's
+ <a href="http://en.wikipedia.org/wiki/Conditional_entropy" target="_blank">wiki definition</a>,
+ X is the conditional variable and Y is the variable that conditions on X.
+
+ <p>
+ Each tuple of the input bag has 2 fields, the 1st field is an object instance of variable X and
+ the 2nd field is an object instance of variable Y. An exception will be thrown if the number of fields is not 2.
+ </p>
+
+ <p>
+ This UDF's constructor definition and parameters are the same as that of <a href="../../../../datafu/pig/stats/entropy/Entropy.html" title="class in datafu.pig.stats.entropy"><code>Entropy</code></a>
+ </p>
+
+ Note:
+ <ul>
+     <li>The input bag to this UDF must be <b>sorted</b> on X and Y, with X in the first sort order.
+     An exception will be thrown if the input bag is not sorted.
+     <li>The returned entropy value is of double type.
+ </ul>
+
+ <p>
+ How to use:
+ </p>
+
+ <p>
+ This UDF calculates conditional entropy given raw data tuples of X and Y without the need to pre-compute per tuple occurrence frequency.
+ </p>
+
+ <p>
+ It could be used in a nested FOREACH after a GROUP BY, in which we sort the inner bag and use the sorted bag as this UDF's input.
+ </p>
+
+ Example:
+ <pre>
+ <code>--define empirical conditional entropy with Euler's number as the logarithm base
+ define CondEntropy datafu.pig.stats.entropy.CondEntropy();
+
+ input = LOAD 'input' AS (grp: chararray, valX: double, valY: double);
+
+ -- calculate conditional entropy H(Y|X) in each group
+ input_group_g = GROUP input BY grp;
+ entropy_group = FOREACH input_group_g {
+   input_val = input.(valX, valY)
+   input_ordered = ORDER input_val BY $0, $1;
+   GENERATE FLATTEN(group) AS group, CondEntropy(input_ordered) AS cond_entropy; 
+ }
+ </code>
+ </pre>
+
+ Use case to calculate mutual information:
+ <pre>
+ <code>------------
+ -- calculate mutual information I(X, Y) using conditional entropy UDF and entropy UDF
+ -- I(X, Y) = H(Y) - H(Y|X)
+ ------------
+
+ define CondEntropy datafu.pig.stats.entropy.CondEntropy();
+ define Entropy datafu.pig.stats.entropy.Entropy();
+
+ input = LOAD 'input' AS (grp: chararray, valX: double, valY: double);
+
+ -- calculate the I(X,Y) in each group
+ input_group_g = GROUP input BY grp;
+ mutual_information = FOREACH input_group_g {
+      input_val_x_y = input.(valX, valY);
+      input_val_x_y_ordered = ORDER input_val_x_y BY $0,$1;
+      input_val_y = input.valY;
+      input_val_y_ordered = ORDER input_val_y BY $0;
+      cond_h_x_y = CondEntropy(input_val_x_y_ordered);
+      h_y = Entropy(input_val_y_ordered);
+      GENERATE FLATTEN(group), h_y - cond_h_x_y;
+ }
+ </code>
+ </pre></div>
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../datafu/pig/stats/entropy/Entropy.html" title="class in datafu.pig.stats.entropy"><code>Entropy</code></a></dd></dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested_class_summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested_classes_inherited_from_class_org.apache.pig.EvalFunc">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.pig.EvalFunc</h3>
+<code>org.apache.pig.EvalFunc.SchemaType</code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.pig.EvalFunc">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.pig.EvalFunc</h3>
+<code>log, pigLogger, reporter, returnType</code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../datafu/pig/stats/entropy/CondEntropy.html#CondEntropy()">CondEntropy</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><strong><a href="../../../../datafu/pig/stats/entropy/CondEntropy.html#CondEntropy(java.lang.String)">CondEntropy</a></strong>(java.lang.String&nbsp;type)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../datafu/pig/stats/entropy/CondEntropy.html#CondEntropy(java.lang.String,%20java.lang.String)">CondEntropy</a></strong>(java.lang.String&nbsp;type,
+           java.lang.String&nbsp;base)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../datafu/pig/stats/entropy/CondEntropy.html#accumulate(org.apache.pig.data.Tuple)">accumulate</a></strong>(org.apache.pig.data.Tuple&nbsp;input)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../datafu/pig/stats/entropy/CondEntropy.html#cleanup()">cleanup</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>java.lang.Double</code></td>
+<td class="colLast"><code><strong><a href="../../../../datafu/pig/stats/entropy/CondEntropy.html#getValue()">getValue</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>org.apache.pig.impl.logicalLayer.schema.Schema</code></td>
+<td class="colLast"><code><strong><a href="../../../../datafu/pig/stats/entropy/CondEntropy.html#outputSchema(org.apache.pig.impl.logicalLayer.schema.Schema)">outputSchema</a></strong>(org.apache.pig.impl.logicalLayer.schema.Schema&nbsp;input)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.pig.AccumulatorEvalFunc">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.pig.AccumulatorEvalFunc</h3>
+<code>exec</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.pig.EvalFunc">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.pig.EvalFunc</h3>
+<code>allowCompileTimeCalculation, finish, getArgToFuncMapping, getCacheFiles, getInputSchema, getLogger, getPigLogger, getReporter, getReturnType, getSchemaName, getSchemaType, getShipFiles, isAsynchronous, progress, setInputSchema, setPigLogger, setReporter, setUDFContextSignature, warn</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.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">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="CondEntropy()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CondEntropy</h4>
+<pre>public&nbsp;CondEntropy()
+            throws org.apache.pig.backend.executionengine.ExecException</pre>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code>org.apache.pig.backend.executionengine.ExecException</code></dd></dl>
+</li>
+</ul>
+<a name="CondEntropy(java.lang.String)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CondEntropy</h4>
+<pre>public&nbsp;CondEntropy(java.lang.String&nbsp;type)
+            throws org.apache.pig.backend.executionengine.ExecException</pre>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code>org.apache.pig.backend.executionengine.ExecException</code></dd></dl>
+</li>
+</ul>
+<a name="CondEntropy(java.lang.String, java.lang.String)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>CondEntropy</h4>
+<pre>public&nbsp;CondEntropy(java.lang.String&nbsp;type,
+           java.lang.String&nbsp;base)
+            throws org.apache.pig.backend.executionengine.ExecException</pre>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code>org.apache.pig.backend.executionengine.ExecException</code></dd></dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="accumulate(org.apache.pig.data.Tuple)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>accumulate</h4>
+<pre>public&nbsp;void&nbsp;accumulate(org.apache.pig.data.Tuple&nbsp;input)
+                throws java.io.IOException</pre>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code>accumulate</code>&nbsp;in interface&nbsp;<code>org.apache.pig.Accumulator&lt;java.lang.Double&gt;</code></dd>
+<dt><strong>Specified by:</strong></dt>
+<dd><code>accumulate</code>&nbsp;in class&nbsp;<code>org.apache.pig.AccumulatorEvalFunc&lt;java.lang.Double&gt;</code></dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code>java.io.IOException</code></dd></dl>
+</li>
+</ul>
+<a name="getValue()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getValue</h4>
+<pre>public&nbsp;java.lang.Double&nbsp;getValue()</pre>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code>getValue</code>&nbsp;in interface&nbsp;<code>org.apache.pig.Accumulator&lt;java.lang.Double&gt;</code></dd>
+<dt><strong>Specified by:</strong></dt>
+<dd><code>getValue</code>&nbsp;in class&nbsp;<code>org.apache.pig.AccumulatorEvalFunc&lt;java.lang.Double&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="cleanup()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>cleanup</h4>
+<pre>public&nbsp;void&nbsp;cleanup()</pre>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code>cleanup</code>&nbsp;in interface&nbsp;<code>org.apache.pig.Accumulator&lt;java.lang.Double&gt;</code></dd>
+<dt><strong>Specified by:</strong></dt>
+<dd><code>cleanup</code>&nbsp;in class&nbsp;<code>org.apache.pig.AccumulatorEvalFunc&lt;java.lang.Double&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="outputSchema(org.apache.pig.impl.logicalLayer.schema.Schema)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>outputSchema</h4>
+<pre>public&nbsp;org.apache.pig.impl.logicalLayer.schema.Schema&nbsp;outputSchema(org.apache.pig.impl.logicalLayer.schema.Schema&nbsp;input)</pre>
+<dl>
+<dt><strong>Overrides:</strong></dt>
+<dd><code>outputSchema</code>&nbsp;in class&nbsp;<code>org.apache.pig.EvalFunc&lt;java.lang.Double&gt;</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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>
+<div class="subNav">
+<ul class="navList">
+<li>Prev Class</li>
+<li><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.html" title="class in datafu.pig.stats.entropy"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?datafu/pig/stats/entropy/CondEntropy.html" target="_top">Frames</a></li>
+<li><a href="CondEntropy.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested_classes_inherited_from_class_org.apache.pig.EvalFunc">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields_inherited_from_class_org.apache.pig.EvalFunc">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>

Added: datafu/site/docs/datafu/1.4.0/datafu/pig/stats/entropy/EmpiricalCountEntropy.Final.html
URL: http://svn.apache.org/viewvc/datafu/site/docs/datafu/1.4.0/datafu/pig/stats/entropy/EmpiricalCountEntropy.Final.html?rev=1827525&view=auto
==============================================================================
--- datafu/site/docs/datafu/1.4.0/datafu/pig/stats/entropy/EmpiricalCountEntropy.Final.html (added)
+++ datafu/site/docs/datafu/1.4.0/datafu/pig/stats/entropy/EmpiricalCountEntropy.Final.html Thu Mar 22 19:01:04 2018
@@ -0,0 +1,318 @@
+<!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 (version 1.7.0_79) on Thu Mar 22 11:58:09 PDT 2018 -->
+<title>EmpiricalCountEntropy.Final (datafu-pig 1.4.0 API)</title>
+<meta name="date" content="2018-03-22">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="EmpiricalCountEntropy.Final (datafu-pig 1.4.0 API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.html" title="class in datafu.pig.stats.entropy"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.Initial.html" title="class in datafu.pig.stats.entropy"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?datafu/pig/stats/entropy/EmpiricalCountEntropy.Final.html" target="_top">Frames</a></li>
+<li><a href="EmpiricalCountEntropy.Final.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested_classes_inherited_from_class_org.apache.pig.EvalFunc">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields_inherited_from_class_org.apache.pig.EvalFunc">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">datafu.pig.stats.entropy</div>
+<h2 title="Class EmpiricalCountEntropy.Final" class="title">Class EmpiricalCountEntropy.Final</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.pig.EvalFunc&lt;java.lang.Double&gt;</li>
+<li>
+<ul class="inheritance">
+<li>datafu.pig.stats.entropy.EmpiricalCountEntropy.Final</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.html" title="class in datafu.pig.stats.entropy">EmpiricalCountEntropy</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="strong">EmpiricalCountEntropy.Final</span>
+extends org.apache.pig.EvalFunc&lt;java.lang.Double&gt;</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested_class_summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested_classes_inherited_from_class_org.apache.pig.EvalFunc">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.pig.EvalFunc</h3>
+<code>org.apache.pig.EvalFunc.SchemaType</code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.pig.EvalFunc">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.pig.EvalFunc</h3>
+<code>log, pigLogger, reporter, returnType</code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.Final.html#EmpiricalCountEntropy.Final()">EmpiricalCountEntropy.Final</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><strong><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.Final.html#EmpiricalCountEntropy.Final(java.lang.String)">EmpiricalCountEntropy.Final</a></strong>(java.lang.String&nbsp;base)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>java.lang.Double</code></td>
+<td class="colLast"><code><strong><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.Final.html#exec(org.apache.pig.data.Tuple)">exec</a></strong>(org.apache.pig.data.Tuple&nbsp;input)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.pig.EvalFunc">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.pig.EvalFunc</h3>
+<code>allowCompileTimeCalculation, finish, getArgToFuncMapping, getCacheFiles, getInputSchema, getLogger, getPigLogger, getReporter, getReturnType, getSchemaName, getSchemaType, getShipFiles, isAsynchronous, outputSchema, progress, setInputSchema, setPigLogger, setReporter, setUDFContextSignature, warn</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.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">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="EmpiricalCountEntropy.Final()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>EmpiricalCountEntropy.Final</h4>
+<pre>public&nbsp;EmpiricalCountEntropy.Final()</pre>
+</li>
+</ul>
+<a name="EmpiricalCountEntropy.Final(java.lang.String)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>EmpiricalCountEntropy.Final</h4>
+<pre>public&nbsp;EmpiricalCountEntropy.Final(java.lang.String&nbsp;base)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="exec(org.apache.pig.data.Tuple)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>exec</h4>
+<pre>public&nbsp;java.lang.Double&nbsp;exec(org.apache.pig.data.Tuple&nbsp;input)
+                      throws java.io.IOException</pre>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code>exec</code>&nbsp;in class&nbsp;<code>org.apache.pig.EvalFunc&lt;java.lang.Double&gt;</code></dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code>java.io.IOException</code></dd></dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.html" title="class in datafu.pig.stats.entropy"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.Initial.html" title="class in datafu.pig.stats.entropy"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?datafu/pig/stats/entropy/EmpiricalCountEntropy.Final.html" target="_top">Frames</a></li>
+<li><a href="EmpiricalCountEntropy.Final.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested_classes_inherited_from_class_org.apache.pig.EvalFunc">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields_inherited_from_class_org.apache.pig.EvalFunc">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>

Added: datafu/site/docs/datafu/1.4.0/datafu/pig/stats/entropy/EmpiricalCountEntropy.Initial.html
URL: http://svn.apache.org/viewvc/datafu/site/docs/datafu/1.4.0/datafu/pig/stats/entropy/EmpiricalCountEntropy.Initial.html?rev=1827525&view=auto
==============================================================================
--- datafu/site/docs/datafu/1.4.0/datafu/pig/stats/entropy/EmpiricalCountEntropy.Initial.html (added)
+++ datafu/site/docs/datafu/1.4.0/datafu/pig/stats/entropy/EmpiricalCountEntropy.Initial.html Thu Mar 22 19:01:04 2018
@@ -0,0 +1,318 @@
+<!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 (version 1.7.0_79) on Thu Mar 22 11:58:09 PDT 2018 -->
+<title>EmpiricalCountEntropy.Initial (datafu-pig 1.4.0 API)</title>
+<meta name="date" content="2018-03-22">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="EmpiricalCountEntropy.Initial (datafu-pig 1.4.0 API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.Final.html" title="class in datafu.pig.stats.entropy"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.Intermediate.html" title="class in datafu.pig.stats.entropy"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?datafu/pig/stats/entropy/EmpiricalCountEntropy.Initial.html" target="_top">Frames</a></li>
+<li><a href="EmpiricalCountEntropy.Initial.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested_classes_inherited_from_class_org.apache.pig.EvalFunc">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields_inherited_from_class_org.apache.pig.EvalFunc">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">datafu.pig.stats.entropy</div>
+<h2 title="Class EmpiricalCountEntropy.Initial" class="title">Class EmpiricalCountEntropy.Initial</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.pig.EvalFunc&lt;org.apache.pig.data.Tuple&gt;</li>
+<li>
+<ul class="inheritance">
+<li>datafu.pig.stats.entropy.EmpiricalCountEntropy.Initial</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.html" title="class in datafu.pig.stats.entropy">EmpiricalCountEntropy</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="strong">EmpiricalCountEntropy.Initial</span>
+extends org.apache.pig.EvalFunc&lt;org.apache.pig.data.Tuple&gt;</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested_class_summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested_classes_inherited_from_class_org.apache.pig.EvalFunc">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.pig.EvalFunc</h3>
+<code>org.apache.pig.EvalFunc.SchemaType</code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.pig.EvalFunc">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.pig.EvalFunc</h3>
+<code>log, pigLogger, reporter, returnType</code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.Initial.html#EmpiricalCountEntropy.Initial()">EmpiricalCountEntropy.Initial</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><strong><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.Initial.html#EmpiricalCountEntropy.Initial(java.lang.String)">EmpiricalCountEntropy.Initial</a></strong>(java.lang.String&nbsp;base)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>org.apache.pig.data.Tuple</code></td>
+<td class="colLast"><code><strong><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.Initial.html#exec(org.apache.pig.data.Tuple)">exec</a></strong>(org.apache.pig.data.Tuple&nbsp;input)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.pig.EvalFunc">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.pig.EvalFunc</h3>
+<code>allowCompileTimeCalculation, finish, getArgToFuncMapping, getCacheFiles, getInputSchema, getLogger, getPigLogger, getReporter, getReturnType, getSchemaName, getSchemaType, getShipFiles, isAsynchronous, outputSchema, progress, setInputSchema, setPigLogger, setReporter, setUDFContextSignature, warn</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.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">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="EmpiricalCountEntropy.Initial()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>EmpiricalCountEntropy.Initial</h4>
+<pre>public&nbsp;EmpiricalCountEntropy.Initial()</pre>
+</li>
+</ul>
+<a name="EmpiricalCountEntropy.Initial(java.lang.String)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>EmpiricalCountEntropy.Initial</h4>
+<pre>public&nbsp;EmpiricalCountEntropy.Initial(java.lang.String&nbsp;base)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="exec(org.apache.pig.data.Tuple)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>exec</h4>
+<pre>public&nbsp;org.apache.pig.data.Tuple&nbsp;exec(org.apache.pig.data.Tuple&nbsp;input)
+                               throws java.io.IOException</pre>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code>exec</code>&nbsp;in class&nbsp;<code>org.apache.pig.EvalFunc&lt;org.apache.pig.data.Tuple&gt;</code></dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code>java.io.IOException</code></dd></dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.Final.html" title="class in datafu.pig.stats.entropy"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.Intermediate.html" title="class in datafu.pig.stats.entropy"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?datafu/pig/stats/entropy/EmpiricalCountEntropy.Initial.html" target="_top">Frames</a></li>
+<li><a href="EmpiricalCountEntropy.Initial.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested_classes_inherited_from_class_org.apache.pig.EvalFunc">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields_inherited_from_class_org.apache.pig.EvalFunc">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>

Added: datafu/site/docs/datafu/1.4.0/datafu/pig/stats/entropy/EmpiricalCountEntropy.Intermediate.html
URL: http://svn.apache.org/viewvc/datafu/site/docs/datafu/1.4.0/datafu/pig/stats/entropy/EmpiricalCountEntropy.Intermediate.html?rev=1827525&view=auto
==============================================================================
--- datafu/site/docs/datafu/1.4.0/datafu/pig/stats/entropy/EmpiricalCountEntropy.Intermediate.html (added)
+++ datafu/site/docs/datafu/1.4.0/datafu/pig/stats/entropy/EmpiricalCountEntropy.Intermediate.html Thu Mar 22 19:01:04 2018
@@ -0,0 +1,318 @@
+<!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 (version 1.7.0_79) on Thu Mar 22 11:58:09 PDT 2018 -->
+<title>EmpiricalCountEntropy.Intermediate (datafu-pig 1.4.0 API)</title>
+<meta name="date" content="2018-03-22">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="EmpiricalCountEntropy.Intermediate (datafu-pig 1.4.0 API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.Initial.html" title="class in datafu.pig.stats.entropy"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../datafu/pig/stats/entropy/Entropy.html" title="class in datafu.pig.stats.entropy"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?datafu/pig/stats/entropy/EmpiricalCountEntropy.Intermediate.html" target="_top">Frames</a></li>
+<li><a href="EmpiricalCountEntropy.Intermediate.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested_classes_inherited_from_class_org.apache.pig.EvalFunc">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields_inherited_from_class_org.apache.pig.EvalFunc">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">datafu.pig.stats.entropy</div>
+<h2 title="Class EmpiricalCountEntropy.Intermediate" class="title">Class EmpiricalCountEntropy.Intermediate</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.pig.EvalFunc&lt;org.apache.pig.data.Tuple&gt;</li>
+<li>
+<ul class="inheritance">
+<li>datafu.pig.stats.entropy.EmpiricalCountEntropy.Intermediate</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.html" title="class in datafu.pig.stats.entropy">EmpiricalCountEntropy</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <span class="strong">EmpiricalCountEntropy.Intermediate</span>
+extends org.apache.pig.EvalFunc&lt;org.apache.pig.data.Tuple&gt;</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested_class_summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested_classes_inherited_from_class_org.apache.pig.EvalFunc">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.pig.EvalFunc</h3>
+<code>org.apache.pig.EvalFunc.SchemaType</code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.pig.EvalFunc">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.pig.EvalFunc</h3>
+<code>log, pigLogger, reporter, returnType</code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.Intermediate.html#EmpiricalCountEntropy.Intermediate()">EmpiricalCountEntropy.Intermediate</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><strong><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.Intermediate.html#EmpiricalCountEntropy.Intermediate(java.lang.String)">EmpiricalCountEntropy.Intermediate</a></strong>(java.lang.String&nbsp;base)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>org.apache.pig.data.Tuple</code></td>
+<td class="colLast"><code><strong><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.Intermediate.html#exec(org.apache.pig.data.Tuple)">exec</a></strong>(org.apache.pig.data.Tuple&nbsp;input)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.pig.EvalFunc">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.pig.EvalFunc</h3>
+<code>allowCompileTimeCalculation, finish, getArgToFuncMapping, getCacheFiles, getInputSchema, getLogger, getPigLogger, getReporter, getReturnType, getSchemaName, getSchemaType, getShipFiles, isAsynchronous, outputSchema, progress, setInputSchema, setPigLogger, setReporter, setUDFContextSignature, warn</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.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">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="EmpiricalCountEntropy.Intermediate()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>EmpiricalCountEntropy.Intermediate</h4>
+<pre>public&nbsp;EmpiricalCountEntropy.Intermediate()</pre>
+</li>
+</ul>
+<a name="EmpiricalCountEntropy.Intermediate(java.lang.String)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>EmpiricalCountEntropy.Intermediate</h4>
+<pre>public&nbsp;EmpiricalCountEntropy.Intermediate(java.lang.String&nbsp;base)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="exec(org.apache.pig.data.Tuple)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>exec</h4>
+<pre>public&nbsp;org.apache.pig.data.Tuple&nbsp;exec(org.apache.pig.data.Tuple&nbsp;input)
+                               throws java.io.IOException</pre>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code>exec</code>&nbsp;in class&nbsp;<code>org.apache.pig.EvalFunc&lt;org.apache.pig.data.Tuple&gt;</code></dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code>java.io.IOException</code></dd></dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.Initial.html" title="class in datafu.pig.stats.entropy"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../datafu/pig/stats/entropy/Entropy.html" title="class in datafu.pig.stats.entropy"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?datafu/pig/stats/entropy/EmpiricalCountEntropy.Intermediate.html" target="_top">Frames</a></li>
+<li><a href="EmpiricalCountEntropy.Intermediate.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested_classes_inherited_from_class_org.apache.pig.EvalFunc">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields_inherited_from_class_org.apache.pig.EvalFunc">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>

Added: datafu/site/docs/datafu/1.4.0/datafu/pig/stats/entropy/EmpiricalCountEntropy.html
URL: http://svn.apache.org/viewvc/datafu/site/docs/datafu/1.4.0/datafu/pig/stats/entropy/EmpiricalCountEntropy.html?rev=1827525&view=auto
==============================================================================
--- datafu/site/docs/datafu/1.4.0/datafu/pig/stats/entropy/EmpiricalCountEntropy.html (added)
+++ datafu/site/docs/datafu/1.4.0/datafu/pig/stats/entropy/EmpiricalCountEntropy.html Thu Mar 22 19:01:04 2018
@@ -0,0 +1,573 @@
+<!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 (version 1.7.0_79) on Thu Mar 22 11:58:09 PDT 2018 -->
+<title>EmpiricalCountEntropy (datafu-pig 1.4.0 API)</title>
+<meta name="date" content="2018-03-22">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="EmpiricalCountEntropy (datafu-pig 1.4.0 API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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><a href="../../../../datafu/pig/stats/entropy/CondEntropy.html" title="class in datafu.pig.stats.entropy"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.Final.html" title="class in datafu.pig.stats.entropy"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?datafu/pig/stats/entropy/EmpiricalCountEntropy.html" target="_top">Frames</a></li>
+<li><a href="EmpiricalCountEntropy.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields_inherited_from_class_org.apache.pig.EvalFunc">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">datafu.pig.stats.entropy</div>
+<h2 title="Class EmpiricalCountEntropy" class="title">Class EmpiricalCountEntropy</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>java.lang.Object</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.pig.EvalFunc&lt;T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.pig.AccumulatorEvalFunc&lt;java.lang.Double&gt;</li>
+<li>
+<ul class="inheritance">
+<li>datafu.pig.stats.entropy.EmpiricalCountEntropy</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd>org.apache.pig.Accumulator&lt;java.lang.Double&gt;, org.apache.pig.Algebraic</dd>
+</dl>
+<hr>
+<br>
+<pre>public class <span class="strong">EmpiricalCountEntropy</span>
+extends org.apache.pig.AccumulatorEvalFunc&lt;java.lang.Double&gt;
+implements org.apache.pig.Algebraic</pre>
+<div class="block">Calculate the empirical entropy of random variable X given its occurrence frequencies, following entropy's
+ <a href="http://en.wikipedia.org/wiki/Entropy_%28information_theory%29" target="_blank">wiki definition</a>.
+
+ <p>
+ This UDF's constructor takes 1 argument: the logarithm base, whose definition is the same as that defined in <a href="../../../../datafu/pig/stats/entropy/Entropy.html" title="class in datafu.pig.stats.entropy"><code>Entropy</code></a>
+ </p>
+
+ Note:
+ <ul>
+     <li>Unlike <a href="../../../../datafu/pig/stats/entropy/Entropy.html" title="class in datafu.pig.stats.entropy"><code>Entropy</code></a>, which calculates entropy from sorted raw data bag in accumulative mode,
+     this UDF calculates entropy from the data's occurrence frequencies which does not need to be sorted, either in accumulative or algebraic mode.</li>
+     <li>Each tuple of the UDF's input bag <b>must only</b> have 1 field, the occurrence frequency of a data instance,
+     and the data type of this field <b>must</b> be int or long. Otherwise, an exception will be thrown.</li>
+     <li>Negative frequency number will be silently discarded and a warning message will be logged in the job's log file.</li>
+     <li>The returned entropy value is of double type.</li>
+ </ul>
+
+ <p>
+ How to use:
+ </p>
+
+ <p>
+ To use this UDF, customer needs to pre-compute the occurrence frequency of each data instance, often in an outer GROUP BY
+ , and then use this UDF to calculate entropy with those frequency numbers in another outer GROUP BY.
+ </p>
+
+ <p>
+ Compared with <a href="../../../../datafu/pig/stats/entropy/Entropy.html" title="class in datafu.pig.stats.entropy"><code>Entropy</code></a>, this UDF is more scalable when we need to handle a very large data set, 
+ since it could distribute computation onto mappers and take advantage of combiners to reduce intermedidate output from mappers to reducers.
+ </p>
+
+ Example:
+ <pre>
+ <code>define Entropy datafu.pig.stats.entropy.EmpiricalCountEntropy();
+
+ input = LOAD 'input' AS (val: double);
+
+ -- calculate the occurrence of each instance
+ counts_g = GROUP input BY val;
+ counts = FOREACh counts_g GENERATE COUNT(input) AS cnt;
+
+ -- calculate entropy
+ input_counts_g = GROUP counts ALL;
+ entropy = FOREACH input_counts_g GENERATE Entropy(counts) AS entropy;
+ </code>
+ </pre>
+
+ Use case to calculate mutual information using EmpiricalCountEntropy:
+
+ <pre>
+ <code>define Entropy datafu.pig.stats.entropy.EmpiricalCountEntropy();
+
+ input = LOAD 'input' AS (valX: double, valY: double);
+
+ ------------
+ -- calculate mutual information I(X, Y) using entropy
+ -- I(X, Y) = H(X) + H(Y) -  H(X, Y)
+ ------------
+
+ input_x_y_g = GROUP input BY (valX, valY);
+ input_x_y_cnt = FOREACH input_x_y_g GENERATE flatten(group) as (valX, valY), COUNT(input) AS cnt;
+
+ input_x_g = GROUP input_x_y_cnt BY valX;
+ input_x_cnt = FOREACH input_x_g GENERATE flatten(group) as valX, SUM(input_x_y_cnt.cnt) AS cnt;
+
+ input_y_g = GROUP input_x_y_cnt BY valY;
+ input_y_cnt = FOREACH input_y_g GENERATE flatten(group) as valY, SUM(input_x_y_cnt.cnt) AS cnt;
+
+ input_x_y_entropy_g = GROUP input_x_y_cnt ALL;
+ input_x_y_entropy = FOREACH input_x_y_entropy_g {
+                         input_x_y_entropy_cnt = input_x_y_cnt.cnt;
+                         GENERATE Entropy(input_x_y_entropy_cnt) AS x_y_entropy;
+                     }
+
+ input_x_entropy_g = GROUP input_x_cnt ALL;
+ input_x_entropy = FOREACH input_x_entropy_g {
+                         input_x_entropy_cnt = input_x_cnt.cnt;
+                         GENERATE Entropy(input_x_entropy_cnt) AS x_entropy;
+                   }
+
+ input_y_entropy_g = GROUP input_y_cnt ALL;
+ input_y_entropy = FOREACH input_y_entropy_g {
+                         input_y_entropy_cnt = input_y_cnt.cnt;
+                         GENERATE Entropy(input_y_entropy_cnt) AS y_entropy;
+                   }
+
+ input_mi_cross = CROSS input_x_y_entropy, input_x_entropy, input_y_entropy;
+ input_mi = FOREACH input_mi_cross GENERATE (input_x_entropy::x_entropy +
+                                             input_y_entropy::y_entropy - 
+                                             input_x_y_entropy::x_y_entropy) AS mi;
+ </code>
+ </pre></div>
+<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../datafu/pig/stats/entropy/Entropy.html" title="class in datafu.pig.stats.entropy"><code>Entropy</code></a></dd></dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested_class_summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.Final.html" title="class in datafu.pig.stats.entropy">EmpiricalCountEntropy.Final</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.Initial.html" title="class in datafu.pig.stats.entropy">EmpiricalCountEntropy.Initial</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.Intermediate.html" title="class in datafu.pig.stats.entropy">EmpiricalCountEntropy.Intermediate</a></strong></code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="nested_classes_inherited_from_class_org.apache.pig.EvalFunc">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.pig.EvalFunc</h3>
+<code>org.apache.pig.EvalFunc.SchemaType</code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_org.apache.pig.EvalFunc">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;org.apache.pig.EvalFunc</h3>
+<code>log, pigLogger, reporter, returnType</code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><strong><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.html#EmpiricalCountEntropy()">EmpiricalCountEntropy</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><strong><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.html#EmpiricalCountEntropy(java.lang.String)">EmpiricalCountEntropy</a></strong>(java.lang.String&nbsp;base)</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.html#accumulate(org.apache.pig.data.Tuple)">accumulate</a></strong>(org.apache.pig.data.Tuple&nbsp;input)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.html#cleanup()">cleanup</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected static org.apache.pig.data.Tuple</code></td>
+<td class="colLast"><code><strong><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.html#combine(org.apache.pig.data.DataBag)">combine</a></strong>(org.apache.pig.data.DataBag&nbsp;values)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><strong><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.html#getFinal()">getFinal</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><strong><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.html#getInitial()">getInitial</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>java.lang.String</code></td>
+<td class="colLast"><code><strong><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.html#getIntermed()">getIntermed</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>java.lang.Double</code></td>
+<td class="colLast"><code><strong><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.html#getValue()">getValue</a></strong>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>org.apache.pig.impl.logicalLayer.schema.Schema</code></td>
+<td class="colLast"><code><strong><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.html#outputSchema(org.apache.pig.impl.logicalLayer.schema.Schema)">outputSchema</a></strong>(org.apache.pig.impl.logicalLayer.schema.Schema&nbsp;input)</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.pig.AccumulatorEvalFunc">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.pig.AccumulatorEvalFunc</h3>
+<code>exec</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_org.apache.pig.EvalFunc">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.pig.EvalFunc</h3>
+<code>allowCompileTimeCalculation, finish, getArgToFuncMapping, getCacheFiles, getInputSchema, getLogger, getPigLogger, getReporter, getReturnType, getSchemaName, getSchemaType, getShipFiles, isAsynchronous, progress, setInputSchema, setPigLogger, setReporter, setUDFContextSignature, warn</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.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">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="EmpiricalCountEntropy()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>EmpiricalCountEntropy</h4>
+<pre>public&nbsp;EmpiricalCountEntropy()
+                      throws org.apache.pig.backend.executionengine.ExecException</pre>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code>org.apache.pig.backend.executionengine.ExecException</code></dd></dl>
+</li>
+</ul>
+<a name="EmpiricalCountEntropy(java.lang.String)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>EmpiricalCountEntropy</h4>
+<pre>public&nbsp;EmpiricalCountEntropy(java.lang.String&nbsp;base)
+                      throws org.apache.pig.backend.executionengine.ExecException</pre>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code>org.apache.pig.backend.executionengine.ExecException</code></dd></dl>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getFinal()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFinal</h4>
+<pre>public&nbsp;java.lang.String&nbsp;getFinal()</pre>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code>getFinal</code>&nbsp;in interface&nbsp;<code>org.apache.pig.Algebraic</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getInitial()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getInitial</h4>
+<pre>public&nbsp;java.lang.String&nbsp;getInitial()</pre>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code>getInitial</code>&nbsp;in interface&nbsp;<code>org.apache.pig.Algebraic</code></dd>
+</dl>
+</li>
+</ul>
+<a name="getIntermed()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getIntermed</h4>
+<pre>public&nbsp;java.lang.String&nbsp;getIntermed()</pre>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code>getIntermed</code>&nbsp;in interface&nbsp;<code>org.apache.pig.Algebraic</code></dd>
+</dl>
+</li>
+</ul>
+<a name="combine(org.apache.pig.data.DataBag)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>combine</h4>
+<pre>protected static&nbsp;org.apache.pig.data.Tuple&nbsp;combine(org.apache.pig.data.DataBag&nbsp;values)
+                                            throws org.apache.pig.backend.executionengine.ExecException</pre>
+<dl><dt><span class="strong">Throws:</span></dt>
+<dd><code>org.apache.pig.backend.executionengine.ExecException</code></dd></dl>
+</li>
+</ul>
+<a name="accumulate(org.apache.pig.data.Tuple)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>accumulate</h4>
+<pre>public&nbsp;void&nbsp;accumulate(org.apache.pig.data.Tuple&nbsp;input)
+                throws java.io.IOException</pre>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code>accumulate</code>&nbsp;in interface&nbsp;<code>org.apache.pig.Accumulator&lt;java.lang.Double&gt;</code></dd>
+<dt><strong>Specified by:</strong></dt>
+<dd><code>accumulate</code>&nbsp;in class&nbsp;<code>org.apache.pig.AccumulatorEvalFunc&lt;java.lang.Double&gt;</code></dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code>java.io.IOException</code></dd></dl>
+</li>
+</ul>
+<a name="getValue()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getValue</h4>
+<pre>public&nbsp;java.lang.Double&nbsp;getValue()</pre>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code>getValue</code>&nbsp;in interface&nbsp;<code>org.apache.pig.Accumulator&lt;java.lang.Double&gt;</code></dd>
+<dt><strong>Specified by:</strong></dt>
+<dd><code>getValue</code>&nbsp;in class&nbsp;<code>org.apache.pig.AccumulatorEvalFunc&lt;java.lang.Double&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="cleanup()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>cleanup</h4>
+<pre>public&nbsp;void&nbsp;cleanup()</pre>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code>cleanup</code>&nbsp;in interface&nbsp;<code>org.apache.pig.Accumulator&lt;java.lang.Double&gt;</code></dd>
+<dt><strong>Specified by:</strong></dt>
+<dd><code>cleanup</code>&nbsp;in class&nbsp;<code>org.apache.pig.AccumulatorEvalFunc&lt;java.lang.Double&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a name="outputSchema(org.apache.pig.impl.logicalLayer.schema.Schema)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>outputSchema</h4>
+<pre>public&nbsp;org.apache.pig.impl.logicalLayer.schema.Schema&nbsp;outputSchema(org.apache.pig.impl.logicalLayer.schema.Schema&nbsp;input)</pre>
+<dl>
+<dt><strong>Overrides:</strong></dt>
+<dd><code>outputSchema</code>&nbsp;in class&nbsp;<code>org.apache.pig.EvalFunc&lt;java.lang.Double&gt;</code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../datafu/pig/stats/entropy/CondEntropy.html" title="class in datafu.pig.stats.entropy"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../datafu/pig/stats/entropy/EmpiricalCountEntropy.Final.html" title="class in datafu.pig.stats.entropy"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?datafu/pig/stats/entropy/EmpiricalCountEntropy.html" target="_top">Frames</a></li>
+<li><a href="EmpiricalCountEntropy.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
+<li><a href="#fields_inherited_from_class_org.apache.pig.EvalFunc">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method_detail">Method</a></li>
+</ul>
+</div>
+<a name="skip-navbar_bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>