Skip to content

Releases: haifengl/smile

1.5.1

26 Feb 02:38
Compare
Choose a tag to compare
  1. Performance improvement of hierarchical clustering
  2. Bug fixes.

1.5.0

10 Nov 04:11
Compare
Choose a tag to compare
  1. DataFrame
  2. New Shell for Mac and Linux
  3. Shell improvement for Windows
  4. Out of box support of native LAPACK for Windows
  5. Scala functions to export AttributeDataset, double[][], double[] to ARFF or CSV
  6. Scala functions for validation measures
  7. Refactor feature transformation and generation classes
  8. NeuralNetwork for regression
  9. Recursive least squares
  10. Refactor Scala NLP API
  11. Bug fixes

1.4.0

06 Aug 15:04
Compare
Choose a tag to compare
  1. Add smile-netlib module that leverages native BLAS/LAPACK for matrix computation. See below for the details how to enable it.
  2. Add t-SNE implementation.
  3. Improve LLE and Laplacian Eigenmaps performance.
  4. Export DecisionTree and RegressionTree to Graphviz dot file for visualization.
  5. Smile shell is now based on Scala 2.12.
  6. Bug fixes.

To enable machine optimized matrix computation, the users should add
the dependency of smile-netlib:

    <dependency>
      <groupId>com.github.haifengl</groupId>
      <artifactId>smile-netlib</artifactId>
      <version>1.4.0</version>
    </dependency>

and also make their machine-optimised libblas3 (CBLAS) and liblapack3 (Fortran)
available as shared libraries at runtime.

OS X

Apple OS X requires no further setup as it ships with the veclib framework.

Linux

Generically-tuned ATLAS and OpenBLAS are available with most distributions
and must be enabled explicitly using the package-manager. For example,

  • sudo apt-get install libatlas3-base libopenblas-base
  • sudo update-alternatives --config libblas.so
  • sudo update-alternatives --config libblas.so.3
  • sudo update-alternatives --config liblapack.so
  • sudo update-alternatives --config liblapack.so.3

However, these are only generic pre-tuned builds. If you have an Intel MKL licence,
you could also create symbolic links from libblas.so.3 and liblapack.so.3 to libmkl_rt.so
or use Debian's alternatives system.

Windows

The native_system builds expect to find libblas3.dll and liblapack3.dll
on the %PATH% (or current working directory). Besides vendor-supplied
implementations, OpenBLAS provide generically tuned binaries, and it
is possible to build ATLAS.

1.3.1

03 May 02:52
Compare
Choose a tag to compare

Bug fixes.

1.3.0

27 Mar 13:33
Compare
Choose a tag to compare
  1. A new design of matrix library
  2. Native matrix computation based on ND4j
  3. Scala DSL for matrix computation
  4. Update project website
  5. Various bug fixes.

1.2.3

07 Mar 18:59
Compare
Choose a tag to compare

Various bug fixes.

1.2.1

02 Dec 21:06
Compare
Choose a tag to compare
  1. Performance improvement, especially LASSO
  2. Row major matrix and column major matrix in addition to existing Matrix(double[][])
  3. Random Forest serializable
  4. Reduce the memory footprint of DecisionTree, RandomForest, etc.
  5. Scala API for Scala 2.10
  6. Bug fixes

1.2.0

16 Aug 00:51
Compare
Choose a tag to compare

The key features of the 1.2.0 release are:

  • Headless plot. Smile’s plot functions depends on Java Swing. In server applications, it is needed to generate plots without creating Swing windows. With headless plot (enabled by -Djava.awt.headless=true JVM options), we can create plots as follows:
val canvas = ScatterPlot.plot(x, '.')

val headless = new Headless(canvas);
headless.pack();
headless.setVisible(true);

canvas.save(new java.io.File("zone.png"))

  • All classification and regression models can be serialized by
write(model) // Java serialization

or

write.xstream(model) // XStream serialization
  • Refactor of smile.io Scala API.
    • Parsers are in smile.read object.
    • Parse JDBC ResultSet to AttributeDataset.
    • Model serialization methods in smile.write object.
  • Platt scaling for SVM
  • Smile NLP tokenizers are unicode-aware.
  • Least squares can handle rank deficient now.
  • Various code improvements.

1.1.0

17 Mar 20:20
Compare
Choose a tag to compare

Smile 1.1.0 rocks the new Scala API and shell for quick development.