Estou usando o python 2.7 no Ubuntu 14.04. Eu instalei o scikit-learn, numpy e matplotlib com estes comandos:
sudo apt-get install build-essential python-dev python-numpy \
python-numpy-dev python-scipy libatlas-dev g++ python-matplotlib \
ipython
Mas quando eu importo esses pacotes:
from sklearn.cross_validation import train_test_split
Devolve-me este erro:
ImportError: No module named sklearn.cross_validation
O que eu preciso fazer?
python
scikit-learn
arthurckl
fonte
fonte
Respostas:
Ele deve estar relacionado à renomeação e descontinuação do
cross_validation
submódulo paramodel_selection
. Tente substituircross_validation
pormodel_selection
fonte
train_test_split agora está em model_selection. Basta digitar:
deveria funcionar
fonte
Eu acho que a seleção cruzada não está mais ativa. Em vez disso, devemos usar a seleção de modelos. Você pode escrever para rodar,
from sklearn.model_selection import train_test_split
É isso aí.
fonte
Verifique se o Anaconda está instalado e crie um virtualenv usando o conda . Isso garantirá que todas as importações funcionem
fonte
sklearn.cross_validation
agora foi alterado parasklearn.model_selection
Apenas use
Eu acho que vai funcionar.
fonte
mudou para
Confira a documentação aqui: https://scikit-learn.org/stable/modules/cross_validation.html
fonte
Talvez seja devido à descontinuação do sklearn.cross_validation. Substitua sklearn.cross_validation por sklearn.model_selection
Ref- https://github.com/amueller/scipy_2015_sklearn_tutorial/issues/60
fonte
Dividindo o conjunto de dados no conjunto de treinamento e no conjunto de teste
fonte
Passado:
from sklearn.cross_validation
(Este pacote foi descontinuado na versão 0.18 a partir de 0.20 em diante, foi alterado parafrom sklearn import model_selection
).Presente:
from sklearn import model_selection
Exemplo 2:
Passado:
from sklearn.cross_validation import cross_val_score
(Versão 0.18, que está obsoleta)Presente:
from sklearn.model_selection import cross_val_score
fonte
sklearn.cross_validation
agora foi alterado parasklearn.model_selection
Apenas mude
para
fonte
mude o código assim
fonte
Se você tiver um código que precise executar várias versões, poderá fazer algo assim:
Porém, isso não é ideal porque você está comparando versões de pacotes como strings, o que geralmente funciona, mas nem sempre. Se você deseja instalar
packaging
, esta é uma abordagem muito melhor:fonte
cross_validation foi descontinuada há algum tempo, tente trocá-lo com model_selection
fonte
train_test_split
faz parte do módulosklearn.model_selection
, portanto, pode ser necessário importar o módulo demodel_selection
Código:
fonte
Temos que fazer o downgrade do scikit-learn para a versão compatível mais recente. E isso pode ser feito após a ativação do ambiente conda. Use os seguintes comandos para fazer o downgrade do scikit-learn:
OU
Quando não queremos fazer o downgrade do scikit-learn. Todos sabíamos que o nome "cross_validation" foi descontinuado nas versões mais recentes do scikit-learn e foi substituído por "model_selection" dentro da nova versão do anaconda. Portanto, podemos receber um aviso ou até um erro.
Para evitar isso, precisamos apenas substituir:
para
Espero que isso ajude a resolver o problema.
fonte