Als Indizes verwendete Arrays müssen vom Typ Integer (oder Boolean) sein

Fehler sind wie folgt:

Traceback (most recent call last):
  File "NearestCentroid.py", line 53, in <module>
    clf.fit(X_train.todense(),y_train)
  File "/usr/local/lib/python2.7/dist-packages/scikit_learn-0.13.1-py2.7-linux-i686.egg/sklearn/neighbors/nearest_centroid.py", line 115, in fit
    variance = np.array(np.power(X - self.centroids_[y], 2))
IndexError: arrays used as indices must be of integer (or boolean) type

Codes sind wie folgt:

distancemetric=['euclidean','l2']
for mtrc in distancemetric:
for shrkthrshld in [None]:
#shrkthrshld=0
#while (shrkthrshld <=1.0):
    clf = NearestCentroid(metric=mtrc,shrink_threshold=shrkthrshld)
    clf.fit(X_train.todense(),y_train)
    y_predicted = clf.predict(X_test.todense())

ich benutzescikit-learn Paket,X-train, y_train sind im LIBSVM-Format,X ist das Merkmal: Wertepaar,y_train ist das Ziel / Etikett,X_train liegt im CSR-Matrizenformat vor, dasshrink_threshold unterstützt keine CSR-Sparse-Matrix, füge ich hinzu.todense() zuX_train, dann habe ich diesen Fehler bekommen, kann mir jemand helfen, diesen Fehler zu beheben? Danke vielmals!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage