Releases: BerriJ/profoc
Releases · BerriJ/profoc
Release 1.3.3
Improvements
- We adjusted the integration of
rcpptimer
. This simplifies the code and makes use of the API ofrcpptimer
1.2.0 which is expected to be stable.
Full Changelog: 1.2.1...1.3.3
Release 1.3.2
Improvements
- The timer functionality of online was moved to a seperate package rcpptimer. This is now added to profoc as a dependency. The timer-related code was removed. This makes the code more modular and easier to maintain. The timer functionality is now also available for other 'R' packages and even other languages (i.e. Python, via cpptimer and cppytimer).
What's Changed
Full Changelog: 1.3.1...1.3.2
Release 1.3.1
Improvements
- Adjusted the clock.h code so that a larger share of code can be shared between the R and Python versions of that file.
- clock.h now uses welfords online algorithm to calculate the mean and variance of the timings. SD is reported in the times table.
Fixes
- Fixed an integer overflow in the clock.h code which caused the package to fail on some systems.
- Fixed online() function for cases where the regret is exactly zero. This can happen if:
-
- Only a single expert is used
-
- Only two experts are provided and they both have the same predictions (in the beginning).
Release 1.3.0
Improvements
- New articles explain how to use methods on
online()
objects to deploy online learning algorithms in production. - The
conline
C++ class now exposesweights
to R. - A new article on the usage of the
conline
C++ class was added. - Various functions are now exported to R to allow easier interaction with the
conline
C++ class. These functions are:init_experts_list()
,make_basis_mats
andmake_hat_mats
- The code of
online()
was simplified a bit by utilizing the newinit_experts_list()
function. - Function
post_process_model()
was improved and is now exposed to be used in conjunction with theconline
C++ class. - Move aggregation of timings from cppclock.R to clock.h. This make it faster, easier to maintain and simplifies the code (which will be used in python in the future as well).
Release 1.2.1
Improvements
online()
outputs now includepredictions_got_sorted
. A matrix which indicates whether quantile crossing occured and predictions have been sorted.tidy()
methods were added to convertweights
,predictions
and loss objects ofonline()
output to a tibble (for further analysis, plotting etc.)- A Get started article was added to the docs.
- Docs of the development version were added to the website
Fixes
- This release fixes import / export of of the
autoplot()
method. In consequence, ggplot2 became a new dependency of this package.
Release 1.2.0
Improvements:
- Periodic splines and penalties added for smoothing the weights in
online()
.
Internal changes
profoc
now depends onR >= 4.3.0
to ensure C++17 support.
Release 1.1.1
Fixes:
- Distribution of the knots is now correct for
ncp < 0
.
Release 1.1.0
Improvements:
- New
penalty()
function which works with equidistant and knots.
Fixes:
- Calculation of the P-Spline penalty if non-uniform B-Splines are used.
Release 1.0.0
Changes:
- Now,
online()
saves memory by not reportingpast_performance
andpast_predictions_grid
. However, the cumulative performance and the most recent predictions w.r.t to the parameter grid are always included in the output. The former is used internally for choosing the best hyperparameter set, and the latter for updating the weights. Depending on the data and the parameter space considered, both objects may get large. You can still opt-in to include them in the output by settingsave_past_performance = TRUE
andsave_past_predictions_grid = TRUE
inonline()
.
Internal changes
- Minor fixes and improvements to
online()
to reduce memory usage.
Release 0.9.5
Internal changes
- Now,
online()
is able to sample from grids of up to 2^64-1 rows. - The new cpp sampling function
sample_int()
works similar tosample.int()
and also respects seeds set byset.seed()
.