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

[MRG+1] MissingIndicator transformer #8075

Merged
merged 57 commits into from Jul 16, 2018

Conversation

@maniteja123
Contributor

maniteja123 commented Dec 18, 2016

MissingIndicator transformer for the missing values indicator mask.
see #6556

What does this implement/fix? Explain your changes.

The current implementation returns a indicator mask for the missing values.

Any other comments?

It is a very initial attempt and currently no tests are present. Please do have a look and give suggestions on the design. Thanks !

  • Implementation
  • Documentation
  • Tests
@tguillemot

This comment has been minimized.

Show comment
Hide comment
@tguillemot

tguillemot Dec 19, 2016

Contributor

@jnothman @raghavrv Sorry for my stupid question but what is the difference with #7084 .

Contributor

tguillemot commented Dec 19, 2016

@jnothman @raghavrv Sorry for my stupid question but what is the difference with #7084 .

@maniteja123

This comment has been minimized.

Show comment
Hide comment
@maniteja123

maniteja123 Dec 19, 2016

Contributor

Hi, I am not entirely aware of the ValueDropper but that seems to be used to drop specific percentage of values per feature of the corresponding classes. OTOH, this MissingIndicator (name not yet finalized) will be just an indicator of the presence of missing values in the input and transformed output is just a binary matrix. Hope I got it right !

Contributor

maniteja123 commented Dec 19, 2016

Hi, I am not entirely aware of the ValueDropper but that seems to be used to drop specific percentage of values per feature of the corresponding classes. OTOH, this MissingIndicator (name not yet finalized) will be just an indicator of the presence of missing values in the input and transformed output is just a binary matrix. Hope I got it right !

@tguillemot

This comment has been minimized.

Show comment
Hide comment
@tguillemot

tguillemot Dec 19, 2016

Contributor

Ok thx @maniteja123. Sorry for the stupid question.

Contributor

tguillemot commented Dec 19, 2016

Ok thx @maniteja123. Sorry for the stupid question.

@maniteja123

This comment has been minimized.

Show comment
Hide comment
@maniteja123

maniteja123 Dec 19, 2016

Contributor

No problem @tguillemot . No question is stupid. Thanks for asking. :) Probably I should add a small example to make the use case clear to understand.

Contributor

maniteja123 commented Dec 19, 2016

No problem @tguillemot . No question is stupid. Thanks for asking. :) Probably I should add a small example to make the use case clear to understand.

@tguillemot

This comment has been minimized.

Show comment
Hide comment
@tguillemot

tguillemot Dec 19, 2016

Contributor

Indeed it's always usefull.

Contributor

tguillemot commented Dec 19, 2016

Indeed it's always usefull.

@jnothman

This comment has been minimized.

Show comment
Hide comment
@jnothman

jnothman Dec 20, 2016

Member

#7084 makes missing values. This helps solve missing value problems.

Member

jnothman commented Dec 20, 2016

#7084 makes missing values. This helps solve missing value problems.

@jnothman

Add some tests please. I'll look at the implementation soon.

Show outdated Hide outdated sklearn/preprocessing/imputation.py
Show outdated Hide outdated sklearn/preprocessing/imputation.py
Show outdated Hide outdated sklearn/preprocessing/imputation.py
Show outdated Hide outdated sklearn/preprocessing/imputation.py
@jnothman

Thanks. This is heading the right direction.

Once it's looking good, we'll talk about integrating it into Imputer, and adding a summary feature which indicates the presence of any missing values in a row.

Show outdated Hide outdated sklearn/preprocessing/imputation.py
Show outdated Hide outdated sklearn/preprocessing/imputation.py
Show outdated Hide outdated sklearn/preprocessing/imputation.py
Show outdated Hide outdated sklearn/preprocessing/imputation.py
Show outdated Hide outdated sklearn/preprocessing/tests/test_imputation.py
Show outdated Hide outdated sklearn/preprocessing/imputation.py
Show outdated Hide outdated sklearn/preprocessing/imputation.py
Show outdated Hide outdated sklearn/preprocessing/tests/test_imputation.py
Show outdated Hide outdated sklearn/preprocessing/tests/test_imputation.py
Show outdated Hide outdated sklearn/preprocessing/tests/test_imputation.py
@jnothman

This comment has been minimized.

Show comment
Hide comment
@jnothman

jnothman Dec 21, 2016

Member

Also, it might be a good idea to add something to the narrative documentation at this point, explaining the motivation for such features, and briefly describing the operation.

It would be good to add an example here in the docstring too.

Perhaps you should add a task list to the PR description

Member

jnothman commented Dec 21, 2016

Also, it might be a good idea to add something to the narrative documentation at this point, explaining the motivation for such features, and briefly describing the operation.

It would be good to add an example here in the docstring too.

Perhaps you should add a task list to the PR description

@maniteja123

This comment has been minimized.

Show comment
Hide comment
@maniteja123

maniteja123 Dec 22, 2016

Contributor

Hi @jnothman , thanks a lot for the detailed review. I have tried to address most of them. It would be great if you could explain the meaning of retype in your comment here.

Also if sparse = True should the transform always return sparse irrespective of input and if so, which sparse type ?

Thanks.

Contributor

maniteja123 commented Dec 22, 2016

Hi @jnothman , thanks a lot for the detailed review. I have tried to address most of them. It would be great if you could explain the meaning of retype in your comment here.

Also if sparse = True should the transform always return sparse irrespective of input and if so, which sparse type ?

Thanks.

@jnothman

This comment has been minimized.

Show comment
Hide comment
@jnothman

jnothman Dec 22, 2016

Member

retype was a bad name for "the type you want to change it to"

Member

jnothman commented Dec 22, 2016

retype was a bad name for "the type you want to change it to"

@jnothman

This comment has been minimized.

Show comment
Hide comment
@jnothman

jnothman Dec 22, 2016

Member

Whichever sparse type is most appropriate here. COO? CSC?

Member

jnothman commented Dec 22, 2016

Whichever sparse type is most appropriate here. COO? CSC?

@maniteja123

This comment has been minimized.

Show comment
Hide comment
@maniteja123

maniteja123 Dec 22, 2016

Contributor

I don't know much about sparse arrays but I was thinking COO might be a good choice since there might be less missing values in general. Please do correct me if I am thinking it the wrong way.

Contributor

maniteja123 commented Dec 22, 2016

I don't know much about sparse arrays but I was thinking COO might be a good choice since there might be less missing values in general. Please do correct me if I am thinking it the wrong way.

@jnothman

This comment has been minimized.

Show comment
Hide comment
@jnothman

jnothman Dec 23, 2016

Member

I don't get your purported motivation for COO. If you construct the matrix in a column-wise fashion, CSC might be the best choice.

Member

jnothman commented Dec 23, 2016

I don't get your purported motivation for COO. If you construct the matrix in a column-wise fashion, CSC might be the best choice.

@maniteja123

This comment has been minimized.

Show comment
Hide comment
@maniteja123

maniteja123 Dec 23, 2016

Contributor

Oh I see, but the matrix which is being constructed by this using get_mask. It is not column-wise right ?

Also if we return as CSC, then the indices and indptr needs to calculated accordingly ?

Contributor

maniteja123 commented Dec 23, 2016

Oh I see, but the matrix which is being constructed by this using get_mask. It is not column-wise right ?

Also if we return as CSC, then the indices and indptr needs to calculated accordingly ?

@jnothman

This comment has been minimized.

Show comment
Hide comment
@jnothman

jnothman Dec 24, 2016

Member

For auto, return it in the format it came in. Otherwise, return CSC. You don't need to calculate indices and indptr manually. Calling csc_matrix (or .tocsc() if already sparse) on it will suffice.

Member

jnothman commented Dec 24, 2016

