Return-Path: X-Original-To: apmail-mahout-commits-archive@www.apache.org Delivered-To: apmail-mahout-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 64A8317D71 for ; Fri, 20 Mar 2015 00:25:07 +0000 (UTC) Received: (qmail 76541 invoked by uid 500); 20 Mar 2015 00:18:20 -0000 Delivered-To: apmail-mahout-commits-archive@mahout.apache.org Received: (qmail 75725 invoked by uid 500); 20 Mar 2015 00:18:20 -0000 Mailing-List: contact commits-help@mahout.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@mahout.apache.org Delivered-To: mailing list commits@mahout.apache.org Received: (qmail 75554 invoked by uid 99); 20 Mar 2015 00:18:20 -0000 Received: from eris.apache.org (HELO hades.apache.org) (140.211.11.105) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 20 Mar 2015 00:18:20 +0000 Received: from hades.apache.org (localhost [127.0.0.1]) by hades.apache.org (ASF Mail Server at hades.apache.org) with ESMTP id 33790AC0716 for ; Fri, 20 Mar 2015 00:18:20 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r944391 [3/4] - in /websites/staging/mahout/trunk/content: ./ developers/ general/ users/algorithms/ users/basics/ users/classification/ users/clustering/ users/dim-reduction/ users/mapreduce/classification/ users/mapreduce/clustering/ user... Date: Fri, 20 Mar 2015 00:18:17 -0000 To: commits@mahout.apache.org From: buildbot@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20150320001820.33790AC0716@hades.apache.org> Added: websites/staging/mahout/trunk/content/users/algorithms/spark-naive-bayes.html ============================================================================== --- websites/staging/mahout/trunk/content/users/algorithms/spark-naive-bayes.html (added) +++ websites/staging/mahout/trunk/content/users/algorithms/spark-naive-bayes.html Fri Mar 20 00:18:15 2015 @@ -0,0 +1,430 @@ + + + + + Apache Mahout: Scalable machine learning and data mining + + + + + + + + + + + + + + + + + + + + +
+ + + + +
+
+

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]. 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).

+

Preprocessing and Algorithm

+

As described in [1] Mahout Naive Bayes is broken down into the following steps (assignments are over all possible index values):

+
    +
  • Let \(\vec{d}=(\vec{d_1},...,\vec{d_n})\) be a set of documents; \(d_{ij}\) is the count of word \(i\) in document \(j\).
  • +
  • Let \(\vec{y}=(y_1,...,y_n)\) be their labels.
  • +
  • Let \(\alpha_i\) be a smoothing parameter for all words in the vocabulary; let \(\alpha=\sum_i{\alpha_i}\).
  • +
  • Preprocessing(via seq2Sparse) TF-IDF transformation and L2 length normalization of \(\vec{d}\)
      +
    1. \(d_{ij} = \sqrt{d_{ij}}\)
    2. +
    3. \(d_{ij} = d_{ij}\left(\log{\frac{\sum_k1}{\sum_k\delta_{ik}+1}}+1\right)\)
    4. +
    5. \(d_{ij} =\frac{d_{ij}}{\sqrt{\sum_k{d_{kj}^2}}}\)
    6. +
    +
  • +
  • Training: Bayes\((\vec{d},\vec{y})\) calculate term weights \(w_{ci}\) as:
      +
    1. \(\hat\theta_{ci}=\frac{d_{ic}+\alpha_i}{\sum_k{d_{kc}}+\alpha}\)
    2. +
    3. \(w_{ci}=\log{\hat\theta_{ci}}\)
    4. +
    +
  • +
  • Training: CBayes\((\vec{d},\vec{y})\) calculate term weights \(w_{ci}\) as:
      +
    1. \(\hat\theta_{ci} = \frac{\sum_{j:y_j\neq c}d_{ij}+\alpha_i}{\sum_{j:y_j\neq c}{\sum_k{d_{kj}}}+\alpha}\)
    2. +
    3. \(w_{ci}=-\log{\hat\theta_{ci}}\)
    4. +
    5. \(w_{ci}=\frac{w_{ci}}{\sum_i \lvert w_{ci}\rvert}\)
    6. +
    +
  • +
  • Label Assignment/Testing:
      +
    1. Let \(\vec{t}= (t_1,...,t_n)\) be a test document; let \(t_i\) be the count of the word \(t\).
    2. +
    3. Label the document according to \(l(t)=\arg\max_c \sum\limits_{i} t_i w_{ci}\)
    4. +
    +
  • +
