1
resposta

Scikit-learning nao esta sendo reconhecido

Eu baixei o PIP e Scikit Learning pelo conda pois nao tinha conseguido normalmente.

Quando executo esse código

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 = [porco1, porco2, porco3, cachorro4, cachorro5, cachorro6]

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

apresenta esse erro:

Python 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> 
============== RESTART: C:/Users/Arthur/Documents/Python/teste.py ==============
Traceback (most recent call last):
  File "C:/Users/Arthur/Documents/Python/teste.py", line 14, in <module>
    from sklearn.naive_bayes import MultinomialNB
  File "C:\Users\Arthur\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\sklearn\__init__.py", line 82, in <module>
    from .base import clone
  File "C:\Users\Arthur\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\sklearn\base.py", line 17, in <module>
    from .utils import _IS_32BIT
ModuleNotFoundError: No module named 'sklearn.utils'
>>>
1 resposta

Oii Jose, tudo bem?

Quando eu estava fazendo essa aula também tive o mesmo problema. O que acontece é que a versão 3.9 do Python é a versão mais recente, saiu no final do ano passado, então algumas bibliotecas podem ter uma certa incompatibilidade.

O que eu posso sugerir para você fazer são duas coisas:

Primeira: Reinstalar o Python na sua máquina, utilizando uma versão anterior, como a 3.8.

Segunda: Manter a versão do Python que está usando, mas no Sublime utilizar o Anaconda (que muito provavelmete está utilizando a versão 3.8 do Python).

Bom, vou te explicar como fazer essa segunda opção...

Para conferir qual versão do Python está sendo usada na Anaconda, você pode utilizar o comando abaixo diretamente no cmd:

conda list python

Ele vai aparecer dessa forma aqui:

Resultado do comando conda list python e uma flecha vermelha apondando para a versão do Python contida no Ananconda

Para você adicionar o Anaconda no Sublime, você precisa abrir o "Command Palette" com o comando Ctrl+Shift+P e escrever Install Package Control.

Depois disso você abre novamente essa aba de comandos com o Ctrl+Shift+P e acha o Package Control: Install Package. Ele aparece uma nova janela e você digita Conda, ele vai aparecer uma janela como essa:

Resultado da procura Conda no Package Control

Depois de instalar o conda no sublime, você precisa colocar ela como Build System no projeto, dessa forma (Tools > Build System > Conda) Como colocar o Conda como Build System

Após fazer o passo acima, você consegue instalar packages do conda dentro do Sublime, listar os packages existentes, ets., apenas escrevendo conda na aba de comandos (Ctrl+Shift+P).

Resultado da pesquisa conda na aba de comandos

Uma pequena observação: O código que o Guilherme está usando na aula tem um pequeno erro que pode gerar novamente um empecilho para você. Na parte que fazemos print o correto é:

print(modelo.predict([misterioso]))

Sem adicionar as [], o código entende que passamos um array de apenas uma dimensão e ele espera um de 2 dimensões. Os colchetes, nesse caso, servem para que o array misterio fique dentro de outro array, tendo duas dimensões, e não causando nenhum erro.

Depois disso acredito você possa seguir o curso de forma normal. Se tiver mais alguma dúvida, estou por aqui!

Bons estudos ^^