Для оператора! = If я получаю ValueError: Значение истинности массива с более чем одним элементом неоднозначно. Используйте a.any () или a.all () - PullRequest
0 голосов
/ 03 февраля 2020

Эй, я запускаю это для l oop и сталкиваюсь с ошибкой

for j in range(y_hat.shape[0]):
    if(np.not_equal(y_hat[j],y[j])):
        print(j)
        non_match_indexes.append(j)`
<ipython-input-96-b9feb96de0a0> in PLA(w, x, y, maxIter)

          9 
         10         for j in range(y_hat.shape[0]):
    ---> 11             if(np.not_equal(y_hat[j],y[j])):
         12                 print(j)
         13                 non_match_indexes.append(j)

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Может кто-нибудь, пожалуйста, помогите

1 Ответ

0 голосов
/ 03 февраля 2020

Попробуйте np.any():

if np.any(y_hat[j] != y[j]):
    # Code

Этот код учитывает как y_hat[j], так и y[j] np.array с аналогичными shape. Если вы проверяете скаляры, достаточно старого if y_hat[j] != y[j].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...