+

As we can see, the main difference between Bayes and CBayes is the weight calculation step. Where Bayes weighs terms more heavily based on the likelihood that they belong to class \(c\), CBayes seeks to maximize term weights on the likelihood that they do not belong to any other class.

+

Running from the command line

+

Mahout provides CLI drivers for all above steps. Here we will give a simple overview of Mahout CLI commands used to preprocess the data, train the model and assign labels to the training set. An example script is given for the full process from data acquisition through classification of the classic 20 Newsgroups corpus.

+
    +
  • +

    Preprocessing: +For a set of Sequence File Formatted documents in PATH_TO_SEQUENCE_FILES the mahout seq2sparse command performs the TF-IDF transformations (-wt tfidf option) and L2 length normalization (-n 2 option) as follows:

    +
    mahout seq2sparse 
    +  -i ${PATH_TO_SEQUENCE_FILES} 
    +  -o ${PATH_TO_TFIDF_VECTORS} 
    +  -nv 
    +  -n 2
    +  -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:

    +
    mahout spark-trainnb
    +  -i ${PATH_TO_TFIDF_VECTORS} 
    +  -el 
    +  -o ${PATH_TO_MODEL}/model 
    +  -li ${PATH_TO_MODEL}/labelindex 
    +  -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:

    +
    mahout spark-testnb 
    +  -i ${PATH_TO_TFIDF_TEST_VECTORS}
    +  -m ${PATH_TO_MODEL}/model 
    +  -ow 
    +  -c
    +
    + + +
  • +
+

Command line options

+
    +
  • Preprocessing:
  • +
+

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 page.

+
    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   
+                                           or TFIDF. Default: TFIDF                  
+      --norm (-n) norm                 The norm to use, expressed as either a    
+                                           float or "INF" if you want to use the     
+                                           Infinite norm.  Must be greater or equal  
+                                           to 0.  The default is not to normalize    
+      --overwrite (-ow)                If set, overwrite the output directory    
+      --sequentialAccessVector (-seq)  (Optional) Whether output vectors should  
+                                           be SequentialAccessVectors. If set true   
+                                           else false                                
+      --namedVector (-nv)              (Optional) Whether output vectors should  
+                                           be NamedVectors. If set true else false
+
+ + +
    +
  • +

    Training:

    +
    mahout 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
    +  --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   
    +  --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   
    +  --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
  2. +
+

References

+

[1]: Jason D. M. Rennie, Lawerence Shih, Jamie Teevan, David Karger (2003). Tackling the Poor Assumptions of Naive Bayes Text Classifiers. Proceedings of the Twentieth International Conference on Machine Learning (ICML-2003).

+
+
+
+
+
+

+ Copyright © 2014 The Apache Software Foundation, Licensed under + the Apache License, Version 2.0. +
+ Apache and the Apache feather logos are trademarks of The Apache Software Foundation. +

