adapt.feature_based.TCA

classadapt.feature_based.TCA(estimator=None,Xt=None,n_components=20,mu=0.1,kernel='rbf',copy=True,verbose=1,random_state=None,**params)[source]

TCA : Transfer Component Analysis

Parameters
estimatorsklearn estimator or tensorflow Model (default=None)

Estimator used to learn the task. If estimator isNone, aLinearRegressioninstance is used as estimator.

Xtnumpy array (default=None)

Target input data.

n_componentsint or float (default=None)

Number of components to keep.

mufloat (default=0.1)

Regularization parameter. The largermu is, the less adaptation is performed.

copyboolean (default=True)

Whether to make a copy ofestimator or not.

verboseint (default=1)

Verbosity level.

random_stateint (default=None)

Seed of random generator.

paramskey, value arguments

Arguments given at the different level of the adapt object.It can be, for instance, compile or fit parameters of theestimator or kernel parameters etc…Accepted parameters can be found by calling the method_get_legal_params(params).

See also

CORAL
FA

References

1

[1] S. J. Pan, I. W. Tsang, J. T. Kwok and Q. Yang. “Domain Adaptation via Transfer Component Analysis”. In IEEE transactions on neural networks 2010

Examples

>>>fromsklearn.linear_modelimportRidgeClassifier>>>fromadapt.utilsimportmake_classification_da>>>fromadapt.feature_basedimportTCA>>>Xs,ys,Xt,yt=make_classification_da()>>>model=TCA(RidgeClassifier(),Xt=Xt,n_components=1,mu=0.1,...kernel="rbf",gamma=0.1,verbose=0,random_state=0)>>>model.fit(Xs,ys)>>>model.score(Xt,yt)0.93
Attributes
estimator_object

Estimator.

Methods

__init__([estimator, Xt, n_components, mu, ...])

fit(X, y[, Xt, yt, domains])

Fit Adapt Model.

fit_estimator(X, y[, sample_weight, ...])

Fit estimator on X, y.

fit_transform(Xs, Xt, **kwargs)

Fit embeddings.

get_metadata_routing()

Get metadata routing of this object.

get_params([deep])

Get parameters for this estimator.

predict(X[, domain])

Return estimator predictions after adaptation.

predict_estimator(X, **predict_params)

Return estimator predictions for X.

score(X, y[, sample_weight, domain])

Return the estimator score.

set_fit_request(*[, domains])

Request metadata passed to thefit method.

set_params(**params)

Set the parameters of this estimator.

set_predict_request(*[, domain])

Request metadata passed to thepredict method.

set_score_request(*[, domain, sample_weight])

Request metadata passed to thescore method.

set_transform_request(*[, domain])

Request metadata passed to thetransform method.

transform(X[, domain])

Return aligned features for X.

unsupervised_score(Xs, Xt)

Return unsupervised score.

__init__(estimator=None,Xt=None,n_components=20,mu=0.1,kernel='rbf',copy=True,verbose=1,random_state=None,**params)[source]
fit(X,y,Xt=None,yt=None,domains=None,**fit_params)[source]

Fit Adapt Model.

For feature-based models, the transformation of theinput featuresXs andXt is first fitted. In a secondstage, theestimator_ is fitted on the transformed features.

For instance-based models, source importance weights arefirst learned based onXs,ys andXt. In a secondstage, theestimator_ is fitted onXs,ys with the learnedimportance weights.

Parameters
Xnumpy array

Source input data.

ynumpy array

Source output data.

Xtarray (default=None)

Target input data. If None, theXt argumentgiven ininit is used.

ytarray (default=None)

Target input data. Only needed for supervisedand semi-supervised Adapt model.If None, theyt argument given ininit is used.

domainsarray (default=None)

Vector giving the domain for each sourcedata. Can be used for multisource purpose.

fit_paramskey, value arguments

Arguments given to the fit method ofthe estimator.

Returns
selfreturns an instance of self
fit_estimator(X,y,sample_weight=None,random_state=None,warm_start=True,**fit_params)[source]

Fit estimator on X, y.

Parameters
Xarray

Input data.

yarray

Output data.

sample_weightarray

Importance weighting.

random_stateint (default=None)

Seed of the random generator

warm_startbool (default=True)

If True, continue to fitestimator_,else, a new estimator is fitted based ona copy ofestimator. (Be sure to setcopy=True to usewarm_start=False)

fit_paramskey, value arguments

Arguments given to the fit method ofthe estimator and to the compile methodfor tensorflow estimator.

Returns
estimator_fitted estimator
fit_transform(Xs,Xt,**kwargs)[source]

Fit embeddings.

Parameters
Xsarray

Input source data.

Xtarray

Input target data.