For auto, return it in the format it came in. Otherwise, return CSC. You don't need to calculate indices and indptr manually. Calling csc_matrix (or .tocsc() if already sparse) on it will suffice.

@maniteja123

This comment has been minimized.

Show comment
Hide comment
@maniteja123

maniteja123 Dec 28, 2016

Contributor

Thanks @jnothman , just one more clarification. In case of sparse matrix and missing values = 0 currently a dense matrix is returned. Should it be the same even when sparse='auto' ?

Contributor

maniteja123 commented Dec 28, 2016

Thanks @jnothman , just one more clarification. In case of sparse matrix and missing values = 0 currently a dense matrix is returned. Should it be the same even when sparse='auto' ?

@jnothman

This comment has been minimized.

Show comment
Hide comment
@jnothman

jnothman Dec 28, 2016

Member
Member

jnothman commented Dec 28, 2016

@maniteja123

This comment has been minimized.

Show comment
Hide comment
@maniteja123

maniteja123 Dec 28, 2016

Contributor

Thanks but lil format wouldn't contain indices right ? So this line fails for it.

also should the return type be numpy array when a list is passed for transform ? Sorry for so many questions but the tests are failing for these scenarios.

Contributor

maniteja123 commented Dec 28, 2016

Thanks but lil format wouldn't contain indices right ? So this line fails for it.

also should the return type be numpy array when a list is passed for transform ? Sorry for so many questions but the tests are failing for these scenarios.

@jnothman

Yes, return type should be a numpy array, except if it should be a sparse matrix, in which case the returned format should be specified in the docstring, but need not be the same as the input type. check_array will convert to acceptable types.

Show outdated Hide outdated sklearn/preprocessing/imputation.py
@jnothman

I'll have a look over the transformation and tests once you're happy you know how to determine handling of transform output types etc.

Show outdated Hide outdated doc/modules/preprocessing.rst
Show outdated Hide outdated doc/modules/preprocessing.rst
Show outdated Hide outdated sklearn/preprocessing/imputation.py
Show outdated Hide outdated sklearn/preprocessing/imputation.py
Show outdated Hide outdated sklearn/preprocessing/imputation.py
Show outdated Hide outdated sklearn/preprocessing/imputation.py
Show outdated Hide outdated sklearn/preprocessing/imputation.py
@maniteja123

This comment has been minimized.

Show comment
Hide comment
@maniteja123

maniteja123 Jan 19, 2017

Contributor

Non zero missing values

sparse ndarray csr_matrix csc_matrix lil_matrix
True csc_matrix csc_matrix csc_matrix csc_matrix
False ndarray ndarray ndarray ndarray
auto ndarray csc_matrix csc_matrix csc_matrix

Zero missing values*

sparse ndarray csr_matrix csc_matrix lil_matrix
True csc_matrix csc_matrix csc_matrix csc_matrix
False ndarray ndarray ndarray ndarray
auto ndarray ndarray ndarray ndarray

Hi @jnothman , sorry for the delay. Could you look at the above return types and let me know if it works ? Thanks.

Contributor

maniteja123 commented Jan 19, 2017

Non zero missing values

sparse ndarray csr_matrix csc_matrix lil_matrix
True csc_matrix csc_matrix csc_matrix csc_matrix
False ndarray ndarray ndarray ndarray
auto ndarray csc_matrix csc_matrix csc_matrix

Zero missing values*

sparse ndarray csr_matrix csc_matrix lil_matrix
True csc_matrix csc_matrix csc_matrix csc_matrix
False ndarray ndarray ndarray ndarray
auto ndarray ndarray ndarray ndarray

Hi @jnothman , sorry for the delay. Could you look at the above return types and let me know if it works ? Thanks.

@jnothman

This comment has been minimized.

Show comment
Hide comment
@jnothman

jnothman Jan 23, 2017

Member

I think that's correct. But to be sure, we could write a test that checks that auto corresponds to the same type/format as output by imputer in that case.

