Estoy usando python 2.7 en Ubuntu 14.04. Instalé scikit-learn, numpy y matplotlib con estos comandos:
sudo apt-get install build-essential python-dev python-numpy \
python-numpy-dev python-scipy libatlas-dev g++ python-matplotlib \
ipython
Pero cuando importo estos paquetes:
from sklearn.cross_validation import train_test_split
Me devuelve este error:
ImportError: No module named sklearn.cross_validation
¿Lo que necesito hacer?
python
scikit-learn
arthurckl
fuente
fuente
Respuestas:
Debe relacionarse con el cambio de nombre y desaprobación del
cross_validation
submódulo amodel_selection
. Intenta sustituirlocross_validation
pormodel_selection
fuente
train_test_split ahora está en model_selection. Sólo tipo:
deberia de funcionar
fuente
Supongo que la selección cruzada ya no está activa. Deberíamos usar en su lugar la selección del modelo. Puedes escribirlo para correr,
from sklearn.model_selection import train_test_split
Eso es.
fuente
Asegúrese de tener instalado Anaconda y luego cree un virtualenv usando conda . Esto asegurará que todas las importaciones funcionen
fuente
sklearn.cross_validation
ahora se cambia asklearn.model_selection
Solo usa
Creo que eso funcionará.
fuente
ha cambiado a
Consulte la documentación aquí: https://scikit-learn.org/stable/modules/cross_validation.html
fuente
Puede ser debido a la depreciación de sklearn.cross_validation. Reemplace sklearn.cross_validation con sklearn.model_selection
Ref. Https://github.com/amueller/scipy_2015_sklearn_tutorial/issues/60
fuente
División del conjunto de datos en el conjunto de entrenamiento y el conjunto de prueba
fuente
Pasado:
from sklearn.cross_validation
(Este paquete está en desuso en la versión 0.18 de 0.20 en adelante se cambia afrom sklearn import model_selection
).Presente:
from sklearn import model_selection
Ejemplo 2
Pasado:
from sklearn.cross_validation import cross_val_score
(Versión 0.18 que está en desuso)Presente:
from sklearn.model_selection import cross_val_score
fuente
sklearn.cross_validation
ahora se cambia asklearn.model_selection
Solo cambia
a
fuente
cambia el código así
fuente
Si tiene un código que necesita ejecutar varias versiones, puede hacer algo como esto:
Sin embargo, esto no es ideal porque está comparando versiones de paquetes como cadenas, lo que generalmente funciona pero no siempre. Si está dispuesto a instalar
packaging
, este es un enfoque mucho mejor:fuente
cross_validation fue obsoleto hace algún tiempo, intente cambiarlo por model_selection
fuente
train_test_split
es parte del módulosklearn.model_selection
, por lo tanto, es posible que deba importar el módulo desdemodel_selection
Código:
fuente
O tenemos que degradar scikit-learn a la versión compatible más reciente. Y esto se puede hacer después de activar el entorno conda. Use los siguientes comandos para degradar scikit-learn:
O
Cuando no queremos degradar scikit-learn. Entonces todos supimos que el nombre "cross_validation" está en desuso en las versiones más nuevas de scikit-learn y fue reemplazado por "model_selection" dentro de la nueva versión de anaconda. Por lo tanto, podríamos recibir una advertencia o incluso un error.
Para evitar esto, solo necesitamos reemplazar:
a
Espero que esto ayude a resolver el problema.
fuente