Ich verwende Python 2.7 in Ubuntu 14.04. Ich habe scikit-learn, numpy und matplotlib mit folgenden Befehlen installiert:
sudo apt-get install build-essential python-dev python-numpy \
python-numpy-dev python-scipy libatlas-dev g++ python-matplotlib \
ipython
Aber wenn ich diese Pakete importiere:
from sklearn.cross_validation import train_test_split
Es gibt mir diesen Fehler zurück:
ImportError: No module named sklearn.cross_validation
Was ich tun muss?
python
scikit-learn
arthurckl
quelle
quelle
Antworten:
Es muss sich auf die Umbenennung und Ablehnung des
cross_validation
Untermoduls beziehenmodel_selection
. Versuchen Sie ersetzencross_validation
zumodel_selection
quelle
train_test_split befindet sich jetzt in model_selection. Schreib einfach:
es sollte funktionieren
quelle
Ich denke, die Kreuzauswahl ist nicht mehr aktiv. Wir sollten stattdessen die Modellauswahl verwenden. Sie können es schreiben, um zu laufen,
from sklearn.model_selection import train_test_split
Das ist es.
quelle
Stellen Sie sicher, dass Sie Anaconda installiert haben, und erstellen Sie dann eine virtuelle Umgebung mit conda . Dadurch wird sichergestellt, dass alle Importe funktionieren
quelle
sklearn.cross_validation
wird jetzt in geändertsklearn.model_selection
Benutz einfach
Ich denke das wird funktionieren.
quelle
hat sich geändert zu
Überprüfen Sie die Dokumentation hier: https://scikit-learn.org/stable/modules/cross_validation.html
quelle
Möglicherweise liegt es an der Ablehnung von sklearn.cross_validation. Bitte ersetzen Sie sklearn.cross_validation durch sklearn.model_selection
Ref- https://github.com/amueller/scipy_2015_sklearn_tutorial/issues/60
quelle
Aufteilen des Datensatzes in Trainingssatz und Testsatz
quelle
Vergangenheit:
from sklearn.cross_validation
(Dieses Paket ist in der Version 0.18 ab 0.20 veraltet und wird in geändert.from sklearn import model_selection
)Geschenk:
from sklearn import model_selection
Beispiel 2:
Vergangenheit:
from sklearn.cross_validation import cross_val_score
(Version 0.18, die veraltet ist)Geschenk :
from sklearn.model_selection import cross_val_score
quelle
sklearn.cross_validation
wird jetzt in geändertsklearn.model_selection
Nur ändern
zu
quelle
Ändern Sie den Code wie folgt
quelle
Wenn Sie Code haben, der verschiedene Versionen ausführen muss, können Sie Folgendes tun:
Dies ist jedoch nicht ideal, da Sie Paketversionen als Zeichenfolgen vergleichen, was normalerweise funktioniert, aber nicht immer. Wenn Sie zur Installation bereit sind,
packaging
ist dies ein viel besserer Ansatz:quelle
cross_validation war vor einiger Zeit veraltet. Versuchen Sie es mit model_selection auszuschalten
quelle
train_test_split
ist Teil des Modulssklearn.model_selection
, daher müssen Sie das Modul möglicherweise aus importierenmodel_selection
Code:
quelle
Entweder müssen wir scikit-learn auf die neueste kompatible Version herunterstufen. Dies kann nach Aktivierung der Conda-Umgebung erfolgen. Verwenden Sie die folgenden Befehle, um scikit-learn herunterzustufen:
ODER
Wenn wir Scikit-Learn nicht herabstufen wollen. Dann wussten wir alle, dass der Name "cross_validation" in neueren Versionen von scikit-learn veraltet ist und in der neuen Anaconda-Version durch "model_selection" ersetzt wurde. Daher erhalten wir möglicherweise eine Warnung oder sogar einen Fehler.
Um dies zu vermeiden, müssen wir nur ersetzen:
zu
Hoffe, dies wird helfen, das Problem zu lösen.
quelle