Releases: CitrineInformatics/lolo
v6.6.2 is released
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
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!
A patch release to update some dependencies.
Lolo v6.1.0 is released!
Lolo v6.0.3 is released!
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!
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!
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!
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 withTrepresenting the type of labeled data - Unifying the
Learner[T]andMultiTaskLearnertype hierarchy - Introducing a
TrainingRow[T]class for ingesting and storing training data - Separating the
Bagger[T]andStandardizer[T]implementations based on regression and classification
Lolo v6.0.0 also includes a couple new features, including:
- Introduction of a
MultiTaskLinearRegressionLearnerto 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!
LoloPy version 2 is the companion to Lolo version 5.
Lolo Version 5.0.0 is released!
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)
MultiTaskTreenow takes asplitterin its constructor instead of taking a BooleanrandomizePivotLocationsflag- Remove the no-longer-necessary
Asyncpattern (#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