我继承了一年前写的一些代码,所以我想当时它使用的是
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
我仍然在学习这里发生的事情的数学细节,但我觉得奇怪的是,这段代码被声明为可运行的。
我是不是丢了什么东西?版本更改是否导致了此回归,或者是否存在更基本的代码缺陷?我该如何着手解决这个问题?