Skip to content

MonteCarloClassifierChain

Monte Carlo Sampling Classifier Chains.

Probabilistic Classifier Chains using Monte Carlo sampling, as described in 1.

m samples are taken from the posterior distribution. Therefore we need a probabilistic interpretation of the output, and thus, this is a particular variety of ProbabilisticClassifierChain.

Parameters

  • model (base.Classifier)

  • m (int) – defaults to 10

    Number of samples to take from the posterior distribution.

  • seed (int) – defaults to None

    Random number generator seed for reproducibility.

Examples

>>> from river import feature_selection
>>> from river import linear_model
>>> from river import metrics
>>> from river import multioutput
>>> from river import preprocessing
>>> from river.datasets import synth

>>> dataset = synth.Logical(seed=42, n_tiles=100)

>>> model = multioutput.MonteCarloClassifierChain(
...     model=linear_model.LogisticRegression(),
...     m=10,
...     seed=42
... )

>>> metric = metrics.multioutput.MicroAverage(metrics.Jaccard())

>>> for x, y in dataset:
...    y_pred = model.predict_one(x)
...    metric = metric.update(y, y_pred)
...    model = model.learn_one(x, y)

>>> metric
MicroAverage(Jaccard): 51.92%

Methods

clear

D.clear() -> None. Remove all items from D.

copy
fromkeys
get

D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None.

Parameters

  • key
  • default – defaults to None
items

D.items() -> a set-like object providing a view on D's items

keys

D.keys() -> a set-like object providing a view on D's keys

learn_one

Update the model with a set of features x and the labels y.

Parameters

  • x
  • y
  • kwargs

Returns

self

pop

D.pop(k[,d]) -> v, remove specified key and return the corresponding value. If key is not found, d is returned if given, otherwise KeyError is raised.

Parameters

  • key
  • default – defaults to <object object at 0x7fb8afa29160>
popitem

D.popitem() -> (k, v), remove and return some (key, value) pair as a 2-tuple; but raise KeyError if D is empty.

predict_one

Predict the labels of a set of features x.

Parameters

  • x (dict)
  • kwargs

Returns

typing.Dict[typing.Hashable, bool]: The predicted labels.

predict_proba_one

Predict the probability of each label appearing given dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

setdefault

D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D

Parameters

  • key
  • default – defaults to None
update

D.update([E, ]**F) -> None. Update D from mapping/iterable E and F. If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

Parameters

  • other – defaults to ()
  • kwds
values

D.values() -> an object providing a view on D's values

References


  1. Read, J., Martino, L., & Luengo, D. (2014). Efficient monte carlo methods for multi-dimensional learning with classifier chains. Pattern Recognition, 47(3), 1535-1546.