+
+
+ + + + + + Modified: websites/staging/mahout/trunk/content/users/basics/algorithms.html ============================================================================== --- websites/staging/mahout/trunk/content/users/basics/algorithms.html (original) +++ websites/staging/mahout/trunk/content/users/basics/algorithms.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/basics/collections.html ============================================================================== --- websites/staging/mahout/trunk/content/users/basics/collections.html (original) +++ websites/staging/mahout/trunk/content/users/basics/collections.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/basics/collocations.html ============================================================================== --- websites/staging/mahout/trunk/content/users/basics/collocations.html (original) +++ websites/staging/mahout/trunk/content/users/basics/collocations.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/basics/creating-vectors-from-text.html ============================================================================== --- websites/staging/mahout/trunk/content/users/basics/creating-vectors-from-text.html (original) +++ websites/staging/mahout/trunk/content/users/basics/creating-vectors-from-text.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/basics/creating-vectors.html ============================================================================== --- websites/staging/mahout/trunk/content/users/basics/creating-vectors.html (original) +++ websites/staging/mahout/trunk/content/users/basics/creating-vectors.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/basics/gaussian-discriminative-analysis.html ============================================================================== --- websites/staging/mahout/trunk/content/users/basics/gaussian-discriminative-analysis.html (original) +++ websites/staging/mahout/trunk/content/users/basics/gaussian-discriminative-analysis.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/basics/independent-component-analysis.html ============================================================================== --- websites/staging/mahout/trunk/content/users/basics/independent-component-analysis.html (original) +++ websites/staging/mahout/trunk/content/users/basics/independent-component-analysis.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/basics/mahout-collections.html ============================================================================== --- websites/staging/mahout/trunk/content/users/basics/mahout-collections.html (original) +++ websites/staging/mahout/trunk/content/users/basics/mahout-collections.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/basics/mahoutintegration.html ============================================================================== --- websites/staging/mahout/trunk/content/users/basics/mahoutintegration.html (original) +++ websites/staging/mahout/trunk/content/users/basics/mahoutintegration.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/basics/matrix-and-vector-needs.html ============================================================================== --- websites/staging/mahout/trunk/content/users/basics/matrix-and-vector-needs.html (original) +++ websites/staging/mahout/trunk/content/users/basics/matrix-and-vector-needs.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/basics/principal-components-analysis.html ============================================================================== --- websites/staging/mahout/trunk/content/users/basics/principal-components-analysis.html (original) +++ websites/staging/mahout/trunk/content/users/basics/principal-components-analysis.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/basics/quickstart.html ============================================================================== --- websites/staging/mahout/trunk/content/users/basics/quickstart.html (original) +++ websites/staging/mahout/trunk/content/users/basics/quickstart.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/basics/svd---singular-value-decomposition.html ============================================================================== --- websites/staging/mahout/trunk/content/users/basics/svd---singular-value-decomposition.html (original) +++ websites/staging/mahout/trunk/content/users/basics/svd---singular-value-decomposition.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/basics/system-requirements.html ============================================================================== --- websites/staging/mahout/trunk/content/users/basics/system-requirements.html (original) +++ websites/staging/mahout/trunk/content/users/basics/system-requirements.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/basics/tf-idf---term-frequency-inverse-document-frequency.html ============================================================================== --- websites/staging/mahout/trunk/content/users/basics/tf-idf---term-frequency-inverse-document-frequency.html (original) +++ websites/staging/mahout/trunk/content/users/basics/tf-idf---term-frequency-inverse-document-frequency.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/classification/bankmarketing-example.html ============================================================================== --- websites/staging/mahout/trunk/content/users/classification/bankmarketing-example.html (original) +++ websites/staging/mahout/trunk/content/users/classification/bankmarketing-example.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/classification/bayesian-commandline.html ============================================================================== --- websites/staging/mahout/trunk/content/users/classification/bayesian-commandline.html (original) +++ websites/staging/mahout/trunk/content/users/classification/bayesian-commandline.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/classification/bayesian.html ============================================================================== --- websites/staging/mahout/trunk/content/users/classification/bayesian.html (original) +++ websites/staging/mahout/trunk/content/users/classification/bayesian.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/classification/breiman-example.html ============================================================================== --- websites/staging/mahout/trunk/content/users/classification/breiman-example.html (original) +++ websites/staging/mahout/trunk/content/users/classification/breiman-example.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/classification/class-discovery.html ============================================================================== --- websites/staging/mahout/trunk/content/users/classification/class-discovery.html (original) +++ websites/staging/mahout/trunk/content/users/classification/class-discovery.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/classification/classifyingyourdata.html ============================================================================== --- websites/staging/mahout/trunk/content/users/classification/classifyingyourdata.html (original) +++ websites/staging/mahout/trunk/content/users/classification/classifyingyourdata.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/classification/hidden-markov-models.html ============================================================================== --- websites/staging/mahout/trunk/content/users/classification/hidden-markov-models.html (original) +++ websites/staging/mahout/trunk/content/users/classification/hidden-markov-models.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/classification/locally-weighted-linear-regression.html ============================================================================== --- websites/staging/mahout/trunk/content/users/classification/locally-weighted-linear-regression.html (original) +++ websites/staging/mahout/trunk/content/users/classification/locally-weighted-linear-regression.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/classification/logistic-regression.html ============================================================================== --- websites/staging/mahout/trunk/content/users/classification/logistic-regression.html (original) +++ websites/staging/mahout/trunk/content/users/classification/logistic-regression.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/classification/naivebayes.html ============================================================================== --- websites/staging/mahout/trunk/content/users/classification/naivebayes.html (original) +++ websites/staging/mahout/trunk/content/users/classification/naivebayes.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/classification/neural-network.html ============================================================================== --- websites/staging/mahout/trunk/content/users/classification/neural-network.html (original) +++ websites/staging/mahout/trunk/content/users/classification/neural-network.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/classification/partial-implementation.html ============================================================================== --- websites/staging/mahout/trunk/content/users/classification/partial-implementation.html (original) +++ websites/staging/mahout/trunk/content/users/classification/partial-implementation.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/classification/random-forests.html ============================================================================== --- websites/staging/mahout/trunk/content/users/classification/random-forests.html (original) +++ websites/staging/mahout/trunk/content/users/classification/random-forests.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/classification/restricted-boltzmann-machines.html ============================================================================== --- websites/staging/mahout/trunk/content/users/classification/restricted-boltzmann-machines.html (original) +++ websites/staging/mahout/trunk/content/users/classification/restricted-boltzmann-machines.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/classification/support-vector-machines.html ============================================================================== --- websites/staging/mahout/trunk/content/users/classification/support-vector-machines.html (original) +++ websites/staging/mahout/trunk/content/users/classification/support-vector-machines.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/classification/twenty-newsgroups.html ============================================================================== --- websites/staging/mahout/trunk/content/users/classification/twenty-newsgroups.html (original) +++ websites/staging/mahout/trunk/content/users/classification/twenty-newsgroups.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/clustering/20newsgroups.html ============================================================================== --- websites/staging/mahout/trunk/content/users/clustering/20newsgroups.html (original) +++ websites/staging/mahout/trunk/content/users/clustering/20newsgroups.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/clustering/canopy-clustering.html ============================================================================== --- websites/staging/mahout/trunk/content/users/clustering/canopy-clustering.html (original) +++ websites/staging/mahout/trunk/content/users/clustering/canopy-clustering.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/clustering/canopy-commandline.html ============================================================================== --- websites/staging/mahout/trunk/content/users/clustering/canopy-commandline.html (original) +++ websites/staging/mahout/trunk/content/users/clustering/canopy-commandline.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/clustering/cluster-dumper.html ============================================================================== --- websites/staging/mahout/trunk/content/users/clustering/cluster-dumper.html (original) +++ websites/staging/mahout/trunk/content/users/clustering/cluster-dumper.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/clustering/clustering-of-synthetic-control-data.html ============================================================================== --- websites/staging/mahout/trunk/content/users/clustering/clustering-of-synthetic-control-data.html (original) +++ websites/staging/mahout/trunk/content/users/clustering/clustering-of-synthetic-control-data.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/clustering/clustering-seinfeld-episodes.html ============================================================================== --- websites/staging/mahout/trunk/content/users/clustering/clustering-seinfeld-episodes.html (original) +++ websites/staging/mahout/trunk/content/users/clustering/clustering-seinfeld-episodes.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/clustering/clusteringyourdata.html ============================================================================== --- websites/staging/mahout/trunk/content/users/clustering/clusteringyourdata.html (original) +++ websites/staging/mahout/trunk/content/users/clustering/clusteringyourdata.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/clustering/expectation-maximization.html ============================================================================== --- websites/staging/mahout/trunk/content/users/clustering/expectation-maximization.html (original) +++ websites/staging/mahout/trunk/content/users/clustering/expectation-maximization.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/clustering/fuzzy-k-means-commandline.html ============================================================================== --- websites/staging/mahout/trunk/content/users/clustering/fuzzy-k-means-commandline.html (original) +++ websites/staging/mahout/trunk/content/users/clustering/fuzzy-k-means-commandline.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/clustering/fuzzy-k-means.html ============================================================================== --- websites/staging/mahout/trunk/content/users/clustering/fuzzy-k-means.html (original) +++ websites/staging/mahout/trunk/content/users/clustering/fuzzy-k-means.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/clustering/hierarchical-clustering.html ============================================================================== --- websites/staging/mahout/trunk/content/users/clustering/hierarchical-clustering.html (original) +++ websites/staging/mahout/trunk/content/users/clustering/hierarchical-clustering.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/clustering/k-means-clustering.html ============================================================================== --- websites/staging/mahout/trunk/content/users/clustering/k-means-clustering.html (original) +++ websites/staging/mahout/trunk/content/users/clustering/k-means-clustering.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/clustering/k-means-commandline.html ============================================================================== --- websites/staging/mahout/trunk/content/users/clustering/k-means-commandline.html (original) +++ websites/staging/mahout/trunk/content/users/clustering/k-means-commandline.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/clustering/latent-dirichlet-allocation.html ============================================================================== --- websites/staging/mahout/trunk/content/users/clustering/latent-dirichlet-allocation.html (original) +++ websites/staging/mahout/trunk/content/users/clustering/latent-dirichlet-allocation.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/clustering/lda-commandline.html ============================================================================== --- websites/staging/mahout/trunk/content/users/clustering/lda-commandline.html (original) +++ websites/staging/mahout/trunk/content/users/clustering/lda-commandline.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/clustering/llr---log-likelihood-ratio.html ============================================================================== --- websites/staging/mahout/trunk/content/users/clustering/llr---log-likelihood-ratio.html (original) +++ websites/staging/mahout/trunk/content/users/clustering/llr---log-likelihood-ratio.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/clustering/spectral-clustering.html ============================================================================== --- websites/staging/mahout/trunk/content/users/clustering/spectral-clustering.html (original) +++ websites/staging/mahout/trunk/content/users/clustering/spectral-clustering.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/clustering/streaming-k-means.html ============================================================================== --- websites/staging/mahout/trunk/content/users/clustering/streaming-k-means.html (original) +++ websites/staging/mahout/trunk/content/users/clustering/streaming-k-means.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/clustering/viewing-result.html ============================================================================== --- websites/staging/mahout/trunk/content/users/clustering/viewing-result.html (original) +++ websites/staging/mahout/trunk/content/users/clustering/viewing-result.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/clustering/viewing-results.html ============================================================================== --- websites/staging/mahout/trunk/content/users/clustering/viewing-results.html (original) +++ websites/staging/mahout/trunk/content/users/clustering/viewing-results.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/clustering/visualizing-sample-clusters.html ============================================================================== --- websites/staging/mahout/trunk/content/users/clustering/visualizing-sample-clusters.html (original) +++ websites/staging/mahout/trunk/content/users/clustering/visualizing-sample-clusters.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/dim-reduction/dimensional-reduction.html ============================================================================== --- websites/staging/mahout/trunk/content/users/dim-reduction/dimensional-reduction.html (original) +++ websites/staging/mahout/trunk/content/users/dim-reduction/dimensional-reduction.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/dim-reduction/ssvd.html ============================================================================== --- websites/staging/mahout/trunk/content/users/dim-reduction/ssvd.html (original) +++ websites/staging/mahout/trunk/content/users/dim-reduction/ssvd.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/mapreduce/classification/bankmarketing-example.html ============================================================================== --- websites/staging/mahout/trunk/content/users/mapreduce/classification/bankmarketing-example.html (original) +++ websites/staging/mahout/trunk/content/users/mapreduce/classification/bankmarketing-example.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/mapreduce/classification/bayesian-commandline.html ============================================================================== --- websites/staging/mahout/trunk/content/users/mapreduce/classification/bayesian-commandline.html (original) +++ websites/staging/mahout/trunk/content/users/mapreduce/classification/bayesian-commandline.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/mapreduce/classification/bayesian.html ============================================================================== --- websites/staging/mahout/trunk/content/users/mapreduce/classification/bayesian.html (original) +++ websites/staging/mahout/trunk/content/users/mapreduce/classification/bayesian.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/mapreduce/classification/breiman-example.html ============================================================================== --- websites/staging/mahout/trunk/content/users/mapreduce/classification/breiman-example.html (original) +++ websites/staging/mahout/trunk/content/users/mapreduce/classification/breiman-example.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@ Modified: websites/staging/mahout/trunk/content/users/mapreduce/classification/class-discovery.html ============================================================================== --- websites/staging/mahout/trunk/content/users/mapreduce/classification/class-discovery.html (original) +++ websites/staging/mahout/trunk/content/users/mapreduce/classification/class-discovery.html Fri Mar 20 00:18:15 2015 @@ -159,6 +159,7 @@