13
votes

ModuleNotFoundError: Aucun module nommé 'sklearn.externals.six'

Je reçois toujours l'erreur

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
import pandas as pd
import mglearn
import numpy as np
from IPython.display import display
import matplotlib as pl
import sklearn

iris_dataset = load_iris()
X_train, X_test, y_train, y_test = train_test_split(iris_dataset['data'], iris_dataset['target'], random_state=0)
iris_dataframe = pd.DataFrame(X_train, columns=iris_dataset.feature_names)
pd.plotting.scatter_matrix(iris_dataframe, c=y_train, figsize=(15, 15), marker='o', hist_kwds={'bins':20}, s=60, alpha=.8, cmap=mglearn.cm3)

lors de l'exécution du code ci-dessous:

ModuleNotFoundError: No module named 'sklearn.externals.six'

Y a-t-il un module que je n'ai pas importé ou installé?


3 commentaires

Je ne suis pas familier avec ces packages, mais il peut être utile de savoir quelle version de sklearn vous avez installée.


Veuillez mettre à jour votre message pour inclure 1) la trace d'erreur complète (où l'erreur apparaît-elle exactement?) Ypur scikit-learn version ( sklearn.__version__ )


en relation: stackoverflow.com/questions/61881987/...


7 Réponses :


8
votes

Le module sklearn.externals.six a été supprimé dans la version 0.23. si vous souhaitez utiliser ce module, vous devez revenir à la version 0.22 ou inférieure.


0 commentaires

1
votes

Ce sera dans le module pandas 0.22 car après la mise à jour de la version, il a été supprimé ie sklearn.external.six. vous pouvez vérifier la documentation si toujours confus.


0 commentaires

2
votes

J'ai pu exécuter votre code en exécutant simplement ces commandes:

C:\Windows\system32>pip list
...
mglearn           0.1.9
...
scikit-learn      0.23.1
...

Veuillez noter que j'ai cette version de Python sur mon système:

C:\Windows\system32>python --version
Python 3.8.3

Voici les versions de sklearn et mglearn sur mon système:

C:\Windows\system32>pip install sklearn
Collecting sklearn
  Downloading https://files.pythonhosted.org/packages/1e/7a/dbb3be0ce9bd5c8b7e3d87328e79063f8b263b2b1bfa4774cb1147bfcd3f/sklearn-0.0.tar.gz
Collecting scikit-learn (from sklearn)
  Downloading https://files.pythonhosted.org/packages/7e/e5/888491b7e2c16718a68dfd8498325e8927003410b2d19ba255d8751338a5/scikit_learn-0.23.1-cp38-cp38-win_amd64.whl (6.8MB)
     |████████████████████████████████| 6.8MB 2.2MB/s
Collecting joblib>=0.11 (from scikit-learn->sklearn)
  Downloading https://files.pythonhosted.org/packages/b8/a6/d1a816b89aa1e9e96bcb298eb1ee1854f21662ebc6d55ffa3d7b3b50122b/joblib-0.15.1-py3-none-any.whl (298kB)
     |████████████████████████████████| 307kB 3.2MB/s
Collecting threadpoolctl>=2.0.0 (from scikit-learn->sklearn)
  Downloading https://files.pythonhosted.org/packages/db/09/cab2f398e28e9f183714afde872b2ce23629f5833e467b151f18e1e08908/threadpoolctl-2.0.0-py3-none-any.whl
Requirement already satisfied: numpy>=1.13.3 in c:\python38\lib\site-packages (from scikit-learn->sklearn) (1.18.4)
Collecting scipy>=0.19.1 (from scikit-learn->sklearn)
  Downloading https://files.pythonhosted.org/packages/f8/b9/98a75846fdda3756ce75705b518dde4c599ba419d11415ce3fe1ebc4a885/scipy-1.4.1-cp38-cp38-win_amd64.whl (31.0MB)
     |████████████████████████████████| 31.0MB 1.1MB/s
Installing collected packages: joblib, threadpoolctl, scipy, scikit-learn, sklearn
  Running setup.py install for sklearn ... done
Successfully installed joblib-0.15.1 scikit-learn-0.23.1 scipy-1.4.1 sklearn-0.0 threadpoolctl-2.0.0
WARNING: You are using pip version 19.2.3, however version 20.1.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

C:Windows\system32>pip install mglearn
Collecting mglearn
  Downloading https://files.pythonhosted.org/packages/65/38/8aced26fce0b2ae82c3c87cd3b6105f38ca6d9d51704ecc44aa54473e6b9/mglearn-0.1.9.tar.gz (540kB)
     |████████████████████████████████| 542kB 1.3MB/s
Requirement already satisfied: numpy in c:\python38\lib\site-packages (from mglearn) (1.18.4)
Requirement already satisfied: matplotlib in c:\python38\lib\site-packages (from mglearn) (3.2.1)
Requirement already satisfied: scikit-learn in c:\python38\lib\site-packages (from mglearn) (0.23.1)
Requirement already satisfied: pandas in c:\python38\lib\site-packages (from mglearn) (1.0.3)
Collecting pillow (from mglearn)
  Downloading https://files.pythonhosted.org/packages/91/9e/1b45eed618c35010d8cc3ba57f12baf09af37054665b7cdf79aafa93ed75/Pillow-7.1.2-cp38-cp38-win_amd64.whl (2.0MB)
     |████████████████████████████████| 2.0MB 2.2MB/s
Requirement already satisfied: cycler in c:\python38\lib\site-packages (from mglearn) (0.10.0)
Collecting imageio (from mglearn)
  Downloading https://files.pythonhosted.org/packages/4c/2b/9dd19644f871b10f7e32eb2dbd6b45149c350b4d5f2893e091b882e03ab7/imageio-2.8.0-py3-none-any.whl (3.3MB)
     |████████████████████████████████| 3.3MB 126kB/s
Requirement already satisfied: joblib in c:\python38\lib\site-packages (from mglearn) (0.15.1)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in c:\python38\lib\site-packages (from matplotlib->mglearn) (2.4.7)
Requirement already satisfied: kiwisolver>=1.0.1 in c:\python38\lib\site-packages (from matplotlib->mglearn) (1.2.0)
Requirement already satisfied: python-dateutil>=2.1 in c:\python38\lib\site-packages (from matplotlib->mglearn) (2.8.1)
Requirement already satisfied: scipy>=0.19.1 in c:\python38\lib\site-packages (from scikit-learn->mglearn) (1.4.1)
Requirement already satisfied: threadpoolctl>=2.0.0 in c:\python38\lib\site-packages (from scikit-learn->mglearn) (2.0.0)
Requirement already satisfied: pytz>=2017.2 in c:\python38\lib\site-packages (from pandas->mglearn) (2020.1)
Requirement already satisfied: six in c:\python38\lib\site-packages (from cycler->mglearn) (1.14.0)
Installing collected packages: pillow, imageio, mglearn
  Running setup.py install for mglearn ... done
Successfully installed imageio-2.8.0 mglearn-0.1.9 pillow-7.1.2
WARNING: You are using pip version 19.2.3, however version 20.1.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.


0 commentaires

5
votes

Rétrograder votre version de scikit-learn:

Dans jupyter notebook, essayez !pip install --upgrade scikit-learn==0.20.3

ou dans le terminal, essayez pip install --upgrade scikit-learn==0.20.3

Après cela, le code reconnaîtra le module sklearn.external.six.


0 commentaires

5
votes

Vous pouvez utiliser le package officiel de six. Installez d'abord six en utilisant: pip install six , puis importez le module. Pas besoin de rétrograder scikit-learn.


0 commentaires

0
votes

J'arrive en retard, mais cela est dû au package mglearn (qui essaie d'en importer six en interne).

Vous devez avoir une ancienne version, car leurs versions publiées sur github n'ont pas ce problème. Peut-être à partir d'un CD fourni avec le livre ...

Pour résoudre le problème, procédez comme suit:
pip install --upgrade mglearn


0 commentaires

3
votes

Vous pouvez utiliser quelque chose comme ci-dessous.

from six import StringIO


0 commentaires