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

Erro ao subtrair matriz

Está ocorrendo o seguinte erro ao subtrair as matrizes:

Traceback (most recent call last): File "C:\Desenvolvimento\Repositorio\machine-learning\classificacao\classificacao.py", line 29, in diferencas = resultado - marcacoes_teste ValueError: operands could not be broadcast together with shapes (3,) (2,)

Estou executando o código do Vídeo 5 da Aula 01

Criei outro arquivo e executei o seguinte código e funcionou:

import numpy
a = numpy.array([1,2,3])
b = [1, 2, 3]
print(a - b)
1 resposta
solução!

Eu estava rodando esse código:

# eh gordinho? tem perninha curta? faz au au?
porco1 = [1, 1, 0];
porco2 = [1, 1, 0];
porco3 = [1, 1, 0];
cachorro1 = [1, 1, 1];
cachorro2 = [0, 1, 1];
cachorro3 = [0, 1, 1];

dados = [porco1, porco2, porco3, cachorro1, cachorro2, cachorro3]

marcacoes = [1, 1, 1, -1, -1, -1]

from sklearn.naive_bayes import MultinomialNB

modelo = MultinomialNB()
modelo.fit(dados, marcacoes)

misterioso1 = [1, 1, 1]
misterioso2 = [1, 0, 0]
misterioso3 = [1, 0, 1]

testes = [misterioso1, misterioso2, misterioso3]

marcacoes_teste = [-1, 1, 1]

resultado = modelo.predict(testes)
print(resultado)

diferencas = resultado - marcacoes_teste

acertos = [d for d in diferencas if d==0]

total_de_acertos = len(acertos)
total_de_elementos = len(testes)

taxa_de_acerto = 100.0 * total_de_acertos / total_de_elementos

print(taxa_de_acerto)

Troquei alguns valores das varíaveis misterioso e marcacoes_teste funcionou. Ficando assim:

# eh gordinho? tem perninha curta? se faz au au
porco1 =    [1, 1, 0]
porco2 =    [1, 1, 0]
porco3 =    [1, 1, 0]
cachorro1 = [1, 1, 1]
cachorro2 = [0, 1, 1]
cachorro3 = [0, 1, 1]

dados = [porco1, porco2, porco3, cachorro1, cachorro2, cachorro3]
marcacoes = [1, 1, 1, -1, -1, -1]

from sklearn.naive_bayes import MultinomialNB

modelo = MultinomialNB()
modelo.fit(dados, marcacoes)

misterioso1 = [1, 1, 1]
misterioso2 = [1, 0, 0]
misterioso3 = [1, 0, 1]
testes = [misterioso1, misterioso2, misterioso3]
marcacoes_teste = [-1, 1, 1]

resultado = modelo.predict(testes)
print(resultado)

diferencas = resultado - marcacoes_teste

acertos = [d for d in diferencas if d==0]
total_de_acertos = len(acertos)
total_de_elementos = len(testes)

taxa_de_acerto = 100.0 * total_de_acertos / total_de_elementos
print(taxa_de_acerto)