Breeze alternatives and similar packages
Based on the "Science and Data Analysis" category.
Alternatively, view Breeze alternatives based on common mentions on social networks and blogs.
-
MLLib
Apache Spark - A unified analytics engine for large-scale data processing -
PredictionIO
PredictionIO, a machine learning server for developers and ML engineers. -
Zeppelin
Web-based notebook that enables data-driven, interactive data analytics and collaborative documents with SQL, Scala and more. -
Spark Notebook
Interactive and Reactive Data Science using Scala and Spark. -
Tensorflow_scala
TensorFlow API for the Scala Programming Language -
Squants
The Scala API for Quantities, Units of Measure and Dimensional Analysis -
FACTORIE
FACTORIE is a toolkit for deployable probabilistic modeling, implemented as a software library in Scala. It provides its users with a succinct language for creating relational factor graphs, estimating parameters and performing inference. -
ND4S
ND4S: N-Dimensional Arrays for Scala. Scientific Computing a la Numpy. Based on ND4J. -
OpenMOLE
Workflow engine for exploration of simulation models using high throughput computing -
Clustering4Ever
C4E, a JVM friendly library written in Scala for both local and distributed (Spark) Clustering. -
Optimus * 96
Optimus is a mathematical programming library for Scala. -
rscala
The Scala interpreter is embedded in R and callbacks to R from the embedded interpreter are supported. Conversely, the R interpreter is embedded in Scala. -
Synapses
A group of neural-network libraries for functional and mainstream languages -
Axle
Axle Domain Specific Language for Scientific Cloud Computing and Visualization
Clean code begins in your IDE with SonarLint
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Breeze or a related project?
Popular Comparisons
README
Breeze 
Breeze is a library for numerical processing. It aims to be generic, clean, and powerful without sacrificing (much) efficiency.
This is the 2.x branch. The 1.x branch is 1.x
.
The latest release is 2.1.0, which is cross-built against Scala 3.1, 2.12, and 2.13.
Documentation
- https://github.com/scalanlp/breeze/wiki/Quickstart
- https://github.com/scalanlp/breeze/wiki/Linear-Algebra-Cheat-Sheet
- Scaladoc (Scaladoc is typically horribly out of date, and not a good way to learn Breeze.)
- There is also the scala-breeze google group for general questions and discussion.
Using Breeze
Building it yourself
This project can be built with SBT 1.2+
SBT
For SBT, add these lines to your SBT project definition:
libraryDependencies ++= Seq(
// Last stable release
"org.scalanlp" %% "breeze" % "2.1.0",
// The visualization library is distributed separately as well.
// It depends on LGPL code
"org.scalanlp" %% "breeze-viz" % "2.1.0"
)
Previous versions of Breeze included a "breeze-natives" artifact that bundled various native libraries. As of Breeze 1.3, we now use a faster, more friendly-licensed library from @luhenry called simply "netlib". This library is now bundled by default.
Maven
Maven looks like this:
<dependency>
<groupId>org.scalanlp</groupId>
<artifactId>breeze_2.13</artifactId>
<version>2.1.0</version>
</dependency>
Other build tools
[http://mvnrepository.com/artifact/org.scalanlp/breeze_2.12/2.1.0] (as an example) is a great resource for finding other configuration examples for other build tools.
See documentation (linked above!) for more information on using Breeze.
History
Breeze is the merger of the ScalaNLP and Scalala projects, because one of the original maintainers is unable to continue development. The Scalala parts are largely rewritten.
(c) David Hall, 2009 -
Portions (c) Daniel Ramage, 2009 - 2011
Contributions from:
- Jason Zaugg (@retronym)
- Alexander Lehmann (@afwlehmann)
- Jonathan Merritt (@lancelet)
- Keith Stevens (@fozziethebeat)
- Jason Baldridge (@jasonbaldridge)
- Timothy Hunter (@tjhunter)
- Dave DeCaprio (@DaveDeCaprio)
- Daniel Duckworth (@duckworthd)
- Eric Christiansen (@emchristiansen)
- Marc Millstone (@splittingfield)
- Mérő László (@laci37)
- Alexey Noskov (@alno)
- Devon Bryant (@devonbryant)
- Kentaroh Takagaki (@ktakagaki)
- Sam Halliday (@fommil)
- Chris Stucchio (@stucchio)
- Xiangrui Meng (@mengxr)
- Gabriel Schubiner (@gabeos)
- Debasish Das (@debasish83)
- Julien Dumazert (@DumazertJulien)
- Matthias Langer (@bashimao)
- Mohamed Kafsi (@mou7)
- Max Thomas (@maxthomas)
- @qilab
- Weichen Xu (@WeichenXu123)
- Sergei Lebedev (@superbobry)
- Zac Blanco (@ZacBlanco)
Corporate (Code) Contributors:
- Semantic Machines (@semanticmachines)
- ContentSquare
- Big Data Analytics, Verizon Lab, Palo Alto
- crealytics GmbH, Berlin/Passau, Germany
And others (contact David Hall if you've contributed and aren't listed).
Common Issues
Segmentation Fault or Other Crashes on Linux
Netlib, the new low level BLAS library Breeze uses, in turn uses OpenBLAS by default on Linux, which has some quirky behavior w.r.t. threading. (Please see https://github.com/luhenry/netlib/issues/2). As work arounds:
- Use MKL, if possible
- Increase the size of the stack of Java threads with
-Xss10M
(set the Java threads' stack size to 10 Mbytes) - Make sure OpenBLAS doesn't use the parallel implementation by defining the environment variable
OPENBLAS_NUM_THREADS=1
- Compile a custom version of OpenBLAS that unconditionally define
USE_ALLOC_HEAP
at https://github.com/xianyi/OpenBLAS/blob/develop/lapack/getrf/getrf_parallel.c#L49
*Note that all licence references and agreements mentioned in the Breeze README section above
are relevant to that project's source code only.