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
(seesklearn.set_config()
). Please see User Guide on how the routing mechanism works.The options for each parameter are:
True
: metadata is requested, and passed tofit
if provided. The request is ignored if metadata is not provided.False
: metadata is not requested and the meta-estimator will not pass it tofit
.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 infit
.
- 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
(seesklearn.set_config()
). Please see User Guide on how the routing mechanism works.The options for each parameter are:
True
: metadata is requested, and passed totransform
if provided. The request is ignored if metadata is not provided.False
: metadata is not requested and the meta-estimator will not pass it totransform
.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 intransform
.- sample_domainstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED
Metadata routing for
sample_domain
parameter intransform
.
- Returns:
- selfobject
The updated object.