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
FastICA throws warning with certain tolerance parameters #148
Comments
We should explore a wide range of Have you seen this warning with any other operators? |
So it looks like by default https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/decomposition/fastica_.py#L113 But quite frequently I'm finding that the limit that is compared against What's really weird though is that this issue seems to be really common on my progress_bar branch, and not on my branch for working on this issue (which comes off of master). Another odd thing, I've seen that on the same run sometimes a tolerance of Upping |
@amueller, you have any insight? |
Sorry, what's the question? What the range for the tolerance should be? |
(also GP here means genetic program, right? that's an evil way to abbreviate it ;) |
Right. How do we gauge the valid range for tol? And yes, GP = Genetic Programming. It's meant that for decades. ;-) On Wednesday, May 18, 2016, Andreas Mueller notifications@github.com
Randal S. Olson, Ph.D. E-mail: rso@randalolson.com | Twitter: @randal_olson |
Well depends on your community. Well tol and max_iter interact. And the algorithm not converging doesn't mean the value is not valid. Searching over it seems weird in the first place, though... Why do you do that? |
Should we just leave it at the default? What if it affects performance? On Wednesday, May 18, 2016, Andreas Mueller notifications@github.com
Randal S. Olson, Ph.D. E-mail: rso@randalolson.com | Twitter: @randal_olson |
it's a speed optimization though. Does tpot have a concept of accuracy time trade-off? |
If FastICA does not converge, does that mean that its results are not useful? I'm wondering if it'd be harmless to ignore those warnings. If it just results in mediocre results then I'd like to just have the GP weed out those not-so-great configurations. |
Should we just use the default then? Has that default been tuned? On Wednesday, May 18, 2016, Andreas Mueller notifications@github.com
Randal S. Olson, Ph.D. E-mail: rso@randalolson.com | Twitter: @randal_olson |
The defaults have been giving me the same warning, though. It's particularly odd. Edit: Oh, and it occurs with Iris and MNIST, but much more frequently with MNIST. |
The default probably hasn't been tuned. But if you don't consider time-accuracy trade-offs, tuning seems odd. |
So I'm not too familiar with the model, but the convergence criteria is essentially that the change in each estimated component falls under the tolerance, right? If that's the case, then to double down on what's been previously said, we could have useful (or at least mediocre) results without convergence if a subset of the components were just being stubborn. I agree with @teaearlgraycold in ignoring the warning and letting the GP weed them out (assuming they're usually worse pipelines). |
if you want to tune it, I'd also just ignore the warning. |
Thanks all for your input! We'll still allow TPOT to optimize the parameter for now, and ignore the warnings (per #149). |
Context of the issue
Sometimes calls to FastICA with evolve-able parameters yield the following warning:
UserWarning: FastICA did not converge. Consider increasing tolerance or the maximum number of iterations.
Process to reproduce the issue
The following code yielded the warning:
Possible fix
Setting a minimum value for
tol
in FastICA, or requiring more iterations.The text was updated successfully, but these errors were encountered: