ImportError: geen module met de naam sklearn.cross_validation

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

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4 × one =

Other episodes