This was rejected because attachments were > 40K

What's the preferred way to pass random/tmp files?


---------- Forwarded message ----------
From: Timmy Wilson <[email protected]>
Date: Fri, Dec 9, 2011 at 8:57 AM
Subject: Re: [Scikit-learn-general] RuntimeError: Factor is exactly singular
To: [email protected]


the eigen_solver='dense' option eliminates the error, but the results
look different

i attached the offending input (an adjacency matrix from twitter), and
the results of hessian w/ the dense option and standard w/ 30
neighbors


On Thu, Dec 8, 2011 at 11:19 PM, Jacob VanderPlas
<[email protected]> wrote:
> Timmy,
> Interesting... this means that none of the earlier ideas were on the
> right track, or else we'd see the same error for standard and modified.
> It turns out that Hessian and LTSA do very similar things.  I still
> haven't wrapped my mind around it intuitively, but what you're seeing
> probably means that the hessian estimator is identical in two
> neighborhoods.  I'm confused by the fact that adding noise and changing
> the number of neighbors is not affecting things...
>
> Can you try using eigen_solver='dense' (that should get around the
> problem, though it will be slow) and taking a look at the results to see
> if they're anywhere close to what standard and modified LLE give you?
>  Jake
>
> Timmy Wilson wrote:
>> 'standard' + 'modified' both work fine
>>
>> 'hessian' + 'ltsa' both have issues
>>
>> ltsa is printing:
>>
>> RuntimeWarning: Diagonal number 2 is exactly zero. Singular matrix.
>>
>> and then setting everything to -nan
>>
>> i tried adding random noise and increasing n_neighbors -- but no dice
>>
>> Fabian's suggestion is still under review --
>> https://github.com/scikit-learn/scikit-learn/pull/457
>>
>>
>>
>> On Thu, Dec 8, 2011 at 11:39 AM, Fabian Pedregosa
>> <[email protected]> wrote:
>>
>>> I reduced the problem to a difference of results with eigsh when
>>> working in shift-invert mode and when not. Notice that the following
>>> works with sigma=None but not with sigma=0. , thus seems to me that we
>>> should fall back to non invert-mode for singular matrices (see
>>> asociated pull request).
>>>
>>> ```
>>> In [8]: M = sparse.csr_matrix([[1, 1, 1], [1, 1, 1], [1, 1, 1.]])
>>>
>>> In [9]: linalg.eigsh(M, 1)
>>> Out[9]:
>>> (array([ 3.]),
>>>  array([[-0.57735027],
>>>       [-0.57735027],
>>>       [-0.57735027]]))
>>>
>>> In [10]: linalg.eigsh(M, 1, sigma=0.)
>>> ---------------------------------------------------------------------------
>>> RuntimeError                              Traceback (most recent call last)
>>> /home/fabian/dev/sandbox/<ipython-input-10-f646f5be93ec> in <module>()
>>> ----> 1 linalg.eigsh(M, 1, sigma=0.)
>>>
>>> /home/fabian/envs/p26/lib/python2.6/site-packages/scipy/sparse/linalg/eigen/arpack/arpack.pyc
>>> in eigsh(A, k, M, sigma, which, v0, ncv, maxiter, tol,
>>> return_eigenvectors, Minv, OPinv, mode)
>>>   1484             if OPinv is None:
>>>   1485                 Minv_matvec = get_OPinv_matvec(A, M, sigma,
>>> -> 1486                                                symmetric=True, 
>>> tol=tol)
>>>   1487             else:
>>>   1488                 OPinv = _aslinearoperator_with_dtype(OPinv)
>>>
>>> /home/fabian/envs/p26/lib/python2.6/site-packages/scipy/sparse/linalg/eigen/arpack/arpack.pyc
>>> in get_OPinv_matvec(A, M, sigma, symmetric, tol)
>>>   1004 def get_OPinv_matvec(A, M, sigma, symmetric=False, tol=0):
>>>   1005     if sigma == 0:
>>> -> 1006         return get_inv_matvec(A, symmetric=symmetric, tol=tol)
>>>   1007
>>>   1008     if M is None:
>>>
>>> /home/fabian/envs/p26/lib/python2.6/site-packages/scipy/sparse/linalg/eigen/arpack/arpack.pyc
>>> in get_inv_matvec(M, symmetric, tol)
>>>    997         if isspmatrix_csr(M) and symmetric:
>>>    998             M = M.T
>>> --> 999         return SpLuInv(M).matvec
>>>   1000     else:
>>>   1001         return IterInv(M, tol=tol).matvec
>>>
>>> /home/fabian/envs/p26/lib/python2.6/site-packages/scipy/sparse/linalg/eigen/arpack/arpack.pyc
>>> in __init__(self, M)
>>>    890     """
>>>    891     def __init__(self, M):
>>> --> 892         self.M_lu = splu(M)
>>>    893         LinearOperator.__init__(self, M.shape, self._matvec,
>>> dtype=M.dtype)
>>>    894         self.isreal = not np.issubdtype(self.dtype, 
>>> np.complexfloating)
>>>
>>> /home/fabian/envs/p26/lib/python2.6/site-packages/scipy/sparse/linalg/dsolve/linsolve.pyc
>>> in splu(A, permc_spec, diag_pivot_thresh, drop_tol, relax, panel_size,
>>> options)
>>>    171         _options.update(options)
>>>    172     return _superlu.gstrf(N, A.nnz, A.data, A.indices, A.indptr,
>>> --> 173                           ilu=False, options=_options)
>>>    174
>>>    175 def spilu(A, drop_tol=None, fill_factor=None, drop_rule=None,
>>> permc_spec=None,
>>>
>>> RuntimeError: Factor is exactly singular
>>>
>>> In [11]:
>>> ```
>>>
>>> ------------------------------------------------------------------------------
>>> Cloud Services Checklist: Pricing and Packaging Optimization
>>> This white paper is intended to serve as a reference, checklist and point of
>>> discussion for anyone considering optimizing the pricing and packaging model
>>> of a cloud services business. Read Now!
>>> http://www.accelacomm.com/jaw/sfnl/114/51491232/
>>> _______________________________________________
>>> Scikit-learn-general mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
>>>
>>
>> ------------------------------------------------------------------------------
>> Cloud Services Checklist: Pricing and Packaging Optimization
>> This white paper is intended to serve as a reference, checklist and point of
>> discussion for anyone considering optimizing the pricing and packaging model
>> of a cloud services business. Read Now!
>> http://www.accelacomm.com/jaw/sfnl/114/51491232/
>> _______________________________________________
>> Scikit-learn-general mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
>>
>
> ------------------------------------------------------------------------------
> Cloud Services Checklist: Pricing and Packaging Optimization
> This white paper is intended to serve as a reference, checklist and point of
> discussion for anyone considering optimizing the pricing and packaging model
> of a cloud services business. Read Now!
> http://www.accelacomm.com/jaw/sfnl/114/51491232/
> _______________________________________________
> Scikit-learn-general mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/scikit-learn-general

------------------------------------------------------------------------------
Cloud Services Checklist: Pricing and Packaging Optimization
This white paper is intended to serve as a reference, checklist and point of 
discussion for anyone considering optimizing the pricing and packaging model 
of a cloud services business. Read Now!
http://www.accelacomm.com/jaw/sfnl/114/51491232/
_______________________________________________
Scikit-learn-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general

Reply via email to