Ik gebruik python 2.7 in Ubuntu 14.04. Ik heb scikit-learn, numpy en matplotlib geïnstalleerd met deze commando’s:
sudo apt-get install build-essential python-dev python-numpy \
python-numpy-dev python-scipy libatlas-dev g++ python-matplotlib \
ipython
Maar als ik deze pakketten importeer:
from sklearn.cross_validation import train_test_split
Ik krijg deze foutmelding:
ImportError: No module named sklearn.cross_validation
Wat moet ik doen?
Antwoord 1, autoriteit 100%
Het moet betrekking hebben op het hernoemen en beëindigen van de cross_validation
-submodule naar model_selection
. Probeer cross_validation
te vervangen door model_selection
Antwoord 2, autoriteit 22%
train_test_split is nu in model_selection. Typ gewoon:
from sklearn.model_selection import train_test_split
het zou moeten werken
Antwoord 3, autoriteit 6%
Ik vermoed dat kruisselectie niet meer actief is. We zouden in plaats daarvan modelselectie moeten gebruiken. Je kunt het schrijven om uit te voeren, from sklearn.model_selection import train_test_split
Dat is het.
Antwoord 4, autoriteit 5%
Zorg ervoor dat u Anaconda hebt geïnstalleerd en vervolgens maak een virtualenv met conda. Dit zorgt ervoor dat alle invoer werkt
Python 2.7.9 |Anaconda 2.2.0 (64-bit)| (default, Mar 9 2015, 16:20:48)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://binstar.org
>>> from sklearn.cross_validation import train_test_split
Antwoord 5, autoriteit 4%
sklearn.cross_validation
is nu gewijzigd in sklearn.model_selection
Gebruik gewoon
from sklearn.model_selection import train_test_split
Ik denk dat dat zal werken.
Antwoord 6, autoriteit 3%
sklearn.cross_validation
is gewijzigd in
sklearn.model_selection
Bekijk hier de documentatie:
https://scikit-learn.org/stable/modules/cross_validation.html
Antwoord 7, autoriteit 2%
Misschien komt dit door de beëindiging van sklearn.cross_validation.
Vervang sklearn.cross_validation door sklearn.model_selection
Refer-
https://github.com/amueller/scipy_2015_sklearn_tutorial/issues/60
Antwoord 8, autoriteit 2%
De dataset opsplitsen in de trainingsset en testset
from sklearn.model_selection import train_test_split
Antwoord 9
Verleden: from sklearn.cross_validation
(Dit pakket is verouderd in versie 0.18 vanaf 0.20 en is gewijzigd in from sklearn import model_selection
).
Aanwezig: from sklearn import model_selection
Voorbeeld 2:
Verleden: from sklearn.cross_validation import cross_val_score
(versie 0.18 die is verouderd)
Aanwezig: from sklearn.model_selection import cross_val_score
Antwoord 10
sklearn.cross_validation
is nu gewijzigd in sklearn.model_selection
Verander gewoon
sklearn.cross_validation
naar
sklearn.model_selection
Antwoord 11
Als je code hebt die verschillende versies moet draaien, kun je zoiets als dit doen:
import sklearn
if sklearn.__version__ > '0.18':
from sklearn.model_selection import train_test_split
else:
from sklearn.cross_validation import train_test_split
Dit is echter niet ideaal omdat je pakketversies vergelijkt als strings, wat meestal werkt, maar niet altijd. Als je bereid bent om packaging
te installeren, is dit een veel betere aanpak:
from packaging.version import parse
import sklearn
if parse(sklearn.__version__) > parse('0.18'):
from sklearn.model_selection import train_test_split
else:
from sklearn.cross_validation import train_test_split
Antwoord 12
verander de code als volgt
# from sklearn.cross_validation import train_test_split
from sklearn.model_selection import train_test_split
Antwoord 13
cross_validation is enige tijd geleden beëindigd, probeer het uit te schakelen met model_selection
Antwoord 14
train_test_split
maakt deel uit van de module sklearn.model_selection
, daarom moet u de module mogelijk importeren uit model_selection
Code:
from sklearn.model_selection import train_test_split
Antwoord 15
De cross_validation
is niet meer beschikbaar.
Probeer model_selection
te gebruiken in plaats van cross_validation
:
from sklearn.model_selection import train_test_split