błędów w taki sposób:Tablice używane jako wskaźniki powinny mieć całkowitą (lub wartość logiczną) typu
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
Kody są jak poniżej:
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())
ja pomocą scikit-learn
opakowania, X-train
, y_train
są w formacie LIBSVM, X
jest funkcją: para wartości, y_train
jest docelową/etykietą, X_train
jest w formacie macierzy CSR, shrink_threshold
nie obsługuje rzadkiej macierzy CSR, więc dodaję .todense()
do X_train
, to dostałem ten błąd, czy ktoś mógłby mi pomóc to naprawić? Wielkie dzięki!
Jaka jest wartość 'y_train'? – mbatchkarov
Jestem również świadkiem błędu dla tej samej funkcji o nieco innych parametrach. – bearrito
Powinieneś zaakceptować odpowiedź – vumaasha