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

Erro na classificacao.py

quando eu coloco python cassificacao.py da este erro

python: can't open file 'classificacao.py': [Errno 2] No such file or directory

5 respostas

Oi Murilo,

Em

python cassificacao.py

Você escreveu cassificacao. Mas pode ter escrito corretamente no seu pc . Daí vai precisar verificar se o arquivo está no mesmo diretório do caminho que aparece no terminal quando digita: No linux ou mac

pwd

ou no windows:

echo %cd%

acho que o problema era o sublime text porque quando eu coloquei no bloco de notas ele rodou so que com um problema, deu esse erro aqui: codigo:

# eh gordinho, tem perna 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]

misterioso = [1, 1, 1]

from sklearn.naive_bayes import MultinomialNB

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

erro:

Traceback (most recent call last):
  File "classificar.py", line 20, in <module>
    print(modelo.predict(misterioso))
  File "C:\Users\muril\AppData\Local\Programs\Python\Python38-32\lib\site-packages\sklearn\naive_bayes.py", line 77, in predict
    X = self._check_X(X)
  File "C:\Users\muril\AppData\Local\Programs\Python\Python38-32\lib\site-packages\sklearn\naive_bayes.py", line 477, in _check_X
    return check_array(X, accept_sparse='csr')
  File "C:\Users\muril\AppData\Local\Programs\Python\Python38-32\lib\site-packages\sklearn\utils\validation.py", line 73, in inner_f
    return f(**kwargs)
  File "C:\Users\muril\AppData\Local\Programs\Python\Python38-32\lib\site-packages\sklearn\utils\validation.py", line 620, in check_array
    raise ValueError(
ValueError: Expected 2D array, got 1D array instead:
array=[1 1 1].
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.
solução!

Nesse segundo caso o sublime text está funcionando direitinho. O erro aconteceu porque o misterioso que você passou é um array1d e ele esperava o 2d. Quando quiser fazer o predict de apenas um animal você pode seguir como no exemplo abaixo:


teste2 = [misterioso1]
resultado = modelo.predict(teste)

Repare que eu usei o colchetes no [misterioso1]. Isso transforma ele num array2d que é o que a função espera.

Muito obrigado!!!!

aconteceu o mesmo:

teste2 = [misterioso1] resultado = modelo.predict(teste)

resolveu

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software