zoukankan      html  css  js  c++  java
  • 使用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:UsersxyjAppDataRoamingPythonPython37site-packagessklearndecomposition\_pca.py", line 351, in fit
        self._fit(X)
      File "C:UsersxyjAppDataRoamingPythonPython37site-packagessklearndecomposition\_pca.py", line 425, in _fit
        return self._fit_truncated(X, n_components, self._fit_svd_solver)
      File "C:UsersxyjAppDataRoamingPythonPython37site-packagessklearndecomposition\_pca.py", line 545, in _fit_truncated
        random_state=random_state)
      File "C:UsersxyjAppDataRoamingPythonPython37site-packagessklearnutilsvalidation.py", line 73, in inner_f
        return f(**kwargs)
      File "C:UsersxyjAppDataRoamingPythonPython37site-packagessklearnutilsextmath.py", line 358, in randomized_svd
        Uhat, s, V = linalg.svd(B, full_matrices=False)
      File "X:anacondalibsite-packagesscipylinalgdecomp_svd.py", line 109, in svd
        a1 = _asarray_validated(a, check_finite=check_finite)
      File "X:anacondalibsite-packagesscipy\_lib\_util.py", line 239, in _asarray_validated
        a = toarray(a)
      File "C:UsersxyjAppDataRoamingPythonPython37site-packages
    umpylibfunction_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)

    至于原因。。。没时间看了

  • 相关阅读:
    sql分页查询
    vi编辑器使用
    Linux命令:
    ubuntu中mysql忘记密码如何修改
    关于MySQL中自增的理解和设置
    MySQL中是索引
    MySQL中的分页操作结合python
    MySQL的分组和排序
    MySQL多表连接操作
    .NET Core App部署Linux
  • 原文地址:https://www.cnblogs.com/youmuchen/p/14613746.html
Copyright © 2011-2022 走看看