Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes #956 Add features_group parameter to ExhaustiveFeatureSelector [WIP] #957

Merged
merged 36 commits into from
Aug 10, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
ade469b
Add feature_groups parameter to exhaustive feature selection
NimaSarajpoor Jul 8, 2022
88268f7
convert list to tuple, the original type
NimaSarajpoor Jul 8, 2022
f2ebae9
Fixed docstring
NimaSarajpoor Jul 8, 2022
6e01986
small changes
NimaSarajpoor Jul 20, 2022
b76ed8f
Add new test function for feature_groups
NimaSarajpoor Jul 20, 2022
7bbb440
new test is passing
NimaSarajpoor Jul 20, 2022
8f8778c
Correct style
NimaSarajpoor Jul 20, 2022
92cebfc
set a parameter default to None
NimaSarajpoor Jul 22, 2022
087d70e
Add support for name of features in feature_group
NimaSarajpoor Jul 22, 2022
99b5141
Add support for fixed features
NimaSarajpoor Jul 22, 2022
bb9001b
Sort feature indices
NimaSarajpoor Jul 22, 2022
582b9c3
Add new test function for fixed_features
NimaSarajpoor Jul 22, 2022
6622ade
fix bug
NimaSarajpoor Jul 22, 2022
25cc657
fix minor bug
NimaSarajpoor Jul 22, 2022
57f4b11
Fix minor bug
NimaSarajpoor Jul 22, 2022
04450c3
Add new test function
NimaSarajpoor Jul 22, 2022
49a664d
Add new test function
NimaSarajpoor Jul 22, 2022
43a65a9
Revise function to improve readability
NimaSarajpoor Jul 22, 2022
98befc6
several minor improvements
NimaSarajpoor Jul 23, 2022
5ed595c
Add test function for support string in param features_group
NimaSarajpoor Jul 23, 2022
25a4259
Fix bug
NimaSarajpoor Jul 23, 2022
44128cd
Add test function for support string in param fixed_features
NimaSarajpoor Jul 23, 2022
8597953
Revise comments
NimaSarajpoor Jul 23, 2022
28f8758
Cleaning the code
NimaSarajpoor Jul 23, 2022
20ae4c3
Remove redundant line
NimaSarajpoor Jul 23, 2022
73b7215
remove custom_feature_names
rasbt Jul 27, 2022
133fd86
Merge branch 'master' into feature_selection
rasbt Jul 27, 2022
ea7b21f
run linter
rasbt Jul 27, 2022
3a79384
Merge branch 'feature_selection' of https://github.com/NimaSarajpoor/…
rasbt Jul 27, 2022
d4cb896
some additional checks
rasbt Aug 4, 2022
dd86b87
add additional test
rasbt Aug 4, 2022
923afa4
update precommit hook to fix inconsistency
rasbt Aug 4, 2022
decdc08
Merge branch 'feature_selection' of https://github.com/NimaSarajpoor/…
rasbt Aug 4, 2022
3ecf2a6
use flak8 config file in workflow
rasbt Aug 4, 2022
e4e5b0d
style fix
rasbt Aug 4, 2022
2c12bed
minor changes
NimaSarajpoor Aug 9, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ jobs:
isort -p mlxtend --check --diff --line-length 88 --multi-line 3 --py 39 --profile black mlxtend/*
black --check --diff mlxtend/*
# exit-zero treats all errors as warnings.
flake8 . --count --exit-zero --statistics
flake8 . --config=.flake8 --count --exit-zero --statistics
9 changes: 5 additions & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,17 @@ repos:
hooks:
- id: isort
name: Format imports
args: ["--project", "mlxtend", "--profile", "black"]
args: ["--project", "mlxtend", "--line-length", " 88", "--multi-line", "3", "--py", "39", "--profile", "black", "mlxtend/*black"]

- repo: https://github.com/psf/black
rev: 22.3.0
rev: 22.6.0
hooks:
- id: black
name: Format code

- repo: https://github.com/PyCQA/flake8
rev: 4.0.1
rev: 5.0.4
hooks:
- id: flake8
name: Check PEP8
name: Check PEP8
args: ["--config", ".flake8"]
7 changes: 4 additions & 3 deletions docs/sources/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ The CHANGELOG for the current development version is available at

---

### Version 0.20.0
### Version 0.21.0 (TBD)

#### New Features and Enhancements

Expand All @@ -22,10 +22,11 @@ The CHANGELOG for the current development version is available at
##### New Features and Enhancements

- The `mlxtend.evaluate.feature_importance_permutation` function has a new `feature_groups` argument to treat user-specified feature groups as single features, which is useful for one-hot encoded features. ([#955](https://github.com/rasbt/mlxtend/pull/955))
- The `mlxtend.feature_selection.ExhaustiveFeatureSelector` also gained support for `feature_groups` with a behavior similar to the one described above. ([#957](https://github.com/rasbt/mlxtend/pull/957) via [Nima Sarajpoor](https://github.com/NimaSarajpoor))

##### Changes

- None
- The `custom_feature_names` parameter was removed from the `ExhaustiveFeatureSelector` due to redundancy and to simplify the code base. The [`ExhaustiveFeatureSelector` documentation](http://rasbt.github.io/mlxtend/user_guide/feature_selection/ExhaustiveFeatureSelector/) illustrates how the same behavior and outcome can be achieved using pandas DataFrames. ([#957](https://github.com/rasbt/mlxtend/pull/957))

##### Bug Fixes

Expand Down Expand Up @@ -910,4 +911,4 @@ imput arrays via `transform` and `fit_transform`

### Version 0.1.1 (2014-08-13)

- Simplified code for ColumnSelector.
- Simplified code for ColumnSelector.
Loading