pythonpython-3.xscikit-learnpython-3.6

No module named 'sklearn.datasets.samples_generator'


When trying to create 4 clusters of random data, I am getting the following error message:

# Generate 4 clusters of random data.
from sklearn.datasets.samples_generator import make_blobs

data, _ = make_blobs(n_samples=300, centers=4,
                     cluster_std=0.60, random_state=0)

Error:

ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-2-f93335003f84> in <module>
      1 # Generate 4 clusters of random data.
----> 2 from sklearn.datasets.samples_generator import make_blobs
      3 
      4 data, _ = make_blobs(n_samples=300, centers=4,
      5                      cluster_std=0.60, random_state=0)

ModuleNotFoundError: No module named 'sklearn.datasets.samples_generator'

I have tried: pip install sckit-learn and pip install sckit-datasets


Solution

  • In the latest versions of scikit-learn, there is no module sklearn.datasets.samples_generator - it has been replaced with sklearn.datasets (see the docs); so, according to the make_blobs documentation, your import should simply be:

    from sklearn.datasets import make_blobs
    

    As a general rule, the official documentation is your best friend, and you should definitely consult it first before anything else.