You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by ap...@apache.org on 2015/03/20 04:45:54 UTC

svn commit: r1667926 - in /mahout/site/mahout_cms/trunk: content/users/algorithms/d-qr.mdtext content/users/algorithms/spark-naive-bayes.mdtext content/users/basics/algorithms.mdtext content/users/basics/quickstart.mdtext templates/standard.html

Author: apalumbo
Date: Fri Mar 20 03:45:54 2015
New Revision: 1667926

URL: http://svn.apache.org/r1667926
Log:
Reorganize dropdown Menus to Mahout Environment, Algorithms, Mahout MapReduce

Modified:
    mahout/site/mahout_cms/trunk/content/users/algorithms/d-qr.mdtext
    mahout/site/mahout_cms/trunk/content/users/algorithms/spark-naive-bayes.mdtext
    mahout/site/mahout_cms/trunk/content/users/basics/algorithms.mdtext
    mahout/site/mahout_cms/trunk/content/users/basics/quickstart.mdtext
    mahout/site/mahout_cms/trunk/templates/standard.html

Modified: mahout/site/mahout_cms/trunk/content/users/algorithms/d-qr.mdtext
URL: http://svn.apache.org/viewvc/mahout/site/mahout_cms/trunk/content/users/algorithms/d-qr.mdtext?rev=1667926&r1=1667925&r2=1667926&view=diff
==============================================================================
--- mahout/site/mahout_cms/trunk/content/users/algorithms/d-qr.mdtext (original)
+++ mahout/site/mahout_cms/trunk/content/users/algorithms/d-qr.mdtext Fri Mar 20 03:45:54 2015
@@ -11,7 +11,7 @@ For the classic QR decomposition of the
 
 
 
-## Implementations
+## Implementation
 
 Mahout `dqrThin(...)` is implemented in the mahout `math-scala` algebraic optimizer which translates Mahout's R-like linear algebra operators into a physical plan for both Spark and H2O distributed engines.
 

Modified: mahout/site/mahout_cms/trunk/content/users/algorithms/spark-naive-bayes.mdtext
URL: http://svn.apache.org/viewvc/mahout/site/mahout_cms/trunk/content/users/algorithms/spark-naive-bayes.mdtext?rev=1667926&r1=1667925&r2=1667926&view=diff
==============================================================================
--- mahout/site/mahout_cms/trunk/content/users/algorithms/spark-naive-bayes.mdtext (original)
+++ mahout/site/mahout_cms/trunk/content/users/algorithms/spark-naive-bayes.mdtext Fri Mar 20 03:45:54 2015
@@ -1,15 +1,15 @@
-# Naive Bayes
+# Spark Naive Bayes
 
 
 ## Intro
 
