我继承了一年前写的一些代码,所以我想当时它使用的是
   
    numpy 1.13
   
   (现在是v1.15.2)
   
    scipy 1.00rc
   
   (现在是v1.1.0),以及
   
    sklearn 0.19
   
   (现在是v.0.20.0)。
  
  
   它实现了
   
    Fisherâs LDA
   
   减少
   
    n
   
   -1的维空间
   
    n
   
   -一维空间,其结果是产生复数的numpy数组(由于浮点不精确)。然后这个数组被愉快地挑选并输入
   
    
     sklearn.cluster.MeanShift
    
   
   会立即引发异常:
  
    File "/â¦/lib/python3.6/site-packages/sklearn/cluster/mean_shift_.py", line 416, in fit
    X = check_array(X)
  File "/â¦/lib/python3.6/site-packages/sklearn/utils/validation.py", line 531, in check_array
    _ensure_no_complex_data(array)
  File "/â¦/lib/python3.6/site-packages/sklearn/utils/validation.py", line 354, in _ensure_no_complex_data
    "{}\n".format(array))
ValueError: Complex data not supported
  
   我仍然在学习这里发生的事情的数学细节,但我觉得奇怪的是,这段代码被声明为可运行的。
  
  
   我是不是丢了什么东西?版本更改是否导致了此回归,或者是否存在更基本的代码缺陷?我该如何着手解决这个问题?