Skip to content

META track sample_weight support for all estimators #33457

@lorentzenchr

Description

@lorentzenchr

The goal of this issue is to track the support of estimator.fit(X, y, sample_weight=..) throughout the library. As of scikit-learn version 1.8:

  • sklearn.cluster.AffinityPropagation
  • sklearn.cluster.AgglomerativeClustering
  • sklearn.cluster.Birch
  • sklearn.cluster.FeatureAgglomeration
  • sklearn.cluster.HDBSCAN
  • sklearn.cluster.MeanShift
  • sklearn.cluster.OPTICS
  • sklearn.cluster.SpectralClustering
  • sklearn.compose.TransformedTargetRegressor
  • sklearn.cross_decomposition.CCA
  • sklearn.cross_decomposition.PLSCanonical
  • sklearn.cross_decomposition.PLSRegression
  • sklearn.discriminant_analysis.LinearDiscriminantAnalysis
  • sklearn.discriminant_analysis.QuadraticDiscriminantAnalysis
  • sklearn.ensemble.HistGradientBoostingClassifier and HistGradientBoostingRegressor binning (added manually)
    Added sample weight handling to BinMapper under HGBT #29641
  • sklearn.ensemble.StackingClassifier
  • sklearn.ensemble.StackingRegressor
  • sklearn.ensemble.VotingClassifier
  • sklearn.ensemble.VotingRegressor
  • sklearn.gaussian_process.GaussianProcessClassifier
  • sklearn.gaussian_process.GaussianProcessRegressor, A possible alternative to alpha at fit-time for GaussianProcessRegressor #7975, FEA Add sample variance support for GaussianProcessRegressor.fit #24188
  • sklearn.linear_model.ARDRegression
  • sklearn.linear_model.Lars
  • sklearn.linear_model.LarsCV
  • sklearn.linear_model.LassoLars
  • sklearn.linear_model.LassoLarsCV
  • sklearn.linear_model.LassoLarsIC
  • sklearn.linear_model.MultiTaskElasticNet
    ENH add sparse and sample_weight support to MultiTaskElasticNet #33440
  • sklearn.linear_model.MultiTaskElasticNetCV
    ENH add sparse and sample_weight support to MultiTaskElasticNet #33440
  • sklearn.linear_model.MultiTaskLasso
    ENH add sparse and sample_weight support to MultiTaskElasticNet #33440
  • sklearn.linear_model.MultiTaskLassoCV
    ENH add sparse and sample_weight support to MultiTaskElasticNet #33440
  • sklearn.linear_model.OrthogonalMatchingPursuit
  • sklearn.linear_model.OrthogonalMatchingPursuitCV
  • sklearn.linear_model.PassiveAggressiveClassifier
    deprecated
  • sklearn.linear_model.PassiveAggressiveRegressor
    deprecated
  • sklearn.linear_model.TheilSenRegressor
  • sklearn.model_selection.FixedThresholdClassifier
  • sklearn.model_selection.TunedThresholdClassifierCV
  • sklearn.multiclass.OneVsOneClassifier
  • sklearn.multiclass.OneVsRestClassifier
  • sklearn.multioutput.ClassifierChain
  • sklearn.multiclass.OutputCodeClassifier
  • sklearn.multioutput.RegressorChain
  • sklearn.neighbors.KNeighborsClassifier
  • sklearn.neighbors.KNeighborsRegressor
  • sklearn.neighbors.NearestCentroid
  • sklearn.neighbors.RadiusNeighborsClassifier
  • sklearn.neighbors.RadiusNeighborsRegressor
  • sklearn.semi_supervised.LabelPropagation
  • sklearn.semi_supervised.LabelSpreading
  • sklearn.semi_supervised.SelfTrainingClassifier

Code to generate that list

from inspect import signature
import sklearn
from sklearn.utils import all_estimators
from sklearn.utils._test_common.instance_generator import _construct_instances

[est for name, est in all_estimators(type_filter=["classifier", "regressor", "cluster"]) if "sample_weight" not in signature(next(_construct_instances(est)).fit).parameters]

Metadata

Metadata

Assignees

No one assigned

    Labels

    Meta-issueGeneral issue associated to an identified list of tasks

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions