使用sklearn的pca模塊fit數據報錯“ValueError: array must not contain infs or NaNs”


 

 

使用sklearn的pca模塊fit數據報錯“ValueError: array must not contain infs or NaNs”:

Traceback (most recent call last):
  File "xxx.py", line 57, in <module>
    pca.fit(train_X)
  File "C:\Users\xyj\AppData\Roaming\Python\Python37\site-packages\sklearn\decomposition\_pca.py", line 351, in fit
    self._fit(X)
  File "C:\Users\xyj\AppData\Roaming\Python\Python37\site-packages\sklearn\decomposition\_pca.py", line 425, in _fit
    return self._fit_truncated(X, n_components, self._fit_svd_solver)
  File "C:\Users\xyj\AppData\Roaming\Python\Python37\site-packages\sklearn\decomposition\_pca.py", line 545, in _fit_truncated
    random_state=random_state)
  File "C:\Users\xyj\AppData\Roaming\Python\Python37\site-packages\sklearn\utils\validation.py", line 73, in inner_f
    return f(**kwargs)
  File "C:\Users\xyj\AppData\Roaming\Python\Python37\site-packages\sklearn\utils\extmath.py", line 358, in randomized_svd
    Uhat, s, V = linalg.svd(B, full_matrices=False)
  File "X:\anaconda\lib\site-packages\scipy\linalg\decomp_svd.py", line 109, in svd
    a1 = _asarray_validated(a, check_finite=check_finite)
  File "X:\anaconda\lib\site-packages\scipy\_lib\_util.py", line 239, in _asarray_validated
    a = toarray(a)
  File "C:\Users\xyj\AppData\Roaming\Python\Python37\site-packages\numpy\lib\function_base.py", line 499, in asarray_chkfinite
    "array must not contain infs or NaNs")
ValueError: array must not contain infs or NaNs

  參考github對應庫的issues進行解決,https://github.com/scikit-learn/scikit-learn/issues/18138,第一次fit在try里面運行,第二次就成功fit。:

try:
    pca.fit(train_X)
except:
    pca.fit(train_X)

至於原因。。。沒時間看了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM