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

[MRG] Replaced float with int in examples #8040

Merged
merged 5 commits into from
Feb 3, 2017
Merged

Conversation

dalmia
Copy link
Contributor

@dalmia dalmia commented Dec 12, 2016

Reference Issue

Fixes #8017

What does this implement/fix? Explain your changes.

This replaces float with int in the examples to remove the VisibleDeprecationWarning encountered due to the indices being of a non-integer type.

Any other comments?

As mentioned in the issue thread, I wasn't able to replicate most of the warnings appearing on the build that was linked to. However, I encountered warnings in other examples that were not present in the build and hence, I chose to not modify them. Please give your suggestions in this regard.

@@ -43,7 +43,7 @@ def _not_in_sphinx():
def atomic_benchmark_estimator(estimator, X_test, verbose=False):
"""Measure runtime prediction of each instance."""
n_instances = X_test.shape[0]
runtimes = np.zeros(n_instances, dtype=np.float)
runtimes = np.zeros(n_instances, dtype=np.int)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you explain why it solves the problem ?
If I remember well VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future is launched when you use a float as indices but I dont see where runtimes is used as indices ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I myself was not sure while making the change whether this'll help or not. The problem is, as I mentioned above, I couldn't produce most of the VisibleDeprecationWarnings in the examples present in the build linked in the issue thread. This was one such example. I added it here to check if the build shows the warning or not.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you please help me with this problem of being unable to reproduce?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I still not see why it solves the problem ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I don't think this solves anything really now. I'll remove it.

@tguillemot
Copy link
Contributor

In fact I can reproduce it. If I do :

cd doc
sphinx-build -b html -d _build/doctrees   . _build/html/stable

The first error is :

Executing file ../examples/plot_kernel_ridge_regression.py
/home/guillemo/anaconda3/envs/sklearn/bin/sphinx-build:5: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
  import sys
SVR complexity and bandwidth selected and model fitted in 0.412 s
KRR complexity and bandwidth selected and model fitted in 0.246 s
Support vector ratio: 0.320
SVR prediction for 100000 inputs in 0.115 s
KRR prediction for 100000 inputs in 0.253 s
/home/guillemo/anaconda3/envs/sklearn/bin/sphinx-build:21: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
/home/guillemo/anaconda3/envs/sklearn/bin/sphinx-build:30: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future

Now if I do ipython ../examples/plot_kernel_ridge_regression.py, I obtain :

../examples/plot_kernel_ridge_regression.py:57: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
  y[::5] += 3 * (0.5 - rng.rand(X.shape[0]/5))
SVR complexity and bandwidth selected and model fitted in 0.415 s
KRR complexity and bandwidth selected and model fitted in 0.189 s
Support vector ratio: 0.320
SVR prediction for 100000 inputs in 0.097 s
KRR prediction for 100000 inputs in 0.235 s
../examples/plot_kernel_ridge_regression.py:122: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
  y[::5] += 3 * (0.5 - rng.rand(X.shape[0]/5))
../examples/plot_kernel_ridge_regression.py:131: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
  estimator.fit(X[:train_test_size], y[:train_test_size])

If you go on the corresponding line you will find floating as id.
You can do that for any example until you correct all the VisibleDeprecationWarning.

@dalmia
Copy link
Contributor Author

dalmia commented Dec 12, 2016

@tguillemot The problem is that the example where it's showing this warning, e.g. plot_kernel_ridge_regression does not show the warning in the build linked in the issue thread:

Executing file ../examples/plot_kernel_ridge_regression.py
SVR complexity and bandwidth selected and model fitted in 0.948 s
KRR complexity and bandwidth selected and model fitted in 0.540 s
Support vector ratio: 0.320
SVR prediction for 100000 inputs in 0.157 s
KRR prediction for 100000 inputs in 0.423 s
../examples/plot_kernel_ridge_regression.py ran in : 32 seconds

This is what I originally stated that there is a mismatch between the examples showing the warning when run locally and those shown in the build. Do you then suggest that I remove warnings from those examples that I get when run locally?

@tguillemot
Copy link
Contributor

Interesting indeed. I don't know why they are different.

Do you then suggest that I remove warnings from those examples that I get when run locally?

Yes, there are some VisibleDeprecationWarning and we need to solve them.
Let's see what happens with CI once it's done.

@dalmia
Copy link
Contributor Author

dalmia commented Dec 12, 2016

Yes, I agree to that.

@@ -54,7 +54,7 @@
y = np.sin(X).ravel()

# Add noise to targets
y[::5] += 3 * (0.5 - rng.rand(X.shape[0]/5))
y[::5] += 3 * (0.5 - rng.rand(int(X.shape[0]/5)))
Copy link
Member

@amueller amueller Dec 12, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unclear to me too. But for some reason, after I changed this, the VisibleDeprecationWarning was gone.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As said @amueller, I think you can use integer division // for those issues.

Copy link
Member

@amueller amueller Dec 12, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh, this is the shape, not the scale... alright then. But yes, use //



# Now predict the value of the digit on the second half:
data_test, targets_test = data[n_samples / 2:], digits.target[n_samples / 2:]
#data_test = scaler.transform(data_test)
data_test, targets_test = (data[int(n_samples / 2):],
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

depending on whether n_samples is even or not this might actually be a line that raises a warning. But why not just use integer division?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, much cleaner. I'll change this.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

int(n_samples / 2)
->
n_samples // 2

@amueller
Copy link
Member

You can make the warnings become errors btw, which will make it easier to debug them.

@dalmia
Copy link
Contributor Author

dalmia commented Dec 15, 2016

On a side node, I get the following error:

../examples/applications/plot_out_of_core_classification.py failed to execute correctly:Traceback (most recent call last):
  File "/media/aman/BE66ECBA66EC7515/Open Source/scikit-learn/doc/sphinxext/sphinx_gallery/gen_rst.py", line 518, in execute_code_block
    exec(code_block, example_globals)
  File "<string>", line 57, in <module>
  File "/media/aman/BE66ECBA66EC7515/Open Source/scikit-learn/sklearn/feature_extraction/text.py", line 487, in transform
    X = self._get_hasher().transform(analyzer(doc) for doc in X)
  File "/media/aman/BE66ECBA66EC7515/Open Source/scikit-learn/sklearn/feature_extraction/hashing.py", line 146, in transform
    raise ValueError("Cannot vectorize empty sequence.")
ValueError: Cannot vectorize empty sequence.

Should I create an issue for this?

@dalmia
Copy link
Contributor Author

dalmia commented Dec 15, 2016

Not getting any more VisibleDeprecationWarnings but doesn't agree with CircleCI. Ran the examples where CircleCI was showing a warning as suggested by @tguillemot too, but was unable to reproduce them. I have the same numpy version. As per solving the warnings appearing locally, they are done. Any suggestion to help reproduce the warnings shown by CircleCI?
Thanks.

@tguillemot
Copy link
Contributor

@dalmia Thx
I will have a look to that tomorrow.

@tguillemot
Copy link
Contributor

I have investigate the problem and I think is linked to #8058. Let's see once it's solved.

Anyway, when I do make html in the doc directory, I see 35 other VisibleDeprecationWarning in examples/ensemble/plot_partial_dependence.py, examples/model_selection/plot_learning_curve.py and examples/semi_supervised/plot_label_propagation_digits_active_learning.py.
Can you have a look to them ?

@dalmia
Copy link
Contributor Author

dalmia commented Dec 16, 2016

@tguillemot Right on it. Thanks for looking up.

@dalmia
Copy link
Contributor Author

dalmia commented Dec 17, 2016

@tguillemot While I'm at it, could you please have a look at the issue I mentioned above about the example not running correctly? We could solve it as a part of this PR or create a separate issue for the same. Let me know of your opinion.

@dalmia
Copy link
Contributor Author

dalmia commented Dec 17, 2016

Okay, I have tried for a very long time now but have been unable to reproduce the warnings. I have uninstalled and reinstalled numpy and scikit-learn and already rebuilt it many times. The result is that I am unable to reproduce even the warnings I was getting previously in the master branch. For some unknown reason, the examples showing the warnings are not being run. For example, I have a few examples running:

Executing file ../examples/feature_stacker.py
../examples/feature_stacker.py ran in : 0 seconds

Executing file ../examples/hetero_feature_union.py
../examples/hetero_feature_union.py ran in : 0 seconds

Executing file ../examples/missing_values.py
../examples/missing_values.py ran in : 0 seconds

Executing file ../examples/applications/face_recognition.py
../examples/applications/face_recognition.py ran in : 0 seconds

Then I have this error:

/examples/applications/plot_out_of_core_classification.py failed to execute correctly:Traceback (most recent call last):
  File "/media/aman/BE66ECBA66EC7515/Open Source/scikit-learn/doc/sphinxext/sphinx_gallery/gen_rst.py", line 518, in execute_code_block
    exec(code_block, example_globals)
  File "<string>", line 57, in <module>
  File "/usr/local/lib/python2.7/dist-packages/sklearn/feature_extraction/text.py", line 487, in transform
    X = self._get_hasher().transform(analyzer(doc) for doc in X)
  File "/usr/local/lib/python2.7/dist-packages/sklearn/feature_extraction/hashing.py", line 146, in transform
    raise ValueError("Cannot vectorize empty sequence.")
ValueError: Cannot vectorize empty sequence.

And the examples supposed to show the warnings are present only here throughout the build:

Computation time summary:
	- plot_out_of_core_classification.py : 0.0011 sec
        - plot_compare_reduction.py : 0 sec
        - plot_kernel_approximation.py : 0 sec
        - plot_partial_dependence.py : 0 sec
        - plot_learning_curve.py : 0 sec
        - plot_label_propagation_digits_active_learning.py : 0 sec

I am really out of ideas now. Please suggest me an alternative.

@dalmia
Copy link
Contributor Author

dalmia commented Dec 19, 2016

The above error on the example seems solved now.

@tguillemot
Copy link
Contributor

I can't explain why you don't see the VisibleDeprecationWarning. On my case I just do :

cd doc
make html

Maybe if it helps you I use :

  • Python 3.5.2
  • Sphinx (sphinx-build) 1.4.8

I have checked and there are other real VisibleDeprecationWarning. For example in plot_lasso_and_elasticnet.py -- l35

@dalmia
Copy link
Contributor Author

dalmia commented Dec 19, 2016

@tguillemot Thank you for looking it up! I am using Python 2.7. Is this a deprecation for 3.5? If it is, sorry I was not aware of that.

@dalmia
Copy link
Contributor Author

dalmia commented Dec 19, 2016

I tried doing the whole process on another pc by cloning the master repo, installing it using 'python setup.py develop` and then the above 2 commands that you mentioned and did not get those warnings.

@tguillemot
Copy link
Contributor

In python 2.7, the / operator is integer division if inputs are integers. To solve these warning you need python 3.5.

@tguillemot
Copy link
Contributor

tguillemot commented Dec 19, 2016

I tried doing the whole process on another pc by cloning the master repo, installing it using 'python setup.py develop` and then the above 2 commands that you mentioned and did not get those warnings.

Maybe because you use python 2.7. I have given to you the line where the warnings comes from. You can see that they do not use an integer division. In python 2.7 no problem, in python 3.5 the result is a float => VisibleDeprecationWarning. Sorry I can not help you more on that.

If you cannot find the warnings, maybe it's better to merge your work and correct the other VisibleDeprecationWarning with another PR.

@dalmia
Copy link
Contributor Author

dalmia commented Dec 20, 2016

@tguillemot I did try as you said by running the files with python3. On the examples that I have corrected, wherever the warning was being raised due to integer division, I was indeed able to see them. However, I don't think this would work for cases where the indexes are defined as float arrays. Thank you very much for looking up, I was able to get some progress. However, since I am still unable to reproduce it on the examples that you mentioned, I guess the only option is to go over the examples and try to find the case.

@jnothman
Copy link
Member

What is this blocking on? I've not kept abreast of the conversation and an executive summary may be helpful!

@dalmia
Copy link
Contributor Author

dalmia commented Dec 29, 2016

@jnothman The issue demands to solve VisibleDeprecationWarnings appearing in many of the examples. However, I have been having problems reproducing those warnings. I have cross checked numpy, scipy, sphinx, etc. versions and all seem to match those of the build linked in the issue thread. I have also tried to use Python3 to get the errors as suggested above, but without any success. So, the problem remains that I have been unable to reproduce the warnings appearing in the CircleCI build.

@tguillemot
Copy link
Contributor

Sorry for the late answer.
@dalmia I've send you my log to find the VisibleDeprecationWarnings. If you can solve them it will be great, if you can't we will just merge the PR. :)

@dalmia
Copy link
Contributor Author

dalmia commented Jan 20, 2017

So, after having trying several things, I have been unable to reproduce the warnings in the files that CircleCI shows. However, I have found VisibleDeprecation in other files that maybe CircleCI didn't catch. These files are - plot_multioutput_face_completion.py, plot_tomography_l1_reconstruction.py,
plot_digits_classification.py, plot_robust_vs_empirical_covariance.py, plot_compare_cross_decomposition.py, plot_sparse_coding.py, plot_iris_exercise.py, plot_lasso_and_elasticnet.py, plot_kde_1d.py, plot_svm_scale_c.py and /plot_unveil_tree_structure.py. So, I'll try to remove these.

@dalmia
Copy link
Contributor Author

dalmia commented Jan 21, 2017

@tguillemot Please have a look. Thanks!

@dalmia
Copy link
Contributor Author

dalmia commented Jan 21, 2017

Also, on observing examples/ensemble/plot_partial_dependence.py(the one that you mentioned but which I am unable to reproduce), I see that pdp here might be the reason for the warning as it's dtype is float, but I don't see it being used as an index:

    pdp, axes = partial_dependence(clf, target_feature,
                                   X=X_train, grid_resolution=50)
    XX, YY = np.meshgrid(axes[0], axes[1])
    Z = pdp[0].reshape(list(map(np.size, axes))).T
    ax = Axes3D(fig)
    surf = ax.plot_surface(XX, YY, Z, rstride=1, cstride=1, cmap=plt.cm.BuPu)

Please let me know what do you feel.

Copy link
Contributor

@tguillemot tguillemot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know neither.

X_test = test[:, :np.ceil(0.5 * n_pixels)]
y_test = test[:, np.floor(0.5 * n_pixels):]
# Upper half of the faces
X_train = train[:, :np.int64(np.ceil(0.5 * n_pixels))]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

n_pixels//2

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

np.ceil returns float as the dtype. So, this conversion can't be avoided.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(n_pixels + 1) // 2 ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using (n_pixels // 2), the value is 2048, which becomes 2048.0 from np.ceil.

>>> np.ceil(2048)
2048.0

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need ceil or I miss something ?
Just remove np.int64(np.ceil(0.5 * n_pixels)) and replace it by (n_pixels +1) // 2.

>>> np.int64(np.ceil(0.5 * 110))
55

>>> (110 + 1) // 2 
55

>>> np.int64(np.ceil(0.5 * 111))
56

>>> (111 + 1) // 2 
56

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh! Sorry I had misunderstood what you were trying to say. I'll make the change. Thanks.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No pb, I wasn't clear enough :)

# scores are in the order of param_grid iteration, which is alphabetical
mean_scores = mean_scores.reshape(len(C_OPTIONS), -1, len(N_FEATURES_OPTIONS))
# select score for best C
mean_scores = mean_scores.max(axis=0)
bar_offsets = (np.arange(len(N_FEATURES_OPTIONS)) *
(len(reducer_labels) + 1) + .5)
bar_offsets = np.array(bar_offsets, dtype=np.int)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is it solving the problem ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True, this is not required. Reverting it.

@@ -82,6 +82,7 @@
for j in range(repeat):

rng = np.random.RandomState(i * j)
n_outliers = np.int64(n_outliers)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we change dtype(range_n_outliers) to be np.int ?

@@ -43,7 +43,7 @@ def _not_in_sphinx():
def atomic_benchmark_estimator(estimator, X_test, verbose=False):
"""Measure runtime prediction of each instance."""
n_instances = X_test.shape[0]
runtimes = np.zeros(n_instances, dtype=np.float)
runtimes = np.zeros(n_instances, dtype=np.int)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I still not see why it solves the problem ?

@lesteve
Copy link
Member

lesteve commented Feb 1, 2017

Please rebase on master to get rid of the CircleCI failure:

./miniconda.sh: option requires an argument -- p

as noted in #7565 (comment).

@dalmia
Copy link
Contributor Author

dalmia commented Feb 3, 2017

Seems ready for merge then.

lesteve
lesteve previously requested changes Feb 3, 2017
@@ -53,7 +53,7 @@
digits = load_digits()
grid.fit(digits.data, digits.target)

mean_scores = np.array(grid.cv_results_['mean_test_score'])
mean_scores = np.array(grid.cv_results_['mean_test_score'], dtype=np.int)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, what? Why do you turn scores into ints?
Also this line is too convoluted anyway, it could be:

