==============================================================
 Apache Mahout
 Copyright 2009 and onwards The Apache Software Foundation
==============================================================

This product includes software developed by
The Apache Software Foundation (http://www.apache.org/).

It includes software from other Apache Software Foundation projects,
including, but not limited to:
  - Apache Lucene Java
  - Apache Solr
  - Apache Hadoop
  - Apache Commons
  - Apache Spark
  - Apache Flink

This product includes software from the SLF4J project
  http://www.slf4j.org/
  Copyright (c) 2004-2016 QOS.ch

This product includes software developed by the Indiana University
  Extreme! Lab (http://www.extreme.indiana.edu/).
  Copyright (c) 2002 Extreme! Lab, Indiana University.

This product includes a JUnit jar: http://junit.sourceforge.net/
License: Common Public License - v 1.0 (http://junit.sourceforge.net/cpl-v10.html)
Copyright (c) 2000-2006, www.hamcrest.org

This product includes code from the XStream project (http://xstream.codehaus.org/)
Copyright (c) 2003-2006, Joe Walnes
Copyright (c) 2006-2007, XStream Committers

This product includes tests written with EasyMock 
Copyright 2001-2007 Tammo Freese (http://www.easymock.org/)

This product uses the Breast Cancer Wisconsin (Diagnostic) Dataset from the
UCI Machine Learning Repository
[http://www.ics.uci.edu/~mlearn/MLRepository.html,
 http://archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+(Diagnostic)].