-Mahout currently has two Naive Bayes implementations.  The first is standard Multinomial Naive Bayes. The second is an implementation of Transformed Weight-normalized Complement Naive Bayes as introduced by Rennie et al. [[1]](http://people.csail.mit.edu/jrennie/papers/icml03-nb.pdf). We refer to the former as Bayes and the latter as CBayes.
+Mahout currently has two flavors of Naive Bayes.  The first is standard Multinomial Naive Bayes. The second is an implementation of Transformed Weight-normalized Complement Naive Bayes as introduced by Rennie et al. [[1]](http://people.csail.mit.edu/jrennie/papers/icml03-nb.pdf). We refer to the former as Bayes and the latter as CBayes.
 
 Where Bayes has long been a standard in text classification, CBayes is an extension of Bayes that performs particularly well on datasets with skewed classes and has been shown to be competitive with algorithms of higher complexity such as Support Vector Machines. 
 
 
 ## Implementations
-Both Bayes and CBayes are currently trained via MapReduce Jobs. Testing and classification can be done via a MapReduce Job or sequentially.  Mahout provides CLI drivers for preprocessing, training and testing. A Spark implementation is currently in the works ([MAHOUT-1493](https://issues.apache.org/jira/browse/MAHOUT-1493)).
+The mahout `math-scala` library has an implemetation of both Bayes and CBayes which is further optimized in the `spark` module. Currently the Spark optimized version provides CLI drivers for training and testing. Mahout Spark-Naive-Bayes models can also be trained, tested and saved to the filesystem from the Mahout Spark Shell. 
 
 ## Preprocessing and Algorithm
 
@@ -42,7 +42,7 @@ Mahout provides CLI drivers for all abov
 - **Preprocessing:**
 For a set of Sequence File Formatted documents in PATH_TO_SEQUENCE_FILES the [mahout seq2sparse](https://mahout.apache.org/users/basics/creating-vectors-from-text.html) command performs the TF-IDF transformations (-wt tfidf option) and L2 length normalization (-n 2 option) as follows:
 
-        mahout seq2sparse 
+        $ mahout seq2sparse 
           -i ${PATH_TO_SEQUENCE_FILES} 
           -o ${PATH_TO_TFIDF_VECTORS} 
           -nv 
@@ -50,32 +50,30 @@ For a set of Sequence File Formatted doc
           -wt tfidf
 
 - **Training:**
-The model is then trained using `mahout spark-trainnb` .  The default is to train a Bayes model. The -c option is given to train a CBayes model:
+The model is then trained using `mahout spark-trainnb`.  The default is to train a Bayes model. The -c option is given to train a CBayes model:
 
-        mahout spark-trainnb
+        $ mahout spark-trainnb
           -i ${PATH_TO_TFIDF_VECTORS} 
-          -el 
-          -o ${PATH_TO_MODEL}/model 
-          -li ${PATH_TO_MODEL}/labelindex 
+          -o ${PATH_TO_MODEL}
           -ow 
           -c
 
 - **Label Assignment/Testing:**
-Classification and testing on a holdout set can then be performed via `mahout testnb`. Again, the -c option indicates that the model is CBayes.  The -seq option tells `mahout testnb` to run sequentially:
+Classification and testing on a holdout set can then be performed via `mahout spark-testnb`. Again, the -c option indicates that the model is CBayes:
 
-        mahout spark-testnb 
+        $ mahout spark-testnb 
           -i ${PATH_TO_TFIDF_TEST_VECTORS}
-          -m ${PATH_TO_MODEL}/model 
+          -m ${PATH_TO_MODEL} 
           -ow 
           -c 
 
 ## Command line options
 
-- **Preprocessing:**
+- **Preprocessing:** *note: still reliant on MapReduce seq2sparse* 
   
   Only relevant parameters used for Bayes/CBayes as detailed above are shown. Several other transformations can be performed by `mahout seq2sparse` and used as input to Bayes/CBayes.  For a full list of `mahout seq2Sparse` options see the [Creating vectors from text](https://mahout.apache.org/users/basics/creating-vectors-from-text.html) page.
 
-        mahout seq2sparse                         
+        $ mahout seq2sparse                         
           --output (-o) output             The directory pathname for output.        
           --input (-i) input               Path to job input directory.              
           --weight (-wt) weight            The kind of weight to use. Currently TF   
@@ -93,46 +91,24 @@ Classification and testing on a holdout
 
 - **Training:**
 
-        mahout trainnb
+        $ mahout spark-trainnb
           --input (-i) input               Path to job input directory.                 
           --output (-o) output             The directory pathname for output.           
-          --labels (-l) labels             Comma-separated list of labels to include in 
-                                               training                                     
-          --extractLabels (-el)            Extract the labels from the input            
           --alphaI (-a) alphaI             Smoothing parameter. Default is 1.0
+          --overwrite (-ow)                If present, overwrite the output directory.  Default is false.     
           --trainComplementary (-c)        Train complementary? Default is false.                        
-          --labelIndex (-li) labelIndex    The path to store the label index in         
-          --overwrite (-ow)                If present, overwrite the output directory   
-                                               before running job                           
           --help (-h)                      Print out help                               
-          --tempDir tempDir                Intermediate output directory                
-          --startPhase startPhase          First phase to run                           
-          --endPhase endPhase              Last phase to run
 
 - **Testing:**
 
-        mahout testnb   
+        $ mahout spark-testnb   
           --input (-i) input               Path to job input directory.                  
           --output (-o) output             The directory pathname for output.            
-          --overwrite (-ow)                If present, overwrite the output directory    
-                                               before running job                                                
-
-      
-          --model (-m) model               The path to the model built during training   
+          --model (-m) model               The path to the model built during training.   
+          --overwrite (-ow)                If present, overwrite the output directory                                                         
           --testComplementary (-c)         Test complementary? Default is false.                          
-          --runSequential (-seq)           Run sequential?                               
-          --labelIndex (-l) labelIndex     The path to the location of the label index   
           --help (-h)                      Print out help                                
-          --tempDir tempDir                Intermediate output directory                 
-          --startPhase startPhase          First phase to run                            
-          --endPhase endPhase              Last phase to run  
-
-
-## Examples
-
-Mahout provides an example for Naive Bayes classification:
 
-1. [Classify 20 Newsgroups](twenty-newsgroups.html)
  
 ## References
 

Modified: mahout/site/mahout_cms/trunk/content/users/basics/algorithms.mdtext
URL: http://svn.apache.org/viewvc/mahout/site/mahout_cms/trunk/content/users/basics/algorithms.mdtext?rev=1667926&r1=1667925&r2=1667926&view=diff
==============================================================================
--- mahout/site/mahout_cms/trunk/content/users/basics/algorithms.mdtext (original)
+++ mahout/site/mahout_cms/trunk/content/users/basics/algorithms.mdtext Fri Mar 20 03:45:54 2015
@@ -8,31 +8,31 @@ Title: Algorithms
 | | **Single Machine** | [**MapReduce**](http://hadoop.apache.org/docs/r1.2.1/mapred_tutorial.html)| [**Spark**](https://spark.apache.org/) | [**H2O**](http://0xdata.com/) | [**Flink**](https://flink.incubator.apache.org/)
 ---------------------------------------------|:----------------:|:-----------:|:------:|:---:|:----:|
 **Mahout Math-Scala Core Library and Scala DSL**| 
-|   [Mahout Distributed BLAS. Distributed Row Matrix API with R and Matlab like operators. Distributed ALS, SPCA, SSVD, thin-QR. Similarity Analysis](http://mahout.apache.org/users/sparkbindings/home.html).    | |  | [x](https://mahout.apache.org/users/sparkbindings/ScalaSparkBindings.pdf) | [x](https://github.com/apache/mahout/tree/master/h2o) |[*in development*](https://github.com/tillrohrmann/mahout/tree/flink-bindings/flink)|
+|   [Mahout Distributed BLAS. Distributed Row Matrix API with R and Matlab like operators. Distributed ALS, SPCA, SSVD, thin-QR. Similarity Analysis](http://mahout.apache.org/users/sparkbindings/home.html).    | |  | [x](https://mahout.apache.org/users/sparkbindings/ScalaSparkBindings.pdf) | [x](https://github.com/apache/mahout/tree/master/h2o) |[*in development*](https://issues.apache.org/jira/browse/MAHOUT-1570)|
 ||
 **Mahout Interactive Shell**| 
 |   [Interactive REPL shell for Spark optimized Mahout DSL](http://mahout.apache.org/users/sparkbindings/play-with-shell.html) | | | x |
 ||
 **Collaborative Filtering** *with CLI Drivers*|
-    User-Based Collaborative Filtering           | x |  |[x](https://github.com/apache/mahout/blob/master/spark/src/test/scala/org/apache/mahout/drivers/RowSimilarityDriverSuite.scala)
-    Item-Based Collaborative Filtering           | x | [x](https://mahout.apache.org/users/recommender/intro-itembased-hadoop.html) | [x](https://mahout.apache.org/users/recommender/intro-cooccurrence-spark.html) |
-    Matrix Factorization with ALS | x | [x](https://mahout.apache.org/users/recommender/intro-als-hadoop.html) |  |
-    Matrix Factorization with ALS on Implicit Feedback | x | [x](https://mahout.apache.org/users/recommender/intro-als-hadoop.html) |  |
+    User-Based Collaborative Filtering           | x |  |[x](https://mahout.apache.org/users/algorithms/intro-cooccurrence-spark.html)
+    Item-Based Collaborative Filtering           | x | [x](https://mahout.apache.org/users/mapreduce/recommender/intro-itembased-hadoop.html) | [x](https://mahout.apache.org/users/algorithms/intro-cooccurrence-spark.html) |
+    Matrix Factorization with ALS | x | [x](https://mahout.apache.org/users/mapreduce/recommender/intro-als-hadoop.html) |  |
+    Matrix Factorization with ALS on Implicit Feedback | x | [x](https://mahout.apache.org/users/mapreduce/recommender/intro-als-hadoop.html) |  |
     Weighted Matrix Factorization, SVD++  | x | | 
 ||
 **Classification** *with CLI Drivers*| | |
-    Logistic Regression - trained via SGD   | [x](http://mahout.apache.org/users/classification/logistic-regression.html) |
-    Naive Bayes / Complementary Naive Bayes  | | [x](https://mahout.apache.org/users/classification/bayesian.html) | [x](https://issues.apache.org/jira/browse/MAHOUT-1493) |  *in development*
-    Random Forest | | [x](https://mahout.apache.org/users/classification/partial-implementation.html)|
-    Hidden Markov Models   | [x](https://mahout.apache.org/users/classification/hidden-markov-models.html) |
+    Logistic Regression - trained via SGD   | [x](http://mahout.apache.org/users/mapreduce/classification/logistic-regression.html) |
+    Naive Bayes / Complementary Naive Bayes  | | [x](https://mahout.apache.org/users/mapreduce/classification/bayesian.html) | [x](https://mahout.apache.org/users/algorithms/spark-naive-bayes.html) |  
+    Random Forest | | [x](https://mahout.apache.org/users/mapreduce/classification/partial-implementation.html)|
+    Hidden Markov Models   | [x](https://mahout.apache.org/users/mapreduce/classification/hidden-markov-models.html) |
     Multilayer Perceptron  | x |
 ||
 **Clustering** *with CLI Drivers*||
-    Canopy Clustering  | [*deprecated*](https://mahout.apache.org/users/clustering/canopy-clustering.html) | [*deprecated*](https://mahout.apache.org/users/clustering/canopy-clustering.html)| 
-    k-Means Clustering   | [x](https://mahout.apache.org/users/clustering/k-means-clustering.html) | [x](https://mahout.apache.org/users/clustering/k-means-clustering.html) |  
-    Fuzzy k-Means   | [x](https://mahout.apache.org/users/clustering/fuzzy-k-means.html) | [x](https://mahout.apache.org/users/clustering/fuzzy-k-means.html)|  
-    Streaming k-Means   | [x](https://mahout.apache.org/users/clustering/streaming-k-means.html) | [x](https://mahout.apache.org/users/clustering/streaming-k-means.html) |  
-    Spectral Clustering   |  | [x](https://mahout.apache.org/users/clustering/spectral-clustering.html) |  
+    Canopy Clustering  | [*deprecated*](https://mahout.apache.org/users/mapreduce/clustering/canopy-clustering.html) | [*deprecated*](https://mahout.apache.org/users/mapreduce/clustering/canopy-clustering.html)| 
+    k-Means Clustering   | [x](https://mahout.apache.org/users/mapreduce/clustering/k-means-clustering.html) | [x](https://mahout.apache.org/users/mapreduce/clustering/k-means-clustering.html) |  
+    Fuzzy k-Means   | [x](https://mahout.apache.org/users/mapreduce/clustering/fuzzy-k-means.html) | [x](https://mahout.apache.org/users/mapreduce/clustering/fuzzy-k-means.html)|  
+    Streaming k-Means   | [x](https://mahout.apache.org/users/mapreduce/clustering/streaming-k-means.html) | [x](https://mahout.apache.org/users/mapreduce/clustering/streaming-k-means.html) |  
+    Spectral Clustering   |  | [x](https://mahout.apache.org/users/mapreduce/clustering/spectral-clustering.html) |  
 ||
 **Dimensionality Reduction** *with CLI Drivers - note: most scala-based dimensionality reduction algorithms are available through the [Mahout Math-Scala Core Library for all engines](https://mahout.apache.org/users/sparkbindings/home.html)*||
     Singular Value Decomposition | x | x | |

Modified: mahout/site/mahout_cms/trunk/content/users/basics/quickstart.mdtext
URL: http://svn.apache.org/viewvc/mahout/site/mahout_cms/trunk/content/users/basics/quickstart.mdtext?rev=1667926&r1=1667925&r2=1667926&view=diff
==============================================================================
--- mahout/site/mahout_cms/trunk/content/users/basics/quickstart.mdtext (original)
+++ mahout/site/mahout_cms/trunk/content/users/basics/quickstart.mdtext Fri Mar 20 03:45:54 2015
@@ -15,7 +15,7 @@ If you would like to import the latest r
 
     <dependency>
         <groupId>org.apache.mahout</groupId>
-        <artifactId>mahout-core</artifactId>
+        <artifactId>mahout-mrlegacy</artifactId>
         <version>0.9</version>
     </dependency>
 
@@ -26,21 +26,21 @@ Mahout has prepared a bunch of examples
 
 #### Recommendations
 
-Check the [Recommender Quickstart](/users/recommender/quickstart.html) or the tutorial on [creating a userbased recommender in 5 minutes](/users/recommender/userbased-5-minutes.html).
+Check the [Recommender Quickstart](/users/mapreduce/recommender/quickstart.html) or the tutorial on [creating a userbased recommender in 5 minutes](/users/recommender/userbased-5-minutes.html).
 
 If you are building a recommender system for the first time, please also refer to a list of [Dos and Don'ts](/users/recommender/recommender-first-timer-faq.html) that might be helpful.
 
 #### Clustering
 
-Check the [Synthetic data](/users/clustering/clustering-of-synthetic-control-data.html) example.
+Check the [Synthetic data](/users/mapreduce/clustering/clustering-of-synthetic-control-data.html) example.
 
 #### Classification
 
-If you are interested in how to train a **Naive Bayes** model, look at the [20 newsgroups](/users/classification/twenty-newsgroups.html) example.
+If you are interested in how to train a **Naive Bayes** model, look at the [20 newsgroups](/users/mapreduce/classification/twenty-newsgroups.html) example.
 
-If you plan to build a **Hidden Markov Model** for speech recognition, the example [here](/users/classification/hidden-markov-models.html) might be instructive. 
+If you plan to build a **Hidden Markov Model** for speech recognition, the example [here](/users/mapreduce/classification/hidden-markov-models.html) might be instructive. 
 
-Or you could build a **Random Forest** model by following this [quick start page](/users/classification/partial-implementation.html).
+Or you could build a **Random Forest** model by following this [quick start page](/users/mapreduce/classification/partial-implementation.html).
 
 #### Working with Text 
 

Modified: mahout/site/mahout_cms/trunk/templates/standard.html
URL: http://svn.apache.org/viewvc/mahout/site/mahout_cms/trunk/templates/standard.html?rev=1667926&r1=1667925&r2=1667926&view=diff
==============================================================================
--- mahout/site/mahout_cms/trunk/templates/standard.html (original)
+++ mahout/site/mahout_cms/trunk/templates/standard.html Fri Mar 20 03:45:54 2015
@@ -155,61 +155,63 @@
                   <li><a href="/users/clustering/latent-dirichlet-allocation.html">Latent Dirichlet Allocation</a></li>
                 </ul>
                  </li>
-               <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Spark<b class="caret"></b></a>
+               <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Mahout Environment<b class="caret"></b></a>
                 <ul class="dropdown-menu">
                   <li><a href="/users/sparkbindings/home.html">Scala &amp; Spark Bindings Overview</a></li>
-                  <li><a href="/users/sparkbindings/play-with-shell.html">Playing with Mahout's Spark Shell</a></li>
-                  <li><a href="/users/algorithms/d-qr.html">Distributed QR</a></li>
-			      <li class="divider"></li>
+                  <li><a href="/users/sparkbindings/play-with-shell.html">Playing with Mahout's Spark Shell</a></li>                  
+	          <li class="divider"></li>
                   <li><a href="/users/sparkbindings/faq.html">FAQ</a></li>
                 </ul>
                </li>
-              <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Classification<b class="caret"></b></a>
+              <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Algorithms<b class="caret"></b></a>
+                <ul class="dropdown-menu">                
+                  <li class="nav-header">Matrix Decomposition</li>
+                  <li><a href="/users/algorithms/d-qr.html">Distributed QR</a></li>
+                  <li class="nav-header">Recommendations</li>
+                  <li><a href="/users/algorithms/intro-cooccurrence-spark.html">Intro to cooccurrence-based<br/> recommendations with Spark</a></li>
+                  <li class="nav-header">Classification</li>
+                  <li><a href="/users/algorithms/spark-naive-bayes.html">Spark Naive Bayes</a></li>
+                </ul>
+               </li>
+               <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Mahout MapReduce<b class="caret"></b></a>
                 <ul class="dropdown-menu">
+                <li class="nav-header">Classification</li>
                   <li><a href="/users/mapreduce/classification/bayesian.html">Naive Bayes</a></li>
                   <li><a href="/users/mapreduce/classification/hidden-markov-models.html">Hidden Markov Models</a></li>
                   <li><a href="/users/mapreduce/classification/logistic-regression.html">Logistic Regression</a></li>
                   <li><a href="/users/mapreduce/classification/partial-implementation.html">Random Forest</a></li>
-
-                  <li class="divider"></li>
-                  <li class="nav-header">Examples</li>
+                  <li class="nav-header">Classification Examples</li>
                   <li><a href="/users/mapreduce/classification/breiman-example.html">Breiman example</a></li>
                   <li><a href="/users/mapreduce/classification/twenty-newsgroups.html">20 newsgroups example</a></li>
-                </ul></li>
-               <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Clustering<b class="caret"></b></a>
-                <ul class="dropdown-menu">
-                <li><a href="/users/mapreduce/clustering/k-means-clustering.html">k-Means</a></li>
-                <li><a href="/users/mapreduce/clustering/canopy-clustering.html">Canopy</a></li>
-                <li><a href="/users/mapreduce/clustering/fuzzy-k-means.html">Fuzzy k-Means</a></li>
-                <li><a href="/users/mapreduce/clustering/streaming-k-means.html">Streaming KMeans</a></li>
-                <li><a href="/users/mapreduce/clustering/spectral-clustering.html">Spectral Clustering</a></li>
-                <li class="divider"></li>
-                <li class="nav-header">Commandline usage</li>
-                <li><a href="/users/mapreduce/clustering/k-means-commandline.html">Options for k-Means</a></li>
-                <li><a href="/users/mapreduce/clustering/canopy-commandline.html">Options for Canopy</a></li>
-                <li><a href="/users/mapreduce/clustering/fuzzy-k-means-commandline.html">Options for Fuzzy k-Means</a></li>
-                <li class="divider"></li>
-                <li class="nav-header">Examples</li>
-                <li><a href="/users/mapreduce/clustering/clustering-of-synthetic-control-data.html">Synthetic data</a></li>
-                <li class="divider"></li>
-                <li class="nav-header">Post processing</li>
-                <li><a href="/users/mapreduce/clustering/cluster-dumper.html">Cluster Dumper tool</a></li>
-                <li><a href="/users/mapreduce/clustering/visualizing-sample-clusters.html">Cluster visualisation</a></li>
-                </ul></li>
-                <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Recommendations<b class="caret"></b></a>
+                  <li class="nav-header">Clustering</li>
+                  <li><a href="/users/mapreduce/clustering/k-means-clustering.html">k-Means</a></li>
+                  <li><a href="/users/mapreduce/clustering/canopy-clustering.html">Canopy</a></li>
+                  <li><a href="/users/mapreduce/clustering/fuzzy-k-means.html">Fuzzy k-Means</a></li>
+                  <li><a href="/users/mapreduce/clustering/streaming-k-means.html">Streaming KMeans</a></li>
+                  <li><a href="/users/mapreduce/clustering/spectral-clustering.html">Spectral Clustering</a></li>
+                  <li class="nav-header">Clustering Commandline usage</li>
+                  <li><a href="/users/mapreduce/clustering/k-means-commandline.html">Options for k-Means</a></li>
+                  <li><a href="/users/mapreduce/clustering/canopy-commandline.html">Options for Canopy</a></li>
+                  <li><a href="/users/mapreduce/clustering/fuzzy-k-means-commandline.html">Options for Fuzzy k-Means</a></li>
+                  <li class="nav-header">Clustering Examples</li>
+                  <li><a href="/users/mapreduce/clustering/clustering-of-synthetic-control-data.html">Synthetic data</a></li>
+                  <li class="nav-header">Cluster Post processing</li>
+                  <li><a href="/users/mapreduce/clustering/cluster-dumper.html">Cluster Dumper tool</a></li>
+                  <li><a href="/users/mapreduce/clustering/visualizing-sample-clusters.html">Cluster visualisation</a></li>
+                  <li class="nav-header">Recommendations</li>
+                  <li><a href="/users/mapreduce/recommender/quickstart.html">Quickstart</a></li>
+                  <li><a href="/users/mapreduce/recommender/recommender-first-timer-faq.html">First Timer FAQ</a></li>
+                  <li><a href="/users/mapreduce/recommender/userbased-5-minutes.html">A user-based recommender <br/>in 5 minutes</a></li>
+		  <li><a href="/users/mapreduce/recommender/matrix-factorization.html">Matrix factorization-based<br/> recommenders</a></li>
+                  <li><a href="/users/mapreduce/recommender/recommender-documentation.html">Overview</a></li>
+                  <li><a href="/users/mapreduce/recommender/intro-itembased-hadoop.html">Intro to item-based recommendations<br/> with Hadoop</a></li>
+                  <li><a href="/users/mapreduce/recommender/intro-als-hadoop.html">Intro to ALS recommendations<br/> with Hadoop</a></li>
+               </ul>
+              </li>
+              <!--  <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Recommendations<b class="caret"></b></a>
                 <ul class="dropdown-menu">
-                <li><a href="/users/mapreduce/recommender/quickstart.html">Quickstart</a></li>
-                <li><a href="/users/mapreduce/recommender/recommender-first-timer-faq.html">First Timer FAQ</a></li>
-                <li><a href="/users/mapreduce/recommender/userbased-5-minutes.html">A user-based recommender <br/>in 5 minutes</a></li>
-		<li><a href="/users/mapreduce/recommender/matrix-factorization.html">Matrix factorization-based<br/> recommenders</a></li>
-                <li><a href="/users/mapreduce/recommender/recommender-documentation.html">Overview</a></li>
-                <li class="divider"></li>
-                <li class="nav-header">Hadoop</li>
-                <li><a href="/users/mapreduce/recommender/intro-itembased-hadoop.html">Intro to item-based recommendations<br/> with Hadoop</a></li>
-                <li><a href="/users/mapreduce/recommender/intro-als-hadoop.html">Intro to ALS recommendations<br/> with Hadoop</a></li>
-                <li class="nav-header">Spark</li>
-                <li><a href="/users/mapreduce/recommender/intro-cooccurrence-spark.html">Intro to cooccurrence-based<br/> recommendations with Spark</a></li>
-              </ul>
+                
+                </ul> -->
             </li>
            </ul>
           </div><!--/.nav-collapse -->