Commit Graph

55 Commits

Author SHA1 Message Date
Thomas J. Fan 51fddb7fdc
ENH Adds encoded_missing_value to OrdinalEncoder (#21988) 2022-03-23 13:26:34 +01:00
Dimitri Papadopoulos Orfanos 3d4ee9e9dc
MNT Remove utf-8 encoding declarations (#21260)
Co-authored-by: Jérémie du Boisberranger <34657725+jeremiedbb@users.noreply.github.com>
2022-03-14 17:59:36 +01:00
Thomas J. Fan 7f0006c8aa
ENH Adds infrequent categories to OneHotEncoder (#16018)
* ENH Completely adds infrequent categories

* STY Linting

* STY Linting

* DOC Improves wording

* DOC Lint

* BUG Fixes

* CLN Address comments

* CLN Address comments

* DOC Uses math to description float min_frequency

* DOC Adds comment regarding drop

* BUG Fixes method name

* DOC Clearer docstring

* TST Adds more tests

* FIX Fixes mege

* CLN More pythonic

* CLN Address comments

* STY Flake8

* CLN Address comments

* DOC Fix

* MRG

* WIP

* ENH Address comments

* STY Fix

* ENH Use functiion call instead of property

* ENH Adds counts feature

* CLN Rename variables

* DOC More details

* CLN Remove unneeded line

* CLN Less lines is less complicated

* CLN Less diffs

* CLN Improves readiabilty

* BUG Fix

* CLN Address comments

* TST Fix

* CLN Address comments

* CLN Address comments

* CLN Move docstring to userguide

* DOC Better wrapping

* TST Adds test to handle_unknown='error'

* ENH Spelling error in docstring

* BUG Fixes counter with nan values

* BUG Removes unneeded test

* BUG Fixes issue

* ENH Sync with main

* DOC Correct settings

* DOC Adds docstring

* DOC Immprove user guide

* DOC Move to 1.0

* DOC Update docs

* TST Remove test

* DOC Update docstring

* STY Linting

* DOC Address comments

* ENH Neater code

* DOC Update explaination for auto

* Update sklearn/preprocessing/_encoders.py

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

* TST Uses docstring instead of comments

* TST Remove call to fit

* TST Spelling error

* ENH Adds support for drop + infrequent categories

* ENH Adds infrequent_if_exist option

* DOC Address comments for user guide

* DOC Address comments for whats_new

* DOC Update docstring based on comments

* CLN Update test with suggestions

* ENH Adds computed property infrequent_categories_

* DOC Adds where the infrequent column is located

* TST Adds more test for infrequent_categories_

* DOC Adds docstring for _compute_drop_idx

* CLN Moves _convert_to_infrequent_idx into its own method

* TST Increases test coverage

* TST Adds failing test

* CLN Careful consideration of dropped and inverse_transform

* STY Linting

* DOC Adds docstrinb about dropping infrequent

* DOC Uses only

* DOC Numpydoc

* TST Includes test for get_feature_names_out

* DOC Move whats new

* DOC Address docstring comments

* DOC Docstring changes

* TST Better comments

* TST Adds check for handle_unknown='ignore' for infrequent

* CLN Make _infrequent_indices private

* CLN Change min_frequency default to None

* DOC Adds comments

* ENH adds support for max_categories=1

* ENH Describe lexicon ordering for ties

* DOC Better docstring

* STY Fix

* CLN Error when explicity dropping an infrequent category

* STY Grammar

Co-authored-by: Joel Nothman <joel.nothman@gmail.com>
Co-authored-by: Roman Yurchak <rth.yurchak@gmail.com>
Co-authored-by: Guillaume Lemaitre <g.lemaitre58@gmail.com>
2022-03-14 15:48:18 +01:00
Jérémie du Boisberranger 34f9dbf541
MNT Clean fixes and compat for old versions of our dependencies (#22642)
Co-authored-by: Olivier Grisel <olivier.grisel@ensta.org>
2022-03-02 11:32:06 +01:00
Thomas J. Fan d7feac0ccf
ENH Adds feature_names_out to preprocessing module (#21079)
Co-authored-by: Olivier Grisel <olivier.grisel@ensta.org>
Co-authored-by: 赵丰 (Zhao Feng) <616545598@qq.com>
Co-authored-by: Niket Jain <51831161+nikJ13@users.noreply.github.com>
Co-authored-by: Loïc Estève <loic.esteve@ymail.com>
2022-02-07 12:09:57 +01:00
Dimitri Papadopoulos Orfanos 10a5468e90
DOC Remove some str/unicode leftovers from Python 2 (#21270)
Co-authored-by: Thomas J. Fan <thomasjpfan@gmail.com>
2021-10-08 13:55:15 +02:00
Thomas J. Fan 4abd9f2d9e
API Implements get_feature_names_out for transformers that support get_feature_names (#18444)
Co-authored-by: Andreas Mueller <andreas.mueller@columbia.edu>
Co-authored-by: Andreas Mueller <andreasmuellerml@gmail.com>
Co-authored-by: Olivier Grisel <olivier.grisel@ensta.org>
Co-authored-by: Olivier Grisel <olivier.grisel@gmail.com>
Co-authored-by: Christian Lorentzen <lorentzen.ch@gmail.com>
2021-09-07 10:56:57 +02:00
Thomas J. Fan f500326a9a CLN Removes unneeded test 2021-09-01 18:13:04 -07:00
Guillaume Lemaitre d6735f4851
FIX accept large Python numeric in OrdinalEncoder (#20727) 2021-08-16 23:12:35 +02:00
Maxwell 9580530071
FIX OrdinalEncoder.fit should not raise an error `handle_unknown="use_encoded_value"` (#19906)
Co-authored-by: Adrin Jalali <adrin.jalali@gmail.com>
Co-authored-by: Guillaume Lemaitre <g.lemaitre58@gmail.com>
2021-07-23 18:55:24 +02:00
Thomas J. Fan 82df48934e
MNT Applies black formatting to most of the code base (#18948) 2021-06-17 14:21:09 -04:00
Andrew Delong a67b284f90
FIX Encoder should accept categories having dtype='S' (#19727)
Co-authored-by: Guillaume Lemaitre <g.lemaitre58@gmail.com>
2021-04-21 17:34:28 -04:00
Thomas J. Fan 004b44d007
FIX OneHotEncoder.fit no longer alters the drop parameter (#19924) 2021-04-20 23:29:02 +02:00
Thomas J. Fan 5d8796b91d
FIX Fixes unknown handling for str dtypes in OrdinalEncoder.transform (#19888)
* FIX Fixes unknown handling for str X in OrdinalEncoder.transform

* DOC Adds whats new

* DOC Move to 0.24.2

* DOC Adds reasoning in comment
2021-04-18 17:31:50 +02:00
Guillaume Lemaitre 8a3939aa69
FIX Error for sparse matrix in OrdinalEncoder.inverse_transform (#19879) 2021-04-13 07:59:30 -04:00
Thomas J. Fan c9c89cfc85
ENH Adds support for drop + handle_unknown=ignore in the OneHotEncoder (#19041)
Co-authored-by: Olivier Grisel <olivier.grisel@gmail.com>
2021-03-31 16:45:38 +02:00
Thomas J. Fan 638b7689bb
ENH Adds nan passthrough in OrdinalEncoder (#19069) 2021-02-24 17:23:44 +11:00
Guillaume Lemaitre 8ea176ae0c
FIX validate handle_unkown strategies in OrdinalEncoder (#19234) 2021-01-22 10:58:41 +01:00
Thomas J. Fan 53add71a54
FIX Fixes encoders for string dtypes (#15763)
Co-authored-by: Guillaume Lemaitre <g.lemaitre58@gmail.com>
Co-authored-by: Olivier Grisel <olivier.grisel@ensta.org>
2020-10-27 12:08:56 +01:00
Kevin Winata 5d5329c473
FIX raise error in OneHotEncoder.inverse_transform (#14982) 2020-10-19 21:21:47 +02:00
Thomas J. Fan eeddc17a85
ENH Adds missing value support to OneHotEncoder (#17317)
OneHotEncoder supports categorical features with missing values by
considering the missing values as an additional category.
2020-10-09 08:38:33 +02:00
Nicolas Hug 4aada4e5fd
ENH Support unknown_value=np.nan in OrdinalEncoder (#18406) 2020-09-23 12:57:31 +02:00
Felix Wick 8a213df98f
FEA allow unknowns in OrdinalEncoder transform (#17406) 2020-08-05 18:49:25 +10:00
Juan Carlos Alfaro Jiménez 547ead6c0c
MNT More replacements of numpy aliases with built-in types (#17707)
* MNT More replacements of numpy aliases with built-in types [scipy-dev]

* MNT More (manual) replacements of numpy aliases

* MNT More (manual) replacements of numpy aliases

* FIX Minor change

* MNT Trigger build [scipy-dev]

* FIX Minor change

* MNT Trigger build [scipy-dev]

* FIX More deprecations of numpy aliases [scipy-dev]

* MNT Silent numpy aliases warnings [scipy-dev]

* FIX Fix silent deprecations

* Trigger build [scipy-dev]

* FIX Add scape characters [scipy-dev]

* FIX Remove package specification from silent

* Trigger build [scipy-dev]

* Revert
2020-06-26 12:45:03 +02:00
Facundo Ferrín 4346c82ca4
[MRG] Improve error message for None values in OneHotEncoder and OrdinalEncoder (#16713) 2020-03-21 14:29:04 +01:00
Olivier Grisel aa6ab89994
PEP8 in test_encoders.py 2020-03-12 11:38:37 +01:00
Chiara Marmo f763c614f4
ENH Add check for non binary variables in OneHotEncoder. (#16585)
Co-authored-by: Thomas J Fan <thomasjpfan@gmail.com>
Co-authored-by: Guillaume Lemaitre <g.lemaitre58@gmail.com>
2020-03-10 09:58:55 +01:00
Roman Feldbauer 9b39c4c4d2
TST Fix unreachable code in tests (#16110) 2020-02-16 14:41:26 +01:00
Rushabh Vasani 7e7e115296
ENH Add 'if_binary' option to drop argument of OneHotEncoder (#16245) 2020-02-07 10:18:26 +01:00
Nicolas Hug b92455a6b2 MAINT Deprecate all of utils.testing except all_estimators (#15367) 2019-10-28 17:28:56 +01:00
Nicolas Hug 0f157e9475 ENH Minor update to error message from check_is_fitted (#15357) 2019-10-27 13:06:34 +01:00
deeplook 6d53d067d0 TST Remove test functions defined twice (#15220) 2019-10-12 17:44:11 +02:00
Samesh Lakhotia 1c116807ce MAINT:Fix assert raises in `sklearn/preprocessing/tests/` (#14717) 2019-08-29 12:38:54 +03:00
Thomas J Fan 0bdd92036d [MRG] MAINT Adds tag categorical to OneHotEncoder (#14068) 2019-06-24 22:42:05 +10:00
Roman Yurchak ccd3331f7e MNT remove unused imports (#14021) 2019-06-04 23:15:19 +10:00
Oleksandr Pavlyk 162216af26 MAINT: test_encoder_dtypes_pandas reads expected dtype from DF (#13997) 2019-06-03 17:54:21 +10:00
Guillaume Lemaitre 9ee164baa3 [MRG] DEP remove legacy mode from OneHotEncoder (#13855) 2019-05-29 21:03:29 +10:00
James Myatt e35f040200 [MRG] Fixes get_feature_names results when using drop functionality (#13894) 2019-05-23 14:39:39 +02:00
Mohammad Aftab c3731f524c MNT Updated error message to remove deprecated n_values (#13454) 2019-03-22 08:34:53 +11:00
maikia b2344a4e3f ENH: process DataFrames in OneHot/OrdinalEncoder without converting to array #12147 (#13253) 2019-03-01 11:02:57 +01:00
drewmjohnston 350cd4aefa ENH: Add Drop Option to OneHotEncoder. (#12908) 2019-02-26 13:50:21 +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
Joris Van den Bossche fce73db57a FIX deprecation handling in OneHotEncoder for categorical_features + handle_unknown='ignore' case (#12923) 2019-01-15 16:34:55 +11:00
Gabriel Marzinotto 62117f482e Bug with string dtype in OneHotEncoder with handle_unknown='ignore' (#12471)
* fix decisionTree issue #12259

* merge splitters

* fix decisionTree issue #12259

* merge splitters

* relaunch tests

* fix for ohe string sizes

* reverse tree changes because not done yet

* error with file

* pylinting

* add regression test and check if categories are strings before casting to object

* pylint

* pylint

* another posibility to handle the strings

* pylint

* pylint

* pylint

* add issue reference and explain the test

* handle object case

* update master test

* update master test

* Update _encoders.py

pylint

* Update test_encoders.py

* Update test_encoders.py

* Update _encoders.py

* Update _encoders.py

* fix checking for object type

* fix checking for object type

* fix checking for object type

* fix checking for object type

* fix encoder

* change check encoder

* add note in whats new
2018-11-18 14:59:07 -05:00
Dillon Gardner 2afee939df FIX incorrect error when OneHotEncoder.transform called prior to fit (#12443) 2018-11-13 09:49:53 +11:00
Joris Van den Bossche 1e7cd7df9d BUG Fix OrdinalEncoder with manually specified categories (#12367) 2018-10-13 21:45:19 +02:00
Andreas Mueller 0f94f2962b
MNT simple deprecations and removals for 0.21 (#12238)
Part of #11992.
These were all the things that seemed pretty straight-forward. It's actually a bit bulky but should still be easy to review, hopefully.
2018-10-11 14:56:37 -04:00
Joris Van den Bossche dfdf605f67 BUG always raise on NaN in OneHotEncoder for object dtype data (#12033) 2018-09-13 14:50:08 +02:00
Nirvan Anjirbag 61fa3155da [MRG] Add get_feature_names to OneHotEncoder (#10198)
**Reference Issues/PRs**
Fixes #10181 

**What does this implement/fix? Explain your changes.**
Added function **get_feature_names()** to **CategoricalEncoder** class. This is in `data.py` under `sklearn.preprocessing` 


<!--
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-16 15:02:49 -05:00