http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__unsupervised.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__unsupervised.html 
b/docs/v1.11/group__grp__unsupervised.html
new file mode 100644
index 0000000..4735d51
--- /dev/null
+++ b/docs/v1.11/group__grp__unsupervised.html
@@ -0,0 +1,136 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data 
mining,deep learning,ensemble methods,data science,market basket 
analysis,affinity analysis,pca,lda,regression,elastic net,huber 
white,proportional hazards,k-means,latent dirichlet allocation,bayes,support 
vector machines,svm"/>
+<title>MADlib: Unsupervised Learning</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new 
Date();a=s.createElement(o),
+  
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org";><img 
alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ 
></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" 
href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" 
border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__unsupervised.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Unsupervised Learning</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed 
Description</h2>
+<p>A collection of methods for unsupervised learning tasks </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a 
name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__association__rules"><td class="memItemLeft" 
align="right" valign="top">&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__grp__association__rules.html">Association Rules</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__clustering"><td class="memItemLeft" 
align="right" valign="top">&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__grp__clustering.html">Clustering</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__topic__modelling"><td class="memItemLeft" 
align="right" valign="top">&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" href="group__grp__topic__modelling.html">Topic 
Modelling</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html";>
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__unsupervised.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__unsupervised.js 
b/docs/v1.11/group__grp__unsupervised.js
new file mode 100644
index 0000000..f8c5d23
--- /dev/null
+++ b/docs/v1.11/group__grp__unsupervised.js
@@ -0,0 +1,6 @@
+var group__grp__unsupervised =
+[
+    [ "Association Rules", "group__grp__association__rules.html", 
"group__grp__association__rules" ],
+    [ "Clustering", "group__grp__clustering.html", "group__grp__clustering" ],
+    [ "Topic Modelling", "group__grp__topic__modelling.html", 
"group__grp__topic__modelling" ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__utilities.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__utilities.html 
b/docs/v1.11/group__grp__utilities.html
new file mode 100644
index 0000000..5ed1253
--- /dev/null
+++ b/docs/v1.11/group__grp__utilities.html
@@ -0,0 +1,167 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data 
mining,deep learning,ensemble methods,data science,market basket 
analysis,affinity analysis,pca,lda,regression,elastic net,huber 
white,proportional hazards,k-means,latent dirichlet allocation,bayes,support 
vector machines,svm"/>
+<title>MADlib: Developer Database Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new 
Date();a=s.createElement(o),
+  
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org";><img 
alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ 
></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" 
href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" 
border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__utilities.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Developer Database Functions<div class="ingroups"><a 
class="el" href="group__grp__utility__functions.html">Utility 
Functions</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#utilities">Utility Functions</a> </li>
+<li>
+<a href="#rel;ated">Related Topics</a> </li>
+</ul>
+</div><p>The utility module consists of useful utility functions to assist 
data scientists in using the product. Several of these functions can be used 
while implementing new algorithms.</p>
+<p><a class="anchor" id="utilities"></a></p><dl class="section 
user"><dt>Utility Functions</dt><dd></dd></dl>
+<table class="output">
+<tr>
+<th><a class="el" 
href="utilities_8sql__in.html#a9ce7ffa76acc8a0638e9bc48be99f36a" title="Return 
MADlib build information. ">version()</a> </th><td><p class="starttd">Return 
MADlib build information.  </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" 
href="utilities_8sql__in.html#a76cfdbed8a6782f37f50710d855434bd" title="Raise 
an exception if the given condition is not satisfied. ">assert()</a> 
</th><td><p class="starttd">Raise an exception if the given condition is not 
satisfied. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" 
href="utilities_8sql__in.html#aa90ffaebb43a5cbcb5c48281cbadd3b0" title="Check 
if a SQL statement raises an error. ">check_if_raises_error()</a> </th><td><p 
class="starttd">Check if a SQL statement raises an error. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" 
href="utilities_8sql__in.html#ac1f509bd94c6309b59eb4d479fb2a470" title="Check 
if a column exists in a table. ">check_if_col_exists()</a> </th><td><p 
class="starttd">Check if a column exists in a table. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" 
href="utilities_8sql__in.html#a48bed63cab78a5446fa4c122eaae3a40" title="Check 
if a floating-point number is NaN (not a number) ">isnan()</a> </th><td><p 
class="starttd">Check if a floating-point number is NaN (not a number) </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" 
href="utilities_8sql__in.html#a56501b6f9fabe65d7a6a6beb70a0e000" title="Create 
the temporary schema if it does not exist yet. ">create_schema_pg_temp()</a> 
</th><td><p class="starttd">Create the temporary schema if it does not exist 
yet. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" 
href="utilities_8sql__in.html#ab194d6a1222672c314ea39b78aad8fd0" title="Create 
volatile noop function. ">noop()</a> </th><td><p class="starttd">Create 
volatile noop function. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" 
href="utilities_8sql__in.html#aab5ea2cd6201e38e24ca62b0fb91fb7a" title="Drop 
all tables matching pattern &#39;madlib_temp&#39; in a given schema. 
">cleanup_madlib_temp_tables()</a> </th><td><p class="starttd">Drop all tables 
matching pattern 'madlib_temp' in a given schema. </p>
+<p class="endtd"></p>
+</td></tr>
+</table>
+<p>Note: If the function <a class="el" 
href="utilities_8sql__in.html#aab5ea2cd6201e38e24ca62b0fb91fb7a" title="Drop 
all tables matching pattern &#39;madlib_temp&#39; in a given schema. 
">cleanup_madlib_temp_tables()</a> gives an Out-of-memory error, then the 
number of tables to be dropped is too high to execute in one transaction. In 
such a case, please follow the instructions provided with the error to execute 
the command in multiple transactions.</p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related 
Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="utilities_8sql__in.html" title="SQL functions for 
carrying out routine tasks. ">utilities.sql_in</a> documenting the SQL 
functions. </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html";>
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__utility__functions.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__utility__functions.html 
b/docs/v1.11/group__grp__utility__functions.html
new file mode 100644
index 0000000..effb301
--- /dev/null
+++ b/docs/v1.11/group__grp__utility__functions.html
@@ -0,0 +1,145 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data 
mining,deep learning,ensemble methods,data science,market basket 
analysis,affinity analysis,pca,lda,regression,elastic net,huber 
white,proportional hazards,k-means,latent dirichlet allocation,bayes,support 
vector machines,svm"/>
+<title>MADlib: Utility Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new 
Date();a=s.createElement(o),
+  
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org";><img 
alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ 
></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" 
href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" 
border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__utility__functions.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Utility Functions</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed 
Description</h2>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a 
name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__utilities"><td class="memItemLeft" 
align="right" valign="top">&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" href="group__grp__utilities.html">Developer 
Database Functions</a></td></tr>
+<tr class="memdesc:group__grp__utilities"><td class="mdescLeft">&#160;</td><td 
class="mdescRight">Provides a collection of user-defined functions for 
performing common tasks in the database. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__linear__solver"><td class="memItemLeft" 
align="right" valign="top">&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" href="group__grp__linear__solver.html">Linear 
Solvers</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__path"><td class="memItemLeft" align="right" 
valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="group__grp__path.html">Path</a></td></tr>
+<tr class="memdesc:group__grp__path"><td class="mdescLeft">&#160;</td><td 
class="mdescRight">Path Functions. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__pmml"><td class="memItemLeft" align="right" 
valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" 
href="group__grp__pmml.html">PMML Export</a></td></tr>
+<tr class="memdesc:group__grp__pmml"><td class="mdescLeft">&#160;</td><td 
class="mdescRight">Implements the PMML XML standard to describe and exchange 
models produced by data mining and machine learning algorithms. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__sessionize"><td class="memItemLeft" 
align="right" valign="top">&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" 
href="group__grp__sessionize.html">Sessionize</a></td></tr>
+<tr class="memdesc:group__grp__sessionize"><td 
class="mdescLeft">&#160;</td><td class="mdescRight">Sessionize. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__text__analysis"><td class="memItemLeft" 
align="right" valign="top">&#160;</td><td class="memItemRight" 
valign="bottom"><a class="el" href="group__grp__text__analysis.html">Text 
Analysis</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html";>
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__utility__functions.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__utility__functions.js 
b/docs/v1.11/group__grp__utility__functions.js
new file mode 100644
index 0000000..a0ac837
--- /dev/null
+++ b/docs/v1.11/group__grp__utility__functions.js
@@ -0,0 +1,9 @@
+var group__grp__utility__functions =
+[
+    [ "Developer Database Functions", "group__grp__utilities.html", null ],
+    [ "Linear Solvers", "group__grp__linear__solver.html", 
"group__grp__linear__solver" ],
+    [ "Path", "group__grp__path.html", null ],
+    [ "PMML Export", "group__grp__pmml.html", null ],
+    [ "Sessionize", "group__grp__sessionize.html", null ],
+    [ "Text Analysis", "group__grp__text__analysis.html", 
"group__grp__text__analysis" ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__validation.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__validation.html 
b/docs/v1.11/group__grp__validation.html
new file mode 100644
index 0000000..f5df8f2
--- /dev/null
+++ b/docs/v1.11/group__grp__validation.html
@@ -0,0 +1,260 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";>
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data 
mining,deep learning,ensemble methods,data science,market basket 
analysis,affinity analysis,pca,lda,regression,elastic net,huber 
white,proportional hazards,k-means,latent dirichlet allocation,bayes,support 
vector machines,svm"/>
+<title>MADlib: Cross Validation</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new 
Date();a=s.createElement(o),
+  
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org";><img 
alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ 
></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" 
href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" 
border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__validation.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Cross Validation<div class="ingroups"><a class="el" 
href="group__grp__mdl.html">Model Evaluation</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#cvfunction">Cross-Validation Function</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#notes">Notes</a> </li>
+<li>
+<a href="#background">Technical Background</a> </li>
+<li>
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>Estimates the fit of a predictive model given a data set and 
specifications for the training, prediction, and error estimation functions.</p>
+<p>Cross validation, sometimes called rotation estimation, is a technique for 
assessing how the results of a statistical analysis will generalize to an 
independent data set. It is mainly used in settings where the goal is 
prediction, and you want to estimate how accurately a predictive model will 
perform in practice.</p>
+<p>The cross-validation function provided by this module is very flexible and 
can work with algorithms you want to cross validate, including algorithms you 
write yourself. Among the inputs to the cross-validation function are 
specifications of the modelling, prediction, and error metric functions. These 
three-part specifications include the name of the function, an array of 
arguments to pass to the function, and an array of the data types of the 
arguments. This makes it possible to use functions from other MADlib modules or 
user-defined functions that you supply.</p>
+<ul>
+<li>The modelling (training) function takes in a given data set with 
independent and dependent variables and produces a model, which is stored in an 
output table.</li>
+<li>The prediction function takes in the model generated by the modelling 
function and a different data set with independent variables, and produces a 
prediction of the dependent variables based on the model, which is stored in an 
output table. The prediction function should take a unique ID column name in 
the data table as one of the inputs, so that the prediction result can be 
compared with the validation values. Note: Prediction function in some MADlib 
modules do not save results into an output table. These prediction functions 
are not suitable for cross-validation.</li>
+<li>The error metric function compares the prediction results with the known 
values of the dependent variables in the data set that was fed into the 
prediction function. It computes the error metric using the specified error 
metric function, storing the results in a table.</li>
+</ul>
+<p>Other inputs include the output table name, k value for the k-fold cross 
validation, and how many folds to try. For example, you can choose to run a 
simple validation instead of a full cross validation.</p>
+<p><a class="anchor" id="cvfunction"></a></p><dl class="section 
user"><dt>Cross-Validation Function</dt><dd></dd></dl>
+<pre class="syntax">
+cross_validation_general( modelling_func,
+                          modelling_params,
+                          modelling_params_type,
+                          param_explored,
+                          explore_values,
+                          predict_func,
+                          predict_params,
+                          predict_params_type,
+                          metric_func,
+                          metric_params,
+                          metric_params_type,
+                          data_tbl,
+                          data_id,
+                          id_is_random,
+                          validation_result,
+                          data_cols,
+                          fold_num
+                        )</pre><p> <b>Arguments</b> </p><dl class="arglist">
+<dt>modelling_func </dt>
+<dd>VARCHAR. The name of the function that trains the model. </dd>
+<dt>modelling_params </dt>
+<dd>VARCHAR[]. An array of parameters to supply to the modelling function. 
</dd>
+<dt>modelling_params_type </dt>
+<dd>VARCHAR[]. An array of data type names for each of the parameters supplied 
to the modelling function. </dd>
+<dt>param_explored </dt>
+<dd>VARCHAR. The name of the parameter that will be checked to find the 
optimum value. The name must appear in the <em>modelling_params</em> array. 
</dd>
+<dt>explore_values </dt>
+<dd>VARCHAR. The name of the parameter whose values are to be studied. </dd>
+<dt>predict_func </dt>
+<dd>VARCHAR. The name of the prediction function. </dd>
+<dt>predict_params </dt>
+<dd>VARCHAR[]. An array of parameters to supply to the prediction function. 
</dd>
+<dt>predict_params_type </dt>
+<dd>VARCHAR[]. An array of data type names for each of the parameters supplied 
to the prediction function. </dd>
+<dt>metric_func </dt>
+<dd>VARCHAR. The name of the function for measuring errors. </dd>
+<dt>metric_params </dt>
+<dd>VARCHAR[]. An array of parameters to supply to the error metric function. 
</dd>
+<dt>metric_params_type </dt>
+<dd>VARCHAR[]. An array of data type names for each of the parameters supplied 
to the metric function. </dd>
+<dt>data_tbl </dt>
+<dd>VARCHAR. The name of the data table that will be split into training and 
validation parts. </dd>
+<dt>data_id </dt>
+<dd><p class="startdd">VARCHAR. The name of the column containing a unique ID 
associated with each row, or NULL if the table has no such column.</p>
+<p class="enddd">Ideally, the data set has a unique ID for each row, so that 
it is easier to partition the data set into the training part and the 
validation part. Set the <em>id_is_random</em> argument to inform the 
cross-validation function whether the ID value is randomly assigned to each 
row. If it is not randomly assigned, the cross-validation function generates a 
random ID for each row.  </p>
+</dd>
+<dt>id_is_random </dt>
+<dd>BOOLEAN. TRUE if the provided ID is randomly assigned to each row. </dd>
+<dt>validation_result </dt>
+<dd>VARCHAR. The name of the table to store the output of the cross-validation 
function. The output table has the following columns: <table class="output">
+<tr>
+<th>param_explored </th><td>The name of the parameter checked to find the 
optimum value. This is the same name specified in the <em>param_explored</em> 
argument of the <em><a class="el" 
href="cross__validation_8sql__in.html#a2a7791b05f51e8748ab7b6ccf328a7e2">cross_validation_general()</a></em>
 function.  </td></tr>
+<tr>
+<th>average error </th><td>The average of the errors computed by the error 
metric function.  </td></tr>
+<tr>
+<th>standard deviation of error </th><td>The standard deviation of the errors. 
 </td></tr>
+</table>
+</dd>
+<dt>data_cols </dt>
+<dd><p class="startdd">A comma-separated list of names of data columns to use 
in the calculation. When its value is NULL, the function will automatically 
figure out all the column names of the data table. This is only used if the 
<em>data_id</em> argument is NULL, otherwise it is ignored.</p>
+<p>If the data set has no unique ID for each row, the cross-validation 
function copies the data set to a temporary table with a randomly assigned ID 
column. Setting this argument to the list of independent and dependent 
variables that are to be used in the calculation minimizes the copying workload 
by only copying the required data.</p>
+<p class="enddd">The new temporary table is dropped after the computation has 
finished.  </p>
+</dd>
+<dt><em>fold_num</em> </dt>
+<dd>INTEGER, default: 10. Value of k. How many folds validation? Each 
validation uses 1/fold_num fraction of the data for validation. </dd>
+</dl>
+<p>The parameter arrays for the modelling, prediction and metric functions can 
include the following special keywords:</p>
+<ul>
+<li><em>%data%</em> &ndash; The argument position for training/validation 
data</li>
+<li><em>%model%</em> &ndash; The argument position for the output/input of 
modelling/prediction function</li>
+<li><em>%id%</em> &ndash; The argument position of the unique ID column 
(user-provided or generated by the cross-validation function, as described 
above)</li>
+<li><em>%prediction%</em> &ndash; The argument position for the output/input 
of prediction/metric function</li>
+<li><em>%error%</em> &ndash; The argument position for the output of the 
metric function</li>
+</ul>
+<p><b>Note</b>: If the argument <em>explore_values</em> is NULL or has zero 
length, then the cross-validation function will only run a data folding.</p>
+<p><a class="anchor" id="examples"></a></p><dl class="section 
user"><dt>Examples</dt><dd></dd></dl>
+<p>This example uses cross validation with an elastic net regression to find 
the best value of the regularization parameter.</p>
+<ol type="1">
+<li>Populate the table <code>cvtest</code> with 101 dimensional independent 
variables <code>val</code>, and dependent variable <code>dep</code>.</li>
+<li>Run the general cross-validation function. <pre class="example">
+SELECT madlib.cross_validation_general
+    ( 'madlib.elastic_net_train',
+        '{%data%, %model%, dep, indep, gaussian, 1, lambda, TRUE, NULL, fista,
+          "{eta = 2, max_stepsize = 2, use_active_set = t}",
+          NULL, 2000, 1e-6}'::varchar[],
+        '{varchar, varchar, varchar, varchar, varchar, double precision,
+          double precision, boolean, varchar, varchar, varchar, varchar,
+          integer, double precision}'::varchar[],
+      'lambda',
+      '{0.02, 0.04, 0.06, 0.08, 0.10, 0.12, 0.14, 0.16, 0.18, 0.20,
+        0.22, 0.24, 0.26, 0.28, 0.30, 0.32, 0.34, 0.36}'::varchar[],
+      'madlib.elastic_net_predict',
+        '{%model%, %data%, %id%, %prediction%}'::varchar[],
+        '{text, text, text, text}'::varchar[],
+      'madlib.mse_error',
+        '{%prediction%, %data%, %id%, dep, %error%}'::varchar[],
+        '{varchar, varchar, varchar, varchar, varchar}'::varchar[],
+      'cvtest',
+      NULL::varchar,
+      FALSE,
+      'valid_rst_tbl',
+      '{indep, dep}'::varchar[],
+      10
+);
+</pre></li>
+</ol>
+<p><a class="anchor" id="notes"></a></p><dl class="section 
user"><dt>Notes</dt><dd></dd></dl>
+<p><em>max_locks_per_transaction</em>, which usually is set to the default 
value of 64, limits the number of tables that can be dropped inside a single 
transaction (the cross-validation function). Thus, the number of different 
values of <em>param_explored</em> (or the length of the 
<em>explored_values</em> array) cannot be too large. For 10-fold cross 
validation, the limit of <code>length(<em>explored_values</em>)</code> is 
around 40. If the limit is exceeded, you may get an "out of shared memory" 
error because <em>max_locks_per_transaction</em> is exceeded.</p>
+<p>One way to overcome this limitation is to run the cross-validation function 
multiple times, with each run covering a different region of values of the 
parameter.</p>
+<p>In the future, MADlib may implement cross-validation functions for each 
individual applicable module, where it is possible to optimize the calculation 
to avoid dropping tables and prevent exceeding the 
<em>max_locks_per_transaction</em> limitation. Since module-specific 
cross-validation functions depend upon the implementation details of the 
modules to perform the optimization, they will not be as flexible as the 
generalized cross-validation function provided here.</p>
+<p><a class="anchor" id="background"></a></p><dl class="section 
user"><dt>Technical Background</dt><dd></dd></dl>
+<p>One round of cross validation involves partitioning a sample of data into 
complementary subsets, performing the analysis on one subset (called the 
training set), and validating the analysis on the other subset (called the 
validation set or testing set). To reduce variability, multiple rounds of cross 
validation are performed using different partitions, and the validation results 
are averaged over the rounds.</p>
+<p>In k-fold cross validation, the original sample is randomly partitioned 
into k equal sized subsamples. Of the k subsamples, a single subsample is 
retained as the validation data for testing the model, and the remaining 
k&minus;1 subsamples are used as training data. The cross-validation process is 
repeated k times (the folds), with each of the k subsamples used exactly once 
as the validation data. The k results from the folds can be averaged (or 
otherwise combined) to produce a single estimation. The advantage of this 
method over repeated random sub-sampling is that all observations are used for 
both training and validation, and each observation is used for validation 
exactly once. 10-fold cross validation is commonly used, but in general k 
remains an unfixed parameter.</p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related 
Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="cross__validation_8sql__in.html" title="SQL 
functions for cross validation. ">cross_validation.sql_in</a> documenting the 
SQL functions. </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html";>
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


Reply via email to