1

7265 のサンプル132 の機能を持つデータセットがあり ます。scikit Learn の meanshift アルゴリズムを使用したいのですが、次のエラーが発生しました。

Traceback (most recent call last):
  File "C:\Users\OJ\Dropbox\Dt\Code\visual\facetest\facetracker_video.py", line 130, in <module>
    labels, centers = getClusters(data,clusters)
  File "C:\Users\OJ\Dropbox\Dt\Code\visual\facetest\facetracker_video.py", line 34, in getClusters
    ms.fit(np.array(dataarray))
  File "C:\python2.7\lib\site-packages\sklearn\cluster\mean_shift_.py", line 280, in fit
    cluster_all=self.cluster_all)
  File "C:\python2.7\lib\site-packages\sklearn\cluster\mean_shift_.py", line 137, in mean_shift
    nbrs = NearestNeighbors(radius=bandwidth).fit(sorted_centers)
  File "C:\python2.7\lib\site-packages\sklearn\neighbors\base.py", line 642, in fit
    return self._fit(X)
  File "C:\python2.7\lib\site-packages\sklearn\neighbors\base.py", line 180, in _fit
    raise ValueError("data type not understood")
ValueError: data type not understood

私のコード:

dataarray = np.array(data)
bandwidth = estimate_bandwidth(dataarray, quantile=0.2, n_samples=len(dataarray))
ms = MeanShift(bandwidth=bandwidth, bin_seeding=True)
ms.fit(dataarray)
labels = ms.labels_
cluster_centers = ms.cluster_centers_

データ変数のデータ型を確認すると、次のように表示されます。

print isinstance( dataarray, np.ndarray )
>>> True

dataarray.dtype帯域幅は0.925538333061 で、float64

私はscikit Learn 0.14.1を使用しています

sci-kit の他のアルゴリズムとクラスター化できます (kmeans と dbscan を試しました)。私は何を間違っていますか?


編集:

データは次の場所にあります: (pickle 形式) : http://ojtwist.be/datatocluster.p および : http://ojtwist.be/datatocluster.npz

4

1 に答える 1