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

Problema na atividade 7 da aula 2 (The truth value of an array with more than one element is ambiguous...)

Oi, estou com um problema pra reproduzir localmente os resultados obtidos pelo professor. Tô usando o python 2.7 e meu código-fonte é:

from dados import carregar_acessos
x,y = carregar_acessos()

from sklearn.naive_bayes import MultinomialNB
modelo = MultinomialNB()
modelo.fit(x, y)

resultado = modelo.predict(x)
diferencas = resultado - y
print(diferencas)
acertos = [d for d in diferencas if d==0]
total_acertos = len(acertos)
total_elementos = len(x)
tx_acertos = 100.0 * total_acertos / total_elementos

print(tx_acertos)
print(total_elementos)

O resultado que tá saindo é:

PS C:\cursos\classificacao> & C:/Python27/python.exe c:/cursos/classificacao/classifica_acessos.py
C:\Python27\lib\site-packages\sklearn\utils\validation.py:761: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
  y = column_or_1d(y, warn=True)
[[0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 ...
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]
 [0 0 0 ... 0 0 0]]
Traceback (most recent call last):
  File "c:/cursos/classificacao/classifica_acessos.py", line 11, in <module>
    acertos = [d for d in diferencas if d==0]
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
1 resposta
solução!

Resolvi. Duplicado com https://cursos.alura.com.br/forum/topico-retorno-prompt-aula-02-curso-machine-learning-75220