Description
While working #24838, we found out that we are not consistent with the error type and message when calling get_feature_names_out
before fit
.
From @jpangas:
Here is the updated list of the estimators that raise inconsistent errors when
get_feature_names_out
is called beforefit
. Currently, these estimators have been whitelisted. Before we submit any PR for a particular estimator, we can remove the estimator from the list and run the test in #25223 to check if the code we submitted has raised the correctNotFittedError
.
Remember to add your estimator and PR in the same change log entry in
v1.3.rst
introduced in #25294.
Please link the PRs you'll make with this issue so that I can update this list for all of us to know which estimators have been worked on:
- AdditiveChi2Sampler() ENH Raise NotFittedError in get_feature_names_out for AdditiveChi2Sampler #25291
- Binarizer() ENH Raise NotFittedError in get_feature_names_out for estimators that use OnetoOneFeatureMixin #25294
- MaxAbsScaler() ENH Raise NotFittedError in get_feature_names_out for estimators that use OnetoOneFeatureMixin #25294
- MinMaxScaler() ENH Raise NotFittedError in get_feature_names_out for estimators that use OnetoOneFeatureMixin #25294
- Normalizer() ENH Raise NotFittedError in get_feature_names_out for estimators that use OnetoOneFeatureMixin #25294
- OrdinalEncoder() ENH Raise NotFittedError in get_feature_names_out for estimators that use OnetoOneFeatureMixin #25294
- PowerTransformer() ENH Raise NotFittedError in get_feature_names_out for estimators that use OnetoOneFeatureMixin #25294
- QuantileTransformer() ENH Raise NotFittedError in get_feature_names_out for estimators that use OnetoOneFeatureMixin #25294
- RobustScaler() ENH Raise NotFittedError in get_feature_names_out for estimators that use OnetoOneFeatureMixin #25294
- StackingClassifier() ENH Raise NotFittedError in get_feature_names_out for Stacking and Voting - Classifier and Regressor #25324
- StackingRegressor() ENH Raise NotFittedError in get_feature_names_out for Stacking and Voting - Classifier and Regressor #25324
- StandardScaler() ENH Raise NotFittedError in get_feature_names_out for estimators that use OnetoOneFeatureMixin #25294
- TfidfTransformer() ENH Raise NotFittedError in get_feature_names_out for estimators that use OnetoOneFeatureMixin #25294
- VotingClassifier() ENH Raise NotFittedError in get_feature_names_out for Stacking and Voting - Classifier and Regressor #25324
- VotingRegressor() ENH Raise NotFittedError in get_feature_names_out for Stacking and Voting - Classifier and Regressor #25324
- GaussianRandomProjection() ENH Raise NotFittedError in get_feature_names_out for estimators that use ClassNamePrefixFeatureOutMixin and SelectorMixin #25308
- GenericUnivariateSelect() ENH Raise NotFittedError in get_feature_names_out for estimators that use ClassNamePrefixFeatureOutMixin and SelectorMixin #25308
- IterativeImputer() ENH Raise NotFittedError in get_feature_names_out for Imputers and Isotonic Regression #25367
- RFE() ENH Raise NotFittedError in get_feature_names_out for estimators that use ClassNamePrefixFeatureOutMixin and SelectorMixin #25308
- RFECV() ENH Raise NotFittedError in get_feature_names_out for estimators that use ClassNamePrefixFeatureOutMixin and SelectorMixin #25308
- SelectFdr() ENH Raise NotFittedError in get_feature_names_out for estimators that use ClassNamePrefixFeatureOutMixin and SelectorMixin #25308
- SelectFpr() ENH Raise NotFittedError in get_feature_names_out for estimators that use ClassNamePrefixFeatureOutMixin and SelectorMixin #25308
- SelectFromModel() ENH Raise NotFittedError in get_feature_names_out for estimators that use ClassNamePrefixFeatureOutMixin and SelectorMixin #25308
- SelectFwe() ENH Raise NotFittedError in get_feature_names_out for estimators that use ClassNamePrefixFeatureOutMixin and SelectorMixin #25308
- SelectKBest() ENH Raise NotFittedError in get_feature_names_out for estimators that use ClassNamePrefixFeatureOutMixin and SelectorMixin #25308
- SelectPercentile() ENH Raise NotFittedError in get_feature_names_out for estimators that use ClassNamePrefixFeatureOutMixin and SelectorMixin #25308
- SequentialFeatureSelector() ENH Raise NotFittedError in get_feature_names_out for estimators that use ClassNamePrefixFeatureOutMixin and SelectorMixin #25308
- SparseRandomProjection() ENH Raise NotFittedError in get_feature_names_out for estimators that use ClassNamePrefixFeatureOutMixin and SelectorMixin #25308
- VarianceThreshold() ENH Raise NotFittedError in get_feature_names_out for estimators that use ClassNamePrefixFeatureOutMixin and SelectorMixin #25308
- KNNImputer() ENH Raise NotFittedError in get_feature_names_out for Imputers and Isotonic Regression #25367
- SimpleImputer() ENH Raise NotFittedError in get_feature_names_out for Imputers and Isotonic Regression #25367
- SplineTransformer() ENH Raise NotFittedError in get_feature_names_out for MissingIndicator, KBinsDiscretizer, SplineTransformer, DictVectorizer #25402
- DictVectorizer() ENH Raise NotFittedError in get_feature_names_out for MissingIndicator, KBinsDiscretizer, SplineTransformer, DictVectorizer #25402
- KBinsDiscretizer() ENH Raise NotFittedError in get_feature_names_out for MissingIndicator, KBinsDiscretizer, SplineTransformer, DictVectorizer #25402
- MissingIndicator() ENH Raise NotFittedError in get_feature_names_out for MissingIndicator, KBinsDiscretizer, SplineTransformer, DictVectorizer #25402
- IsotonicRegression()
> pytest -vsl sklearn/tests/test_common.py -k error_get_feature_names_out
==================================================================================== test session starts ====================================================================================
platform darwin -- Python 3.10.6, pytest-7.2.0, pluggy-1.0.0 -- /Users/glemaitre/mambaforge/envs/dev/bin/python3.10
cachedir: .pytest_cache
rootdir: /Users/glemaitre/Documents/packages/scikit-learn, configfile: setup.cfg
plugins: xdist-3.0.2, anyio-3.6.2
collected 9473 items / 9275 deselected / 198 selected
sklearn/tests/test_common.py::test_estimators[ARDRegression()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[AdaBoostClassifier()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[AdaBoostRegressor()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[AdditiveChi2Sampler()-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[AffinityPropagation()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[AgglomerativeClustering()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[BaggingClassifier()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[BaggingRegressor()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[BayesianGaussianMixture()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[BayesianRidge()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[BernoulliNB()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[BernoulliRBM()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This BernoulliRBM instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[Binarizer()-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[Birch()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This Birch instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[BisectingKMeans()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This BisectingKMeans instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[CCA()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This CCA instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[CalibratedClassifierCV(estimator=LogisticRegression(C=1))-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[CategoricalNB()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[ComplementNB()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[DBSCAN()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[DecisionTreeClassifier()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[DecisionTreeRegressor()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[DictionaryLearning()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This DictionaryLearning instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[DummyClassifier()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[DummyRegressor()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[ElasticNet()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[ElasticNetCV()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[EllipticEnvelope()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[EmpiricalCovariance()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[ExtraTreeClassifier()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[ExtraTreeRegressor()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[ExtraTreesClassifier()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[ExtraTreesRegressor()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[FactorAnalysis()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This FactorAnalysis instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[FastICA()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This FastICA instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[FeatureAgglomeration()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This FeatureAgglomeration instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[FunctionTransformer()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[GammaRegressor()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[GaussianMixture()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[GaussianNB()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[GaussianProcessClassifier()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[GaussianProcessRegressor()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[GaussianRandomProjection()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[GenericUnivariateSelect()-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[GradientBoostingClassifier()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[GradientBoostingRegressor()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[GraphicalLasso()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[GraphicalLassoCV()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[HistGradientBoostingClassifier()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[HistGradientBoostingRegressor()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[HuberRegressor()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[IncrementalPCA()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This IncrementalPCA instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[IsolationForest()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[Isomap()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This Isomap instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[KBinsDiscretizer()-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[KMeans()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This KMeans instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[KNNImputer()-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[KNeighborsClassifier()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[KNeighborsRegressor()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[KNeighborsTransformer()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This KNeighborsTransformer instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[KernelCenterer()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This KernelCenterer instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[KernelDensity()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[KernelPCA()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This KernelPCA instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[KernelRidge()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[LabelPropagation()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[LabelSpreading()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[Lars()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[LarsCV()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[Lasso()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[LassoCV()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[LassoLars()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[LassoLarsCV()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[LassoLarsIC()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[LatentDirichletAllocation()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This LatentDirichletAllocation instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[LedoitWolf()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[LinearDiscriminantAnalysis()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This LinearDiscriminantAnalysis instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[LinearRegression()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[LinearSVC()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[LinearSVR()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[LocalOutlierFactor()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[LocallyLinearEmbedding()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This LocallyLinearEmbedding instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[LogisticRegression()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[LogisticRegressionCV()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[MDS()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[MLPClassifier()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[MLPRegressor()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[MaxAbsScaler()-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[MeanShift()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[MinCovDet()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[MinMaxScaler()-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[MiniBatchDictionaryLearning()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This MiniBatchDictionaryLearning instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[MiniBatchKMeans()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This MiniBatchKMeans instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[MiniBatchNMF()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This MiniBatchNMF instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[MiniBatchSparsePCA()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This MiniBatchSparsePCA instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[MissingIndicator()-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[MultiOutputRegressor(estimator=Ridge())-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[MultiTaskElasticNet()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[MultiTaskElasticNetCV()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[MultiTaskLasso()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[MultiTaskLassoCV()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[MultinomialNB()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[NMF()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This NMF instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[NearestCentroid()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[NearestNeighbors()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[NeighborhoodComponentsAnalysis()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This NeighborhoodComponentsAnalysis instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[Normalizer()-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[NuSVC()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[NuSVR()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[Nystroem()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This Nystroem instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[OAS()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[OPTICS()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[OneClassSVM()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[OneVsOneClassifier(estimator=LogisticRegression(C=1))-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[OneVsRestClassifier(estimator=LogisticRegression(C=1))-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[OrthogonalMatchingPursuit()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[OrthogonalMatchingPursuitCV()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[OutputCodeClassifier(estimator=LogisticRegression(C=1))-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[PCA()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This PCA instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[PLSCanonical()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This PLSCanonical instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[PLSRegression()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This PLSRegression instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[PLSSVD()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This PLSSVD instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[PassiveAggressiveClassifier()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[PassiveAggressiveRegressor()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[Perceptron()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[PoissonRegressor()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[PolynomialCountSketch()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This PolynomialCountSketch instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[PolynomialFeatures()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This PolynomialFeatures instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[PowerTransformer()-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[QuadraticDiscriminantAnalysis()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[QuantileRegressor()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[QuantileTransformer()-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[RANSACRegressor(estimator=LinearRegression())-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[RBFSampler()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This RBFSampler instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[RFE(estimator=LogisticRegression(C=1))-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[RFECV(estimator=LogisticRegression(C=1))-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[RadiusNeighborsClassifier()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[RadiusNeighborsRegressor()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[RadiusNeighborsTransformer()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This RadiusNeighborsTransformer instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[RandomForestClassifier()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[RandomForestRegressor()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[RandomTreesEmbedding()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This RandomTreesEmbedding instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[RegressorChain(base_estimator=Ridge())-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[Ridge()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[RidgeCV()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[RidgeClassifier()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[RidgeClassifierCV()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[RobustScaler()-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[SGDClassifier()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[SGDOneClassSVM()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[SGDRegressor()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[SVC()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[SVR()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[SelectFdr()-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[SelectFpr()-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[SelectFromModel(estimator=SGDRegressor(random_state=0))-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[SelectFwe()-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[SelectKBest()-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[SelectPercentile()-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[SelfTrainingClassifier(base_estimator=LogisticRegression(C=1))-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[SequentialFeatureSelector(estimator=LogisticRegression(C=1))-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[ShrunkCovariance()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[SimpleImputer()-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[SkewedChi2Sampler()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This SkewedChi2Sampler instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[SparsePCA()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This SparsePCA instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[SparseRandomProjection()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[SpectralBiclustering()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[SpectralClustering()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[SpectralCoclustering()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[SpectralEmbedding()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[SplineTransformer()-check_error_get_feature_names_out_not_fitted]
<class 'AttributeError'>
'SplineTransformer' object has no attribute 'bsplines_'
PASSED
sklearn/tests/test_common.py::test_estimators[StackingClassifier(estimators=[('est1',LogisticRegression(C=0.1)),('est2',LogisticRegression(C=1))])-check_error_get_feature_names_out_not_fitted]
<class 'AttributeError'>
'StackingClassifier' object has no attribute '_n_feature_outs'
PASSED
sklearn/tests/test_common.py::test_estimators[StackingRegressor(estimators=[('est1',Ridge(alpha=0.1)),('est2',Ridge(alpha=1))])-check_error_get_feature_names_out_not_fitted]
<class 'AttributeError'>
'StackingRegressor' object has no attribute '_n_feature_outs'
PASSED
sklearn/tests/test_common.py::test_estimators[StandardScaler()-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[TSNE()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[TfidfTransformer()-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[TheilSenRegressor()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[TransformedTargetRegressor()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[TruncatedSVD()-check_error_get_feature_names_out_not_fitted]
<class 'sklearn.exceptions.NotFittedError'>
This TruncatedSVD instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
PASSED
sklearn/tests/test_common.py::test_estimators[TweedieRegressor()-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[VarianceThreshold()-check_error_get_feature_names_out_not_fitted]
<class 'ValueError'>
Unable to generate feature names without n_features_in_
PASSED
sklearn/tests/test_common.py::test_estimators[VotingClassifier(estimators=[('est1',LogisticRegression(C=0.1)),('est2',LogisticRegression(C=1))])-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_estimators[VotingRegressor(estimators=[('est1',Ridge(alpha=0.1)),('est2',Ridge(alpha=1))])-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_search_cv[GridSearchCV(cv=2,estimator=Ridge(),param_grid={'alpha':[0.1,1.0]})-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_search_cv[GridSearchCV(cv=2,estimator=LogisticRegression(),param_grid={'C':[0.1,1.0]})-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_search_cv[HalvingGridSearchCV(cv=2,estimator=Ridge(),min_resources='smallest',param_grid={'alpha':[0.1,1.0]},random_state=0)-check_error_get_feature_names_out_not_fitted0] PASSED
sklearn/tests/test_common.py::test_search_cv[HalvingGridSearchCV(cv=2,estimator=LogisticRegression(),min_resources='smallest',param_grid={'C':[0.1,1.0]},random_state=0)-check_error_get_feature_names_out_not_fitted0] PASSED
sklearn/tests/test_common.py::test_search_cv[RandomizedSearchCV(cv=2,estimator=Ridge(),param_distributions={'alpha':[0.1,1.0]},random_state=0)-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_search_cv[RandomizedSearchCV(cv=2,estimator=LogisticRegression(),param_distributions={'C':[0.1,1.0]},random_state=0)-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_search_cv[HalvingGridSearchCV(cv=2,estimator=Ridge(),min_resources='smallest',param_grid={'alpha':[0.1,1.0]},random_state=0)-check_error_get_feature_names_out_not_fitted1] PASSED
sklearn/tests/test_common.py::test_search_cv[HalvingGridSearchCV(cv=2,estimator=LogisticRegression(),min_resources='smallest',param_grid={'C':[0.1,1.0]},random_state=0)-check_error_get_feature_names_out_not_fitted1] PASSED
sklearn/tests/test_common.py::test_search_cv[GridSearchCV(cv=2,error_score='raise',estimator=Pipeline(steps=[('pca',PCA()),('ridge',Ridge())]),param_grid={'ridge__alpha':[0.1,1.0]})-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_search_cv[GridSearchCV(cv=2,error_score='raise',estimator=Pipeline(steps=[('pca',PCA()),('logisticregression',LogisticRegression())]),param_grid={'logisticregression__C':[0.1,1.0]})-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_search_cv[HalvingGridSearchCV(cv=2,error_score='raise',estimator=Pipeline(steps=[('pca',PCA()),('ridge',Ridge())]),min_resources='smallest',param_grid={'ridge__alpha':[0.1,1.0]},random_state=0)-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_search_cv[HalvingGridSearchCV(cv=2,error_score='raise',estimator=Pipeline(steps=[('pca',PCA()),('logisticregression',LogisticRegression())]),min_resources='smallest',param_grid={'logisticregression__C':[0.1,1.0]},random_state=0)-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_search_cv[RandomizedSearchCV(cv=2,error_score='raise',estimator=Pipeline(steps=[('pca',PCA()),('ridge',Ridge())]),param_distributions={'ridge__alpha':[0.1,1.0]},random_state=0)-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_search_cv[RandomizedSearchCV(cv=2,error_score='raise',estimator=Pipeline(steps=[('pca',PCA()),('logisticregression',LogisticRegression())]),param_distributions={'logisticregression__C':[0.1,1.0]},random_state=0)-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_search_cv[HalvingRandomSearchCV(cv=2,error_score='raise',estimator=Pipeline(steps=[('pca',PCA()),('ridge',Ridge())]),param_distributions={'ridge__alpha':[0.1,1.0]},random_state=0)-check_error_get_feature_names_out_not_fitted] PASSED
sklearn/tests/test_common.py::test_search_cv[HalvingRandomSearchCV(cv=2,error_score='raise',estimator=Pipeline(steps=[('pca',PCA()),('logisticregression',LogisticRegression())]),param_distributions={'logisticregression__C':[0.1,1.0]},random_state=0)-check_error_get_feature_names_out_not_fitted] PASSED
I assume that the most adequate error should be a NotFittedError
asking to fit the estimator.
@scikit-learn/core-devs WDYT?