dtype несоответствие в sklearn на k-средствах

Я пытаюсь запустить первый ответ на этот вопрос. Python. Связать кластер k-means с экземпляром, но я получаю следующую ошибку:

Traceback (most recent call last): File "test.py", line 16, in <module> model = sklearn.cluster.k_means(a, clust_centers) File "/usr/local/lib/python2.7/dist-packages/scikit_learn-0.14.1-py2.7-linux-i686.egg/sklearn/cluster/k_means_.py", line 267, in k_means x_squared_norms=x_squared_norms, random_state=random_state) File "/usr/local/lib/python2.7/dist-packages/scikit_learn-0.14.1-py2.7-linux-i686.egg/sklearn/cluster/k_means_.py", line 386, in _kmeans_single centers = _k_means._centers_dense(X, labels, n_clusters, distances) File "_k_means.pyx", line 280, in sklearn.cluster._k_means._centers_dense (sklearn/cluster/_k_means.c:4268) ValueError: Buffer dtype mismatch, expected 'DOUBLE' but got 'float' 

Когда я запускал эту программу в первый раз, она работала. Но последующие прогоны терпят неудачу с этой ошибкой.

Системные спецификации:

Python 2.7.3 (default, Sep 26 2013, 20:08:41) [GCC 4.6.3] on linux2

numpy.__version__ '1.8.0'

sklearn.__version__ '0.14.1'

ubuntu 12.04

Я столкнулся с этой проблемой, пытаясь запустить k-средства на своих собственных данных. Создание нового массива с типом данных «double» решило мою проблему.

 array_double = np.array(a, dtype=np.double) 

Мои данные ранее были сохранены как «float32».