Member

jnothman commented Jan 23, 2017

I think that's correct. But to be sure, we could write a test that checks that auto corresponds to the same type/format as output by imputer in that case.

@raghavrv

This comment has been minimized.

Show comment
Hide comment
@raghavrv

raghavrv Mar 4, 2017

Member

@maniteja123 any updates? :)

Member

raghavrv commented Mar 4, 2017

@maniteja123 any updates? :)

@raghavrv

This comment has been minimized.

Show comment
Hide comment
@raghavrv

raghavrv Mar 4, 2017

Member

Does it need a review? Can you rename to MRG if so... I can look into it next week...

Member

raghavrv commented Mar 4, 2017

Does it need a review? Can you rename to MRG if so... I can look into it next week...

@raghavrv raghavrv added this to Would be very nice to have (MID) in Raghav's *personal* review-priority listing Mar 4, 2017

@maniteja123

This comment has been minimized.

Show comment
Hide comment
@maniteja123

maniteja123 Mar 4, 2017

Contributor

Hi @raghavrv thanks for reminding. I believe it can be reviewed once though tests can be comprehensive regarding the return type for the sparse and dense matrices. Will look at fixing the failing tests and then ping you.

Contributor

maniteja123 commented Mar 4, 2017

Hi @raghavrv thanks for reminding. I believe it can be reviewed once though tests can be comprehensive regarding the return type for the sparse and dense matrices. Will look at fixing the failing tests and then ping you.

@codecov

This comment has been minimized.

Show comment
Hide comment
@codecov

codecov bot Mar 4, 2017

Codecov Report

Merging #8075 into master will increase coverage by <.01%.
The diff coverage is 97.24%.

@@            Coverage Diff             @@
##           master    #8075      +/-   ##
==========================================
+ Coverage   95.48%   95.48%   +<.01%     
==========================================
  Files         342      342              
  Lines       60987    61096     +109     
==========================================
+ Hits        58233    58339     +106     
- Misses       2754     2757       +3
Impacted Files Coverage Δ
sklearn/preprocessing/init.py 100% <100%> (ø)
sklearn/preprocessing/tests/test_imputation.py 100% <100%> (ø)
sklearn/preprocessing/imputation.py 94.23% <94.44%> (+0.07%)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6852a03...fa0c023. Read the comment docs.

codecov bot commented Mar 4, 2017

Codecov Report

Merging #8075 into master will increase coverage by <.01%.
The diff coverage is 97.24%.

@@            Coverage Diff             @@
##           master    #8075      +/-   ##
==========================================
+ Coverage   95.48%   95.48%   +<.01%     
==========================================
  Files         342      342              
  Lines       60987    61096     +109     
==========================================
+ Hits        58233    58339     +106     
- Misses       2754     2757       +3
Impacted Files Coverage Δ
sklearn/preprocessing/init.py 100% <100%> (ø)
sklearn/preprocessing/tests/test_imputation.py 100% <100%> (ø)
sklearn/preprocessing/imputation.py 94.23% <94.44%> (+0.07%)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6852a03...fa0c023. Read the comment docs.

@jnothman

Please implement fit_transform to avoid duplicating the work.

Thanks!

Show outdated Hide outdated doc/modules/preprocessing.rst
Show outdated Hide outdated doc/modules/preprocessing.rst
Show outdated Hide outdated doc/modules/preprocessing.rst
Show outdated Hide outdated sklearn/preprocessing/imputation.py
Show outdated Hide outdated sklearn/preprocessing/imputation.py
Show outdated Hide outdated sklearn/preprocessing/imputation.py
Show outdated Hide outdated sklearn/preprocessing/imputation.py
Show outdated Hide outdated sklearn/preprocessing/imputation.py
Show outdated Hide outdated sklearn/preprocessing/tests/test_imputation.py
Show outdated Hide outdated sklearn/preprocessing/tests/test_imputation.py
@jnothman

This comment has been minimized.

Show comment
Hide comment
@jnothman

jnothman Mar 22, 2017

Member

Tests still failing for old scipy

Member

jnothman commented Mar 22, 2017

Tests still failing for old scipy

@jnothman

Please check somewhere that fit() and fit_transform() produce an identical model.

Show outdated Hide outdated doc/modules/preprocessing.rst
@jnothman

This comment has been minimized.

Show comment
Hide comment
@jnothman

jnothman May 27, 2017

Member

I'd like to see this completed, and an option to automatically apply this added to imputer. Are you still with us, @maniteja123?

Member

jnothman commented May 27, 2017

I'd like to see this completed, and an option to automatically apply this added to imputer. Are you still with us, @maniteja123?

@maniteja123

This comment has been minimized.

Show comment
Hide comment
@maniteja123

maniteja123 Jun 5, 2017

Contributor

Hi @jnothman really sorry for the long silence. I will look into it today. Meanwhile could you help me out with the failing tests for old scipy - AFAIR it was due to slicing a sparse 2d array. Also I am unable to see the travis failure for the above mentioned reason. The logs here show numpy version failure.

Contributor

maniteja123 commented Jun 5, 2017

Hi @jnothman really sorry for the long silence. I will look into it today. Meanwhile could you help me out with the failing tests for old scipy - AFAIR it was due to slicing a sparse 2d array. Also I am unable to see the travis failure for the above mentioned reason. The logs here show numpy version failure.

@jnothman

This comment has been minimized.

Show comment
Hide comment
@jnothman

jnothman Jun 5, 2017

Member
Member

jnothman commented Jun 5, 2017

@maniteja123

This comment has been minimized.

Show comment
Hide comment
@maniteja123

maniteja123 Jun 5, 2017

Contributor

okay joel, will rebase with master.

Contributor

maniteja123 commented Jun 5, 2017

okay joel, will rebase with master.

@amueller amueller added this to PR phase in Andy's pets Jun 5, 2017

@amueller

Looks good apart from nitpicks.

Show outdated Hide outdated sklearn/preprocessing/imputation.py
Show outdated Hide outdated sklearn/preprocessing/imputation.py
Show outdated Hide outdated sklearn/preprocessing/tests/test_imputation.py
Show outdated Hide outdated doc/modules/preprocessing.rst
Show outdated Hide outdated doc/modules/preprocessing.rst
Show outdated Hide outdated sklearn/preprocessing/imputation.py
Show outdated Hide outdated sklearn/preprocessing/imputation.py
Show outdated Hide outdated sklearn/preprocessing/imputation.py
Show outdated Hide outdated sklearn/preprocessing/imputation.py
Show outdated Hide outdated sklearn/preprocessing/tests/test_imputation.py
@glemaitre

This comment has been minimized.

Show comment
Hide comment
@glemaitre

glemaitre Jun 29, 2018

Contributor

We need first to address: #11391 before to merge this branch.

Contributor

glemaitre commented Jun 29, 2018

We need first to address: #11391 before to merge this branch.

@glemaitre

This comment has been minimized.

Show comment
Hide comment
@glemaitre

glemaitre Jul 11, 2018

Contributor

@jnothman @amueller any review on this feature.

Contributor

glemaitre commented Jul 11, 2018

@jnothman @amueller any review on this feature.

@amueller

This comment has been minimized.

Show comment
Hide comment
@amueller

amueller Jul 11, 2018

Member

can you maybe add this to plot_missing_values.py or something? It would be good to have an example that uses this. Ideally we'd package that into SimpleImputer but for now we can make it explicit and it should still be good for ChainedImputer.

Member

amueller commented Jul 11, 2018

can you maybe add this to plot_missing_values.py or something? It would be good to have an example that uses this. Ideally we'd package that into SimpleImputer but for now we can make it explicit and it should still be good for ChainedImputer.

Parameters
----------
missing_values : number, string, np.nan (default) or None

