-
Notifications
You must be signed in to change notification settings - Fork 86
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
Pipeline v2.0 (refactor) #108
Conversation
* Added imputer * Clean up imputer * added onehot and standard scaler * Need fix selectfrommodel and validating * Add selectfrommodel * Cleanup and added basic init test * lint
Codecov Report
@@ Coverage Diff @@
## master #108 +/- ##
==========================================
+ Coverage 95.75% 96.64% +0.88%
==========================================
Files 58 89 +31
Lines 1531 2233 +702
==========================================
+ Hits 1466 2158 +692
- Misses 65 75 +10
Continue to review full report at Codecov.
|
Fixed SelectFromModel
…nto pipeline_v2
…nto pipeline_v2
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.
Looking better. A few more comments here
from evalml.problem_types import ProblemTypes | ||
|
||
|
||
class RFRegressionPipeline(PipelineBase): | ||
"""Random Forest Pipeline for regression""" | ||
name = "Random Forest w/ imputation" | ||
name = "Random Forest Regressor w/ One Hot Encoder + Simple Imputer + Select From Model" | ||
model_type = ModelTypes.RANDOM_FOREST |
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.
can we automatically determine the model type since it's annotated on the component?
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.
Likewise to the auto generated names: we can auto determine but would require changes to Autobase so we think its best to hold off until then.
from evalml.problem_types import ProblemTypes | ||
|
||
|
||
class RFRegressionPipeline(PipelineBase): | ||
"""Random Forest Pipeline for regression""" | ||
name = "Random Forest w/ imputation" | ||
name = "Random Forest Regressor w/ One Hot Encoder + Simple Imputer + Select From Model" | ||
model_type = ModelTypes.RANDOM_FOREST | ||
problem_types = [ProblemTypes.REGRESSION] |
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.
can we automatically determine the problem types since it's annotated on the component?
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.
same as above!
Note: refactor feature_importances and self.input_feature_names code :) Edit: Addressed. |
* cleanup components utils * Switch to category_encoder and cleanup RF Select * add feature_importance to estimator * More switching to CE * Move parameters to class attributes and make test * lint * Separate changelog test * Text cleanup
* wip: addressing comments * feature names? * adding fix for no estimator in generate_name * fixing test * addressing more comments on feature_importance * feature_importances fixed and cleaned :) * oops, missed merge conflict * change of name * minor cleanup * adding basic test for two feature selectors and adding default components in DEFAULT_COMPONENTS * adding tests for retaining feature names in input_feature_names
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.
Almost there! just a few last comments
evalml/pipelines/components/transformers/feature_selection/feature_selector.py
Outdated
Show resolved
Hide resolved
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.
Minor comments. Otherwise looks good to me!
evalml/pipelines/components/transformers/feature_selection/feature_selector.py
Outdated
Show resolved
Hide resolved
evalml/pipelines/components/transformers/feature_selection/feature_selector.py
Outdated
Show resolved
Hide resolved
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.
LGTM
WIP: laying down the basis for #95