Parallel for loops (Map or Reduce) + New versions of nnetsauce and ahead
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
nnetsauce
The news are (reminder: the nnetsauce.Lazy*
s do automated Machine Learning benchmarking of multiple models):
- Update
LazyDeepMTS
: no moreLazyMTS
class, instead, you can useLazyDeepMTS
withn_layers=1
- Specify forecasting horizon in
LazyDeepMTS
(see updated docs and examples/lazy_mts_horizon.py) - New class
ClassicalMTS
for classsical models (for now VAR and VECM adapted from statsmodels for a unified interface in nnetsauce) in multivariate time series forecasting (not available inLazyDeepMTS
yet) partial_fit
forCustomClassifier
andCustomRegressor
ahead
The Python version now contains a class FitForecaster
, that does conformalized time series forecasting (that is, with uncertainty quantification). It is similar to R’s ahead::fitforecast
and an example can be found here:
https://github.com/Techtonique/ahead_python/blob/main/examples/fitforecaster.py
misc
misc
is a package of utility functions that I use frequently and always wanted to have stored somewhere. The functions are mostly short, but (hopefully) doing one thing well, and powerful. misc::parfor
is adapted from the excellent foreach::foreach
. The difference is: misc::parfor
calls a function in a loop. Two of the advantages of misc::parfor
over foreach::foreach
are:
- you don’t have to register a parallel backend before using it. Just specify
cl
to use parallel processing (NULL
for all the cores). - you can directly monitor the progress of parallel computation with a progress bar.
Here are a few examples of use of misc::parfor
:
Installation
devtools::install_github("thierrymoudiki/misc") library(misc)
Map
misc::parfor(function(x) x^2, 1:10) misc::parfor(function(x) x^2, 1:10, cl = 2) misc::parfor(function(x) x^2, 1:10, verbose = TRUE) misc::parfor(function(x) x^3, 1:10, show_progress = FALSE) misc::parfor(function(x) x^3, 1:10, show_progress = FALSE) foo <- function(x) { print(x) return(x*0.5) } misc::parfor(foo, 1:10, show_progress = FALSE, verbose = TRUE, combine = rbind) misc::parfor(foo, 1:10, show_progress = FALSE, verbose = TRUE, combine = cbind)
Reduce
foo2 <- function(x) { print(x) return(x*0.5) } misc::parfor(foo2, 1:10, show_progress = FALSE, verbose = TRUE, combine = '+')
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.