Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

ValueError: Expected 2D array, got 1D array instead:

Não entendi o que é necessário para rodar o modelo do vídeo 3 e me retornar o resultado do [misterioso]. (aproximadamente minuto 12 do vídeo 3). Código digitado abaixo:

e gordinho? tem perninha curta? faz auau?

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]

misterioso = [1, 1, 1]

from sklearn.naive_bayes import MultinomialNB

modelo = MultinomialNB() modelo.fit(dados, marcacoes) print(modelo.predict(misterioso))

2 respostas
solução!

Tive este mesmo problema então passei como um np.array para solucionar o problema, no caso de ter uma array com um parâmetro .

from sklearn.naive_bayes import MultinomialNB
import numpy as np

porco1=    [1,1,0]    
porco2=    [1,1,0]    
porco3=    [1,1,0]    
cachorro4= [1,1,1]    
cachorro5= [0,1,1]    
cachorro6= [0,1,1]   

dados = np.array([porco1,porco2,porco3,cachorro4,cachorro5,cachorro6])
marcacoes= np.array([1, 1, 1, -1, -1, -1])

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

misterioso1 = np.array([1, 1, 1])
misterioso2 = np.array([1,0,0])
misterioso3= np.array([0,0,1])
testes= np.array([misterioso1, misterioso2, misterioso3])
marcacoes_teste = np.array([-1,1,-1])

Isso aqui também resolve:

misterioso = ([[1, 1, 1]])