Commit Graph

192 Commits

Author SHA1 Message Date
Nicolas Hug 5bf37e8425
FEA Add sequential feature selection transformer (#17159)
Co-authored-by: rasbt <mail@sebastianraschka.com>
Co-authored-by: Thomas J. Fan <thomasjpfan@gmail.com>
Co-authored-by: Guillaume Lemaitre <g.lemaitre58@gmail.com>
2020-08-21 19:57:05 +02:00
Thomas J. Fan febdd191f5
TST Sets random_state in test_rfe_wrapped_estimator (#18097) 2020-08-06 12:07:51 +02:00
Lisa Schwetlick 911137f0de
ENH Enable percentage for n_features_to_select in RFE(Fix PR #16228) (#17090)
* added code from PR #14627

* fixed error handling None as n_features_to_select

* added test for error message and percentage passing

* linting

* more linting

* even more linting

* sklearn/feature_selection/_rfe.py make int casting simpler

Co-authored-by: Roman Yurchak <rth.yurchak@gmail.com>

* exchange redundant test case with small float

* add what's new

* removed useless import

* lint

* Fix whats_new/v0.24.rst

Co-authored-by: Thomas J. Fan <thomasjpfan@gmail.com>

* move whats new section

* disambiguate choice between 1 feature and 100% of features

Co-authored-by: Thomas J. Fan <thomasjpfan@gmail.com>

* move checking for negatives to _fit

* update error to include nones

Co-authored-by: Thomas J. Fan <thomasjpfan@gmail.com>

* markdown style in what's new

Co-authored-by: Thomas J. Fan <thomasjpfan@gmail.com>

* Update sklearn/feature_selection/tests/test_rfe.py

Co-authored-by: Thomas J. Fan <thomasjpfan@gmail.com>

* forgot to delete line

* fix test for negative n_features error

* BUG Fixes issues

* added case for float >1 and more detailed error messages

* lint

* more lint

* more lint

* CLN Minor adjustments

* BLD Force build on ci

Co-authored-by: Roman Yurchak <rth.yurchak@gmail.com>
Co-authored-by: Thomas J. Fan <thomasjpfan@gmail.com>
2020-06-26 22:40:25 -04:00
Thomas J. Fan 7cc0177f8e
MNT Replaces numpy alias with builtin typse (#17687)
* MNT Replaces numpy alias with builtin typse

* STY Lint error
2020-06-24 16:51:51 +02:00
Venkatachalam N f6b8bc0ece
ENH add importance_getter to RFE* and SelectFromModel 2020-05-20 16:15:32 +10:00
Nicolas Hug 76ef8b0ef0
API kwonly for utils (#17046)
* kwonly for utils

* More

* fixed some

* some more

* iwannagohomepls

* accept_sparse not kwonly anymore
2020-04-27 15:42:01 +02:00
Adrin Jalali c3817500cc
API feature_selection's constructor params -> kwonly (#16867) 2020-04-10 14:26:56 -04:00
Roman Feldbauer 9b39c4c4d2
TST Fix unreachable code in tests (#16110) 2020-02-16 14:41:26 +01:00
Divyaprabha M 63cfc5ff6b
ENH add multioutput support for RFE (#16103) 2020-02-04 20:33:35 +01:00
Nicolas Hug 4256542b10 MNT Removed deprecated attributes and parameters (#15803) 2019-12-09 22:17:06 +08:00
Alec Peters 70b0ddea99 FEA Allow nan/inf in feature selection (#11635) 2019-11-05 11:34:59 +11:00
Thomas J Fan 6769490424 MNT Make modules private in feature_selection (#15376) 2019-10-29 11:00:32 +08:00
Nicolas Hug b92455a6b2 MAINT Deprecate all of utils.testing except all_estimators (#15367) 2019-10-28 17:28:56 +01:00
Thomas J Fan 4a95e33e63 MNT Make modules private in sklearn.datasets (#15307) 2019-10-27 17:17:23 -04:00
Samesh Lakhotia a2968c2e4f MNT Fix assert raises in sklearn/feature_selection/tests/ (#14697) 2019-08-21 15:35:19 +08:00
Nicolas Hug f3eb9d2206 [MRG] MNT removing assert_equal, etc -- continued (#14232) 2019-07-02 14:53:51 +10:00
Adrin Jalali 19c068a2ec MNT towards removing assert_equal, etc (#14222) 2019-07-01 09:13:32 -04:00
Joel Nothman f339609ab8 TST attempt to fix the variance threshold part of #14192 (#14204) 2019-06-27 15:18:31 +02:00
Roman Yurchak 5674122c97 MAINT More test runtime optimizations (#14136)
* Feature extraction / feature selection

* Metrics, manifold, impute, GP optimization

* Optimize mixture

* Optimize model_selection

* Fix tests

* Lint
2019-06-22 10:44:06 +03:00
Roman Yurchak 0eedf99eee MAINT Don't use clean_warnings_registry in tests (#14085) 2019-06-17 14:10:05 +02:00
Roman Yurchak ccd3331f7e MNT remove unused imports (#14021) 2019-06-04 23:15:19 +10:00
Guillaume Lemaitre 9adba491a2 [MRG] DEP change the default of cv and n_splits (#13839) 2019-05-29 23:39:20 +10:00
rlms be03467b9c FIX Changed VarianceThreshold behaviour when threshold is zero. See #13691 (#13704) 2019-05-29 01:54:23 +10:00
Guillaume Lemaitre c28ef9ef2a DEP change the default of multi_class to 'auto' in logistic regression (#13807) 2019-05-22 09:57:15 -04:00
Guillaume Lemaitre 8a8e21b2a3 MNT Change the default value of n_estimators in forests (#13803) 2019-05-09 21:19:20 +08:00
Guillaume Lemaitre 7896b21562 MNT change default of solver in LogisiticRegression (#13805) 2019-05-08 21:31:39 +08:00
Leandro Hermida 2a5c845a60 FIX _estimate_mi discrete_features str and value check (#13497)
* discrete_features str and value check

* Update if logic

* Add discrete_features bad str value test

* Remove unnecessary nested isinstance str check

* Add back nested isinstance str check

* New/updates to tests

* Add v0.21 whats new entry

* Undo v0.21 whats new entry
2019-04-01 20:15:14 +02:00
Andreas Mueller d879b5cdbe MNT be more friendly in the deprecation warning of cv=3 (#13395)
* be more friendly in the deprecation of cv=3

* add hint on specifying cv

* catch all the right warnings
2019-03-05 19:28:34 +01:00
Roman Yurchak 0e3bb17e62 MAINT Run pyupgrade following Python2 deprecation (#12997) 2019-02-08 20:13:34 +08:00
surgan12 62d2059804 MNT remove __future__ imports (#12791) 2019-02-02 22:05:06 +08:00
Andreas Mueller 952ef6637a MRG Drop legacy python / remove six dependencies (#12639) 2019-01-03 15:50:05 +02:00
Bartosz Michałowski fa98a72dcc MNT Replaced all occurrences of assert_true and assert_false with assert (#12588) 2018-11-28 09:16:26 +08:00
Hanmin Qin 43e3a02085
MNT Remove unused assert_true imports (#12560) 2018-11-11 11:08:37 +08:00
Yaroslav Halchenko 362cb3bcab TST autoreplace assert_true(...==...) with plain assert (#12547) 2018-11-11 09:05:34 +08:00
Nicolas Hug 4e2da4af92 [MRG] Added FutureWarning in sgd models for tol parameter (#12399)
* Added ChangedBehaviorWarning in sgd models

if tol is None while max_iter is set

* Changed to FutureWarning and clarified None meaning

* Ignored warningin tests

* Ignore warnings in tests, round 2
2018-10-24 11:00:43 -04:00
Joel Nothman 7ed61a24fe ENH add multi_class='auto' for LogisticRegression, default from 0.22; default solver will be 'lbfgs' (#11905)
* Change default solver in LogisticRegression
* This is an API change, not a feature
* Decrease numerical precision in LogisticRegression doctest
* ENH add multi_class='auto' for LR, default from 0.22
* No warning when binary
2018-08-26 23:00:02 +03:00
Brent Yi e28a57747f Add min_features_to_select parameter to RFECV (#11293) 2018-08-09 08:44:36 +03:00
Alexandre Boucaud f158e2dfe2 [MRG+1] Change CV defaults to 5 (#11557)
* add FutureWarning for methods with defaults=3

* add explicit cv values to fix assertion errors

* add tests for catching the FutureWarning

* Write current deprecation version

* Add deprecation in docstring

* change default cv value to None

* change cv from 3 to 5 in the examples

* upgrade doctests

* update doctest in tutorial

* update doctest in cross-validation doc

* fix tests

* add entry to whats new

* address Gael comments

* address Gael comments 2

* fix wrong indentation

* update doc

* add docstring deprecation warning in CV subclasses

* address Andy's comments

* fix PR number

* fix flake8

* add filterwarnings in tests

* fix doctests

* cv=None mendatory in Ridge

* fix warning related errors

* skip some doctests warnings

* make travis happy

* change from deprecated to versionchanged

* fix doctests and remove skipping

* address comments
2018-07-19 14:46:11 +02:00
annaayzenshtat 2242c59fc8 [MRG] EHN: Change default n_estimators to 100 for random forest (#11542)
<!--
Thanks for contributing a pull request! Please ensure you have taken a look at
the contribution guidelines: https://github.com/scikit-learn/scikit-learn/blob/master/CONTRIBUTING.md#pull-request-checklist
-->

#### Reference Issues/PRs
<!--
Example: Fixes #1234. See also #3456.
Please use keywords (e.g., Fixes) to create link to the issues or pull requests
you resolved, so that they will automatically be closed when your pull request
is merged. See https://github.com/blog/1506-closing-issues-via-pull-requests
-->
Fixes #11128.

#### What does this implement/fix? Explain your changes.
Issues deprecation warning message for the default n_estimators parameter for the forest classifiers. Test added for the warning message when the default parameter is used.

#### Any other comments?


<!--
Please be aware that we are a loose team of volunteers so patience is
necessary; assistance handling other issues is very welcome. We value
all user contributions, no matter how minor they are. If we are slow to
review, either the pull request needs some benchmarking, tinkering,
convincing, etc. or more likely the reviewers are simply busy. In either
case, we ask for your understanding during the review process.
For more information, see our FAQ on this topic:
http://scikit-learn.org/dev/faq.html#why-is-my-pull-request-not-getting-any-attention.

Thanks for contributing!
-->
2018-07-17 14:42:59 -05:00
Nihar Sheth 211ded8fbc [MRG+1] Select k-best features in SelectFromModel (#9616)
#### Reference Issue
Continuation of work from [PR #6717](https://github.com/scikit-learn/scikit-learn/pull/6717).


#### What does this implement/fix? Explain your changes.
Will merge in master (this branch is a year old) and make changes as discussed in previous PR discussion to make it ready for merging in.
2018-07-16 14:15:25 -05:00
Roman Yurchak f049ec72eb TST Pytest parametrization part3 - feature_extraction, gaussian_process modules (#11143) 2018-06-04 22:23:29 +08:00
Nick Hoh 1755b893df [MRG+2] Fix edge case of tied CV scores in RFECV (#9222)
* Fix edge case of tied CV scores in RFECV

In the feature_selection module, RFECV selects the model with the
highest cross-validation score. In the event of CV score ties, one
expects RFECV to return the best model with the fewest features.
This fix addresses such an edge case where two or more models have
identical cross-validation scores.

* Adding an entry to what's new addressing bug fix in RFECV edge case

* Re-add what's new entry

* Use double backticks in whats_new entry
2018-05-24 12:03:29 -04:00
Adam Greenhall 48b82a6ff5 [MRG+1] add groups support to RFECV (#9656) 2017-11-17 16:35:49 +01:00
Joel Nothman 49af61cb42 TST Improve SelectFromModel tests (#9733)
Should fix one of the issues in #9393
2017-09-20 17:29:42 +02:00
Bastian Venthur 7400775633 [MRG+1] MAINT Replace assert_array_equal with -assert_array_almost_equal where necessary. (#9774) 2017-09-18 19:55:23 +10:00
Sebastin Santy dc43486806 Remove unused imports (#9235) 2017-07-01 05:57:54 -07:00
Tom Dupré la Tour edeb3af217 Deprecate n_iter in SGDClassifier and implement max_iter (#5036) 2017-06-23 21:49:29 +02:00
Thomas Moreau 8dde4096bd [MRG] ENH make rng seed thread safe everywhere it is possible (#9184)
* ENH make rng seed thread safe everywhere it is possible

* ENH remove unneeded use of np.random.seed
2017-06-23 07:40:33 +02:00
Naoya Kanai 6579220588 [MRG+1] Drop NumPy < 1.8 (#8874) 2017-06-07 17:06:06 +02:00
Andreas Mueller 1c41368bac [MRG+1] Uncontroversial fixes from estimator tags branch (#8086)
* some bug fixes.

* minor fixes to whatsnew

* typo in whatsnew

* add test for n_components = 1 transform in dict learning

* feature extraction doc fix

* fix broken test

* revert aggressive input validation changes

* in SelectFromModel, don't store threshold_ in transform. If we called "fit", use estimates from last "fit".

* move score from EllipticEnvelope to OutlierDetectionMixin

* revert changes to Tfidf documentation

* remove dummy input validation from whatsnew

* fix text feature tests

* rewrite from_model threshold again...

* remove stray condition

* fix self.estimator -> estimator, slightly more interesting test

* typo in comment

* Fix issues in SparseEncoder, add tests.
more explicit explanation of SparseEncoder change, add issue numbers to whatsnew

* minor fixes in whats_new.rst

* slightly more consistency with tuples for shapes

* not longer typo
2017-06-06 16:34:47 +02:00