skada.MMDTarSReweightAdapter

class skada.MMDTarSReweightAdapter(gamma, reg=1e-10, tol=1e-06, max_iter=1000)[source]

Target shift reweighting using MMD.

The idea of MMDTarSReweight is to find an importance estimate beta(y) such that the Maximum Mean Discrepancy (MMD) divergence between the source input density p_source(x) to its estimate p_target(x) is minimized under the assumption of equal conditional distributions p(x|y) for both source and target domains.

See Section 3 of [21] for details.

Warning

This adapter uses a nearest neighbors approach to compute weights when adapting on source data different from the fitted source data.

Parameters:
gammafloat or array like

Parameters for the kernels.

regfloat, default=1e-10

Regularization parameter for the labels kernel matrix.

tolfloat, default=1e-6

Tolerance for the stopping criterion in the optimization.

max_iterint, default=1000

Number of maximum iteration before stopping the optimization.

References

[21]

Kun Zhang et. al. Domain Adaptation under Target and Conditional Shift In ICML, 2013.

Attributes:
`source_weights_`array-like, shape (n_samples,)

The learned source weights.

`alpha_`array-like, shape (n_classes,) or (n_samples,)

The learned kernel weights.

`X_source_`array-like, shape (n_samples, n_features)

The source data.

fit(X, y=None, *, sample_domain=None)[source]

Fit adaptation parameters.

Parameters:
Xarray-like, shape (n_samples, n_features)

The source data.

yarray-like, shape (n_samples,)

The source labels.

sample_domainarray-like, shape (n_samples,)

The domain labels (same as sample_domain).

Returns:
selfobject

Returns self.

set_fit_request(*, sample_domain: bool | None | str = '$UNCHANGED$') MMDTarSReweightAdapter

Request metadata passed to the fit method.

Note that this method is only relevant if enable_metadata_routing=True (see sklearn.set_config()). Please see User Guide on how the routing mechanism works.

The options for each parameter are:

  • True: metadata is requested, and passed to fit if provided. The request is ignored if metadata is not provided.

  • False: metadata is not requested and the meta-estimator will not pass it to fit.

  • None: metadata is not requested, and the meta-estimator will raise an error if the user provides it.

  • str: metadata should be passed to the meta-estimator with this given alias instead of the original name.

The default (sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others.

Added in version 1.3.

Note

This method is only relevant if this estimator is used as a sub-estimator of a meta-estimator, e.g. used inside a Pipeline. Otherwise it has no effect.

Parameters:
sample_domainstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

Metadata routing for sample_domain parameter in fit.

Returns:
selfobject

The updated object.

set_transform_request(*, allow_source: bool | None | str = '$UNCHANGED$', sample_domain: bool | None | str = '$UNCHANGED$') MMDTarSReweightAdapter

Request metadata passed to the transform method.

Note that this method is only relevant if enable_metadata_routing=True (see sklearn.set_config()). Please see User Guide on how the routing mechanism works.

The options for each parameter are:

  • True: metadata is requested, and passed to transform if provided. The request is ignored if metadata is not provided.

  • False: metadata is not requested and the meta-estimator will not pass it to transform.

  • None: metadata is not requested, and the meta-estimator will raise an error if the user provides it.

  • str: metadata should be passed to the meta-estimator with this given alias instead of the original name.

The default (sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others.

Added in version 1.3.

Note

This method is only relevant if this estimator is used as a sub-estimator of a meta-estimator, e.g. used inside a Pipeline. Otherwise it has no effect.

Parameters:
allow_sourcestr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

Metadata routing for allow_source parameter in transform.

sample_domainstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

Metadata routing for sample_domain parameter in transform.

Returns:
selfobject

The updated object.