mean_scores = grid.cv_results_['mean_test_score'] 

which is already an array.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Best is not to modify the example, I don't see any warning when I run it.

@@ -68,6 +68,7 @@
range_n_outliers = np.concatenate(
(np.linspace(0, n_samples / 8, 5),
np.linspace(n_samples / 8, n_samples / 2, 5)[1:-1]))
range_n_outliers = np.array(range_n_outliers, dtype=np.int)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use .astype(np.int) on the previous array (you can do everything in a single statement)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh yes, I didn't see it. I'll make the change.

@lesteve
Copy link
Member

lesteve commented Feb 3, 2017

The Travis error seems like a glitch too me, The test are passing and the status is red somehow ... ignore it for now.

@lesteve
Copy link
Member

lesteve commented Feb 3, 2017

I have no idea what is happening with Travis, I'll restart the build to see if that goes away ...

@lesteve lesteve dismissed their stale review February 3, 2017 11:46

Comments were addressed

@dalmia
Copy link
Contributor Author

dalmia commented Feb 3, 2017

Is it retaining this behavior in other PRs too?

@lesteve
Copy link
Member

lesteve commented Feb 3, 2017

Is it retaining this behavior in other PRs too?

I am seeing a similar thing in one of my joblib PR.

@dalmia
Copy link
Contributor Author

dalmia commented Feb 3, 2017

So, is it safe enough to just merge the PR?

@lesteve
Copy link
Member

lesteve commented Feb 3, 2017

So, is it safe enough to just merge the PR?

We could merge the PR but then the risk is that master is red and I'd rather avoid unnecessary confusion. I am hoping that Travis will be fixed in a reasonable amount of time.

@dalmia
Copy link
Contributor Author

dalmia commented Feb 3, 2017

Fair enough. Waiting for the fix then.

@lesteve
Copy link
Member

lesteve commented Feb 3, 2017

I restarted the builds a few time and now it seems like Travis is passing. Let's merge this one and see what happens.

Thanks @dalmia!

@lesteve lesteve merged commit 13cc121 into scikit-learn:master Feb 3, 2017
@dalmia
Copy link
Contributor Author

dalmia commented Feb 3, 2017

Thank you @lesteve.

@dalmia dalmia deleted the 8017 branch February 3, 2017 14:27
@tguillemot
Copy link
Contributor

Thanks @dalmia

@lesteve
Copy link
Member

lesteve commented Feb 3, 2017

For the record after merging this PR, master is red. I opened an issue on the Travis repo about this:
travis-ci/travis-ci#7264

sergeyf pushed a commit to sergeyf/scikit-learn that referenced this pull request Feb 28, 2017
@Przemo10 Przemo10 mentioned this pull request Mar 17, 2017
Sundrique pushed a commit to Sundrique/scikit-learn that referenced this pull request Jun 14, 2017
jakirkham pushed a commit to jakirkham/scikit-learn that referenced this pull request Jun 19, 2017
amueller pushed a commit that referenced this pull request Jun 19, 2017
* Fix tests on numpy master (#7946)

Until now we were in a edge case on assert_array_equal

* Fix tests on numpy master (#8355)

numpy.apply_along_axis has changed behaviour when the function passed
in returns a 2d array

* [MRG] Updated plot_stock_market.py to use Google Finance (#9010)

* DOC updated plot_stock_market.py to use Google Finance

The implementations is intentionally very basic not to distract the users
from the example. Specifically unlike ``quotes_historical_yahoo_ochl`` it
does not cache downloaded data.

I also had to remove some symbols because the have no data on Google for
the specified date interval. These are WBA, LMT, KFT and MTU.

Closes #8899

* DOC removed plot_stock_market.py from expected failing examples

* Addressed review comments

* Addressed another pass of review comments

* [MRG] Remove DeprecationWarnings in examples due to using floats instead of ints (#8040)
NelleV pushed a commit to NelleV/scikit-learn that referenced this pull request Aug 11, 2017
paulha pushed a commit to paulha/scikit-learn that referenced this pull request Aug 19, 2017
maskani-moh pushed a commit to maskani-moh/scikit-learn that referenced this pull request Nov 15, 2017
lemonlaug pushed a commit to lemonlaug/scikit-learn that referenced this pull request Jan 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Examples use floats when they should use integers (numpy deprecation)
6 participants