- Moved all the public modules imports from
river/__init__.py
toriver/api.py
and removed unnecessary dependencies between modules enabling faster cherry-picked import times (~3x). - Adding wheels for Python 3.11.
- Introduced an
mutate
method to thebase.Base
class. This allows setting attributes in a controlled manner, which paves the way for online AutoML. See the recipe for more information.
- Moved the PyTorch wrappers to river-extra.
- Created a new
covariance
module to hold everything related to covariance and inversion covariance matrix estimation. - Moved
misc.CovarianceMatrix
tocovariance.EmpiricalCovariance
. - Added
covariance.EmpiricalPrecision
to estimate the inverse covariance matrix.
- Moved
utils.pure_inference_mode
tocompose.pure_inference_mode
andutils.warm_up_mode
tocompose.warm_up_mode
. - Pipeline parts can now be accessed by integer positions as well as by name.
- Imports
synth
, enablingfrom river import datasets; datasets.synth
.
- Refactor the concept drift detectors to match the remaining of River's API. Warnings are only issued by detectors that support this feature.
- Drifts can be assessed via the property
drift_detected
. Warning signals can be acessed by the propertywarning_detected
. Theupdate
now returnsself
. - Ensure all detectors automatically reset their inner states after a concept drift detection.
- Streamline
DDM
,EDDM
,HDDM_A
, andHDDM_W
. Make the configurable parameters names match their respective papers. - Fix bugs in
EDDM
andHDDM_W
. - Enable two-sided tests in
PageHinkley
. - Improve documentation and update tests.
- Added a
tokenizer_pattern
parameter tofeature_extraction.BagOfWords
andfeature_extraction.TFIDF
to override the default pattern used for tokenizing text. - Added a
stop_words
parameter tofeature_extraction.BagOfWords
andfeature_extraction.TFIDF
for removing stop words once the text has been tokenized.
- After long ado, we've finally implemented
linear_model.BayesianLinearRegression
.
- Removed dependency to
optim
. - Removed
metrics.Rolling
, due to the addition ofutils.Rolling
. - Removed
metrics.TimeRolling
, due to the addition ofutils.Rolling
.
- Removed
proba.Rolling
, due to the addition ofutils.Rolling
. - Removed
proba.TimeRolling
, due to the addition ofutils.Rolling
.
- The default
splitter
was changed totree.splitter.TEBST
for memory and running time efficiency.
- Removed
stats.RollingMean
, due to the addition ofutils.Rolling
. - Removed
stats.RollingVar
, due to the addition ofutils.Rolling
. - Removed
stats.RollingCov
, due to the addition ofutils.Rolling
. - Removed
stats.RollingPearsonCorr
, due to the addition ofutils.Rolling
.
stream.iter_array
now handles text data.- Added
stream.TwitterLiveStream
, to listen to a filtered live stream of Tweets.
- Added
time_series.HorizonAggMetric
. - Fixed a bug in
time_series.SNARIMAX
where the number of seasonal components was not correct whensp
orsq
were specified. - Fixed the differencing logic in
time_series.SNARIMAX
whend
orsd
were specified.
- Rename
split_confidence
andtie_threshold
todelta
andtau
, respectively. This way, the parameters are not misleading and match what the research papers have used for decades. - Refactor
HoeffdingAdaptiveTree{Classifier,Regressor}
to allow the usage of any drift detector. Expose the significance level of the test used to switch between subtrees as a user-defined parameter. - Correct test used to switch between foreground and background subtrees in
HoeffdingAdaptiveTreeRegressor
. Due to the continuous and unbounded nature of the monitored errors, a z-test is now performed to decide which subtree to keep. - The default
leaf_prediction
value was changed to"adaptive"
, as this often results in the smallest errors in practice. - The default
splitter
was changed totree.splitter.TEBST
for memory and running time efficiency.
- Removed dependencies to
anomaly
andcompose
. - Added
utils.Rolling
andutils.TimeRolling
, which are generic wrappers for computing over a window (of time). - Use binary search to speed-up element removal in
utils.SortedWindow
.