Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

'bool' object has no attribute 'sum' Na comparação das previsões com o teste_y

Dado o código:

animal_desconhecido_01 = [1, 1, 1]
animal_desconhecido_02 = [0, 0, 0]
animal_desconhecido_03 = [1, 0, 1]
animal_desconhecido_04 = [0, 1, 0]
animal_desconhecido_05 = [1, 0, 0]
animal_desconhecido_06 = [0, 1, 1]
animal_desconhecido_07 = [1, 1, 0]
animal_desconhecido_08 = [0, 0, 1]
animal_desconhecido_09 = [1, 0, 1]
animal_desconhecido_10 = [0, 1, 1]

teste_x = [
    animal_desconhecido_01, 
    animal_desconhecido_02, 
    animal_desconhecido_03, 
    animal_desconhecido_04, 
    animal_desconhecido_05, 
    animal_desconhecido_06, 
    animal_desconhecido_07, 
    animal_desconhecido_08, 
    animal_desconhecido_09, 
    animal_desconhecido_10
]
teste_y = [0, 1, 1]

previsoes = model.predict(teste_x)

corretos = (previsoes == teste_y).sum()

text_x_len = len(teste_x)
taxa_acerto = corretos / text_x_len

print("Taxa de acerto: ", taxa_acerto * 100)

Recebo o erro:

AttributeError                            Traceback (most recent call last)
<ipython-input-4-64dbd179608e> in <cell line: 17>()
     15 previsoes = model.predict(teste_x)
     16 
---> 17 corretos = (previsoes == teste_y).sum()
     18 
     19 text_x_len = len(teste_x)

AttributeError: 'bool' object has no attribute 'sum'

Algo mudou desde então para que não funcione dessa forma mais?

1 resposta
solução!

O error nesse caso é causado pelo fato do seu teste_y possuir apenas 3 elementos, enquanto suas previsoes possuem 10 elementos. Como são arrays com quantidades diferentes de elementos, ocorre esse erro. Para resolver, a quantidade de elementos em teste_y (valores alvo que vc sabe que seriam os certos pra cada animal misterioso inserido no teste_x) deve ser igual a quantidade de elementos em teste_x (quantidade de animais misteriosos)