Skip to content

Releases: BerriJ/profoc

Release 1.3.3

22 Sep 06:20
1.3.3
e8049b5
Compare
Choose a tag to compare

Improvements

  • We adjusted the integration of rcpptimer. This simplifies the code and makes use of the API of rcpptimer 1.2.0 which is expected to be stable.

Full Changelog: 1.2.1...1.3.3

Release 1.3.2

26 Mar 10:30
1.3.2
c84315d
Compare
Choose a tag to compare

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

15 Jan 11:46
1.3.1
56b6e5c
Compare
Choose a tag to compare

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

10 Jan 12:58
1.3.0
4a4c412
Compare
Choose a tag to compare

Improvements

  • New articles explain how to use methods on online() objects to deploy online learning algorithms in production.
  • The conline C++ class now exposes weights 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 and make_hat_mats
  • The code of online() was simplified a bit by utilizing the new init_experts_list() function.
  • Function post_process_model() was improved and is now exposed to be used in conjunction with the conline 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

28 Aug 07:30
1.2.1
8ae321f
Compare
Choose a tag to compare

Improvements

  • online() outputs now include predictions_got_sorted. A matrix which indicates whether quantile crossing occured and predictions have been sorted.
  • tidy() methods were added to convert weights, predictions and loss objects of online() 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

13 Jun 10:18
1.2.0
f16a0f4
Compare
Choose a tag to compare

Improvements:

  • Periodic splines and penalties added for smoothing the weights in online().

Internal changes

  • profoc now depends on R >= 4.3.0 to ensure C++17 support.

Release 1.1.1

03 Mar 08:10
1.1.1
f65e983
Compare
Choose a tag to compare

Fixes:

  • Distribution of the knots is now correct for ncp < 0.

Release 1.1.0

13 Jan 16:07
1.1.0
dd78e91
Compare
Choose a tag to compare

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

23 Dec 11:28
1.0.0
41df15c
Compare
Choose a tag to compare

Changes:

  • Now, online() saves memory by not reporting past_performance and past_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 setting save_past_performance = TRUE and save_past_predictions_grid = TRUE in online().

Internal changes

  • Minor fixes and improvements to online() to reduce memory usage.

Release 0.9.5

16 Dec 11:07
0.9.5
813947f
Compare
Choose a tag to compare

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 to sample.int() and also respects seeds set by set.seed().