This comment has been minimized.

@amueller

amueller Jul 11, 2018

Member

what does number mean and why is np.nan not a number? Maybe just move the np.nan to the end?

@amueller

amueller Jul 11, 2018

Member

what does number mean and why is np.nan not a number? Maybe just move the np.nan to the end?

This comment has been minimized.

@jeremiedbb

jeremiedbb Jul 12, 2018

Contributor

number means real number. It's just to fit this in one line.
I think by definition nan is not a number :)

@jeremiedbb

jeremiedbb Jul 12, 2018

Contributor

number means real number. It's just to fit this in one line.
I think by definition nan is not a number :)

This comment has been minimized.

@amueller

amueller Jul 12, 2018

Member

but the dtype is also important, isn't it? I find "float or int" more natural than "number or np.nan" but I don't have a strong opinion.

@amueller

amueller Jul 12, 2018

Member

but the dtype is also important, isn't it? I find "float or int" more natural than "number or np.nan" but I don't have a strong opinion.

This comment has been minimized.

@jeremiedbb

jeremiedbb Jul 12, 2018

Contributor

I agree that "float or int" is better than number, but I think it's important to keep np.nan visible since it should be a common value for missing_values. Maybe something like
int, float, string or None (default=np.nan) ?

@jeremiedbb

jeremiedbb Jul 12, 2018

Contributor

I agree that "float or int" is better than number, but I think it's important to keep np.nan visible since it should be a common value for missing_values. Maybe something like
int, float, string or None (default=np.nan) ?

This comment has been minimized.

@glemaitre

glemaitre Jul 12, 2018

Contributor

right now this is consistent with SimpleImputer and ChainedImputer in fact.

@glemaitre

glemaitre Jul 12, 2018

Contributor

right now this is consistent with SimpleImputer and ChainedImputer in fact.

Parameters
----------
missing_values : number, string, np.nan (default) or None

This comment has been minimized.

@glemaitre

glemaitre Jul 12, 2018

Contributor

right now this is consistent with SimpleImputer and ChainedImputer in fact.

@glemaitre

glemaitre Jul 12, 2018

Contributor

right now this is consistent with SimpleImputer and ChainedImputer in fact.

@glemaitre

This comment has been minimized.

Show comment
Hide comment
@glemaitre

glemaitre Jul 12, 2018

Contributor

@amueller I updated the example by doing a feature union of the output of the imputer and the missing indicator. This is probably the use case that each imputer should handle in the future...

Contributor

glemaitre commented Jul 12, 2018

@amueller I updated the example by doing a feature union of the output of the imputer and the missing indicator. This is probably the use case that each imputer should handle in the future...

@jnothman

I think this LGTM. Thanks for completing it @glemaitre. Given recent issues, though, I wonder if we should make sure missing_values=pickle.loads(pickle.dumps(np.nan)) works also.

Show outdated Hide outdated sklearn/impute.py
assert isinstance(X_fit_mask, np.ndarray)
assert isinstance(X_trans_mask, np.ndarray)
else:
if sparse.issparse(X_fit):

This comment has been minimized.

@jnothman

jnothman Jul 15, 2018

Member

Why is this not another elif?

@jnothman

jnothman Jul 15, 2018

Member

Why is this not another elif?

This comment has been minimized.

@glemaitre

glemaitre Jul 15, 2018

Contributor

because it is true for all other param_sparse and missing_values combination

@glemaitre

glemaitre Jul 15, 2018

Contributor

because it is true for all other param_sparse and missing_values combination

glemaitre added some commits Jul 15, 2018

Merge branch 'imputer_missing_values' of github.com:maniteja123/sciki…
…t-learn into maniteja123-imputer_missing_values
@glemaitre

This comment has been minimized.

Show comment
Hide comment
@glemaitre

glemaitre Jul 15, 2018

Contributor

I think this LGTM. Thanks for completing it @glemaitre. Given recent issues, though, I wonder if we should make sure missing_values=pickle.loads(pickle.dumps(np.nan)) works also.

