Skip to content

Releases: CitrineInformatics/lolo

v6.6.2 is released

18 Feb 16:11
8b539a4

Choose a tag to compare

This release includes a number of minor fixes that came up because of increasing our test coverage.

  • Nearly 100% test coverage for Python
  • Pickling and unpickling models is now compatible with latest scikit-learn
  • Fixed subtle pathing issues for locating the jar

Thanks to @WardLT for finding a issue with model pickling and submitting a fix!

Full Changelog: v6.6.1...v6.6.2

v6.6.1 is released

14 Feb 00:05
9da2409

Choose a tag to compare

This is a minor maintenance release, with the primary effect of dropping support for Python 3.8 for security reasons.

Lolo v6.1.1 are released!

24 Aug 22:20
fc089f8

Choose a tag to compare

A patch release to update some dependencies.

Lolo v6.1.0 is released!

10 Apr 21:46
ca57f3d

Choose a tag to compare

This release exposes new exception types for when a bagged model has insufficient training data.

Lolo v6.0.3 is released!

19 Dec 22:23
75d8619

Choose a tag to compare

This is a patch release to fix a roundoff error that sometimes occurred in the "Guess The Mean" learner.

Lolo v6.0.2 is released!

09 Dec 01:20
06cd3bf

Choose a tag to compare

This is a patch release to fix a bug that sometimes resulted in deadlocks during the parallelized predictions of the Bagger and MultiTaskBagger traits.

Lolo v6.0.1 is released!

11 Nov 02:33
0ae69bd

Choose a tag to compare

This is a patch release to exclude logging dependencies from the Lolo compile class path.

Lolo v6.0.0 and Lolopy v3.0.0 are released!

08 Nov 17:40
a6bf075

Choose a tag to compare

The newest version of Lolo incorporates a variety of internal changes aimed at improving type stability and code readability. These include

  • Transitioning to a parameterized Learner[T] interface with T representing the type of labeled data
  • Unifying the Learner[T] and MultiTaskLearner type hierarchy
  • Introducing a TrainingRow[T] class for ingesting and storing training data
  • Separating the Bagger[T] and Standardizer[T] implementations based on regression and classification

Lolo v6.0.0 also includes a couple new features, including:

  • Introduction of a MultiTaskLinearRegressionLearner to perform ridge regression on multiple real-valued labels

Lolopy v3.0.0 includes breaking updates to maintain compatibility with the newest version of Lolo.

LoloPy version 2.0.0 is released!

07 Oct 16:00
4553195

Choose a tag to compare

LoloPy version 2 is the companion to Lolo version 5.

Lolo Version 5.0.0 is released!

06 Oct 22:56
3640767

Choose a tag to compare

Lolo v5.0.0 🎉

The theme of this release is fully deterministic model training. Previously, two otherwise-identical bagged learners would produce slightly different models, even when trained with the same seed, because of non-deterministic parallel processing. With this release, the same seed will produce the exact same results.

As part of making this change we moved random seeds and random number generators from objects to methods. Previously in LoloPy you could instantiate a rf = RandomForestRegressor(random_seed=seed) and then call rf.fit(X, y). Now there is no random_seed parameter in the constructor. Instead you call rf.fit(X, y, random_seed=seed). The reasons for this change are discussed in #288.

In addition to making training fully deterministic (#288, #289), we have made several smaller changes as well.

  • Remove support for Scala 2.12 (#288) and Python 3.7 (#291)
  • Make several methods and classes more Scala-idiomatic (#289)
  • MultiTaskTree now takes a splitter in its constructor instead of taking a Boolean randomizePivotLocations flag
  • Remove the no-longer-necessary Async pattern (#290)
  • Upgrade to the most recent version of most dependencies and plugins (#291)
  • Update the references and features in the README (#292)

Full Changelog: v4.1.9...v5.0.0