-
Notifications
You must be signed in to change notification settings - Fork 876
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
Fixed _calc_score
for *scikit-learn* version compatibility
#1109
Conversation
Example code for testing: import numpy as np
from sklearn.linear_model import LogisticRegression
from mlxtend.feature_selection import SequentialFeatureSelector as SFS
# Generate random values
np.random.seed(42) # For reproducibility
n_samples = 100 # Number of samples
n_features = 10 # Number of features
# Generate random features (X) and binary target (y)
X_train = np.random.rand(n_samples, n_features)
y_train = np.random.randint(0, 2, size=n_samples)
# Now run Sequential Feature Selection
sfs = SFS(LogisticRegression(),
k_features=5, # number of features to select
forward=True, # forward selection
floating=False, # no floating selection
scoring='accuracy',
verbose=5,
cv=5).fit(X_train, y_train) |
_calc_score
for *scikit-learn* version compatibility
@rasbt ready for review It would be great if a new version of the packages could be released with the recent changes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, I haven't used sklearn in a while and had no idea this has changed!
Done! |
Great, thanks! 👍🏻 |
Description
Refactor
_calc_score
to accommodate scikit-learn versioning_calc_score
to dynamically select the appropriate parameter name ('fit_params'
or'params'
) forcross_val_score
based on the scikit-learn version.Related issues or pull requests
fixes #1082
Pull Request Checklist
./docs/sources/CHANGELOG.md
file (if applicable)./mlxtend/*/tests
directories (if applicable)mlxtend/docs/sources/
(if applicable)PYTHONPATH='.' pytest ./mlxtend -sv
and make sure that all unit tests pass (for small modifications, it might be sufficient to only run the specific test file, e.g.,PYTHONPATH='.' pytest ./mlxtend/classifier/tests/test_stacking_cv_classifier.py -sv
)flake8 ./mlxtend