A similar test is done in the common test now.

Contributor

glemaitre commented Jul 15, 2018

I think this LGTM. Thanks for completing it @glemaitre. Given recent issues, though, I wonder if we should make sure missing_values=pickle.loads(pickle.dumps(np.nan)) works also.

A similar test is done in the common test now.

@amueller

This comment has been minimized.

Show comment
Hide comment
@amueller

amueller Jul 15, 2018

Member

merge on green?

Member

amueller commented Jul 15, 2018

merge on green?

@glemaitre

This comment has been minimized.

Show comment
Hide comment
@glemaitre

glemaitre Jul 16, 2018

Contributor

We need to merge #11391 first

Contributor

glemaitre commented Jul 16, 2018

We need to merge #11391 first

@agramfort

This comment has been minimized.

Show comment
Hide comment
@agramfort

agramfort Jul 16, 2018

Member

@maniteja123 can you rebase now that #11391 is merged ?

Member

agramfort commented Jul 16, 2018

@maniteja123 can you rebase now that #11391 is merged ?

@glemaitre

This comment has been minimized.

Show comment
Hide comment
@glemaitre

glemaitre Jul 16, 2018

Contributor
Contributor

glemaitre commented Jul 16, 2018

@jnothman

This comment has been minimized.

Show comment
Hide comment
@jnothman

jnothman Jul 16, 2018

Member

And will we be opening issues to add a add_indicator param to other imputers?

Member

jnothman commented Jul 16, 2018

And will we be opening issues to add a add_indicator param to other imputers?

@glemaitre

This comment has been minimized.

Show comment
Hide comment
@glemaitre

glemaitre Jul 16, 2018

Contributor

And will we be opening issues to add a add_indicator param to other imputers?

yes. Do we want to have it in 0.20 thought?

Contributor

glemaitre commented Jul 16, 2018

And will we be opening issues to add a add_indicator param to other imputers?

yes. Do we want to have it in 0.20 thought?

@amueller amueller added the Blocker label Jul 16, 2018

@glemaitre

This comment has been minimized.

Show comment
Hide comment
@glemaitre

glemaitre Jul 16, 2018

Contributor

tests passed in travis

Contributor

glemaitre commented Jul 16, 2018

tests passed in travis

@ogrisel ogrisel added this to Issues tagged in scikit-learn 0.20 Jul 16, 2018

@ogrisel ogrisel moved this from Issues tagged to PRs tagged in scikit-learn 0.20 Jul 16, 2018

@amueller amueller moved this from PRs tagged to Blockers in scikit-learn 0.20 Jul 16, 2018

@amueller amueller merged commit 726fa36 into scikit-learn:master Jul 16, 2018

4 of 5 checks passed

continuous-integration/appveyor/pr Waiting for AppVeyor build to complete
Details
ci/circleci: deploy Your tests passed on CircleCI!
Details
ci/circleci: python2 Your tests passed on CircleCI!
Details
ci/circleci: python3 Your tests passed on CircleCI!
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

@lesteve lesteve moved this from Blockers to Done in scikit-learn 0.20 Jul 16, 2018

@amueller amueller removed this from PR phase in Andy's pets Aug 21, 2018

@amueller

This comment has been minimized.

Show comment
Hide comment
@amueller

amueller Aug 21, 2018

Member

Did someone open these issues? I don't see them linked.

Member

amueller commented Aug 21, 2018

Did someone open these issues? I don't see them linked.

@jnothman

This comment has been minimized.

Show comment
Hide comment
@jnothman

jnothman Aug 21, 2018

Member

I don't think it's been opened. Atm we are only offering one other imputer. (Apparently knn imputer is still blocking on your review @amueller)

Member

jnothman commented Aug 21, 2018

I don't think it's been opened. Atm we are only offering one other imputer. (Apparently knn imputer is still blocking on your review @amueller)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment