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()