kwargskey, value argument

Not used, present here for adapt consistency.

Returns
Xs_embembedded source data
get_metadata_routing()[source]

Get metadata routing of this object.

Please checkUser Guide on how the routingmechanism works.

Returns
routingMetadataRequest

AMetadataRequest encapsulatingrouting information.

get_params(deep=True)[source]

Get parameters for this estimator.

Parameters
deepbool, default=True

Not used, here for scikit-learn compatibility.

Returns
paramsdict

Parameter names mapped to their values.

predict(X,domain=None,**predict_params)[source]

Return estimator predictions afteradaptation.

For feature-based method (object which implementsatransform method), the input featureXare first transformed. Then thepredict methodof the fitted estimatorestimator_ is appliedon the transformedX.

Parameters
Xarray

input data

domainstr (default=None)

For antisymetric feature-based method,different transformation of the input Xare applied for different domains. The domainshould then be specified between “src” and “tgt”.IfNone the default transformation is thetarget one.

Returns
y_predarray

prediction of the Adapt Model.

predict_estimator(X,**predict_params)[source]

Return estimator predictions for X.

Parameters
Xarray

input data

Returns
y_predarray

prediction of estimator.

score(X,y,sample_weight=None,domain=None)[source]

Return the estimator score.

If the object has atransform method, theestimator is applied on the transformedfeatures X. For antisymetric transformation,a parameter domain can be set to specifiedbetween source and target transformation.

Callscore on sklearn estimator andevaluate on tensorflow Model.

Parameters
Xarray

input data

yarray

output data

sample_weightarray (default=None)

Sample weights

domainstr (default=None)

This parameter specifies for antisymetricfeature-based method which transformationwill be applied between “source” and “target”.IfNone the transformation by default isthe target one.

Returns
scorefloat

estimator score.

set_fit_request(*,domains:Union[bool,None,str]='$UNCHANGED$')adapt.feature_based._tca.TCA[source]

Request metadata passed to thefit method.

Note that this method is only relevant ifenable_metadata_routing=True (seesklearn.set_config()).Please seeUser Guide on how the routingmechanism 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 theexisting request. This allows you to change the request for someparameters and not others.

New in version 1.3.

Note

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

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

Metadata routing fordomains parameter infit.

Returns
selfobject

The updated object.

set_params(**params)[source]

Set the parameters of this estimator.

Parameters
**paramsdict

Estimator parameters.

Returns
selfestimator instance

Estimator instance.

set_predict_request(*,domain:Union[bool,None,str]='$UNCHANGED$')adapt.feature_based._tca.TCA[source]

Request metadata passed to thepredict method.

Note that this method is only relevant ifenable_metadata_routing=True (seesklearn.set_config()).Please seeUser Guide on how the routingmechanism works.

The options for each parameter are:

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

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

  • 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 theexisting request. This allows you to change the request for someparameters and not others.

New in version 1.3.

Note

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

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

Metadata routing fordomain parameter inpredict.

Returns
selfobject

The updated object.

set_score_request(*,domain:Union[bool,None,str]='$UNCHANGED$',sample_weight:Union[bool,None,str]='$UNCHANGED$')adapt.feature_based._tca.TCA[source]

Request metadata passed to thescore method.

Note that this method is only relevant ifenable_metadata_routing=True (seesklearn.set_config()).Please seeUser Guide on how the routingmechanism works.

The options for each parameter are:

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

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

  • 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 theexisting request. This allows you to change the request for someparameters and not others.

New in version 1.3.

Note

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

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

Metadata routing fordomain parameter inscore.

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

Metadata routing forsample_weight parameter inscore.

Returns
selfobject

The updated object.

set_transform_request(*,domain:Union[bool,None,str]='$UNCHANGED$')adapt.feature_based._tca.TCA[source]

Request metadata passed to thetransform method.

Note that this method is only relevant ifenable_metadata_routing=True (seesklearn.set_config()).Please seeUser Guide on how the routingmechanism 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 theexisting request. This allows you to change the request for someparameters and not others.

New in version 1.3.

Note

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

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

Metadata routing fordomain parameter intransform.

Returns
selfobject

The updated object.

transform(X,domain='tgt')[source]

Return aligned features for X.

Parameters
Xarray

Input data.

domainstr (default=”tgt”)

Choose between"source","src" or"target","tgt" feature embedding.

Returns
X_embarray

Embeddings of X.

unsupervised_score(Xs,Xt)[source]

Return unsupervised score.

The normalized discrepancy distance is computedbetween the reweighted/transformed source inputdata and the target input data.

Parameters
Xsarray

Source input data.

Xtarray

Source input data.

Returns
scorefloat

Unsupervised score.

Examples