ImportError: cannot import name model_selection - python

I am trying to learn data analysis using the iris data set. So I just am copying the already written code for this subject and I get the following error regarding the libraries :
Traceback (most recent call last):
File "iris.py", line 6, in <module>
from sklearn import model_selection
ImportError: cannot import name model_selection
And here is how I import this module:
from sklearn import model_selection
I am using python 2.7,
What could be the problem?
I suspect there might be a problem with the version!right?or not?
Please don't suggest Anaconda, I am not willing to use it.
Thanks a bunch

sklearn.model_selection is available for version 0.18 or late version
Please update your sklearn by pip or other tools
org website
http://scikit-learn.org/stable/whats_new.html#version-0-18
Version 0.18
September 28, 2016
Last release with Python 2.6 support
Scikit-learn 0.18 will be the last version of scikit-learn to support Python 2.6. Later versions of scikit-learn will require Python 2.7 or above.
Model Selection Enhancements and API Changes
The model_selection module
The new module sklearn.model_selection, which groups together the functionalities of formerly sklearn.cross_validation, sklearn.grid_search and sklearn.learning_curve, introduces new possibilities such as nested cross-validation and better manipulation of parameter searches with Pandas.
Many things will stay the same but there are some key differences. Read below to know more about the changes.
Data-independent CV splitters enabling nested cross-validation

Related

Sklearn and pickle file module not found

I had trained a classifier using python 3.6 and sklearn 0.22 and pickled this file a few years ago. I don't have the original classifier and now when I try to reuse this .pkl file in python 3.8 and sklearn 1.2 I get the following error
lassifier_object = pickle.load(fi, encoding="latin1")
ModuleNotFoundError: No module named 'sklearn.ensemble.forest'
I understand that this happens because it was generated on an older version of sklearn and pickle. Is it possible to use python 3.6 and unpickle this to a raw file and then use python 3.8 to pickle this back? Or does this need the original classifier to create a python 3.8 and sklearn 1.2 version of it?

importing subpackages of sci-kit learn 'Unknown location'

I try to do some PCA and TSNE analyses. I want to use sklearn to import the PCA and TSNE package.
Internet says that I should use these imports
from sklearn.decomposition import PCA
from sklearn.manifold import TSNE
https://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html
https://scikit-learn.org/stable/modules/generated/sklearn.manifold.TSNE.html
However, I get this message when I try to import those.
ImportError: cannot import name 'PCA' from 'sklearn.decomposition' (unknown location)
I did install sklearn and am able to import sklearn.decomposition and sklearn.manifold. However, If I I try to do this:
import sklearn.decomposition as decom
decom.PCA
I get the same ImportError. I tried reinstalling sklearn and updating it, but that doesn't solve the problem. Does one of you have a clue of what I'm doing wrong? I'm using Python 3.7.8 and use jupyter lab with MiniConda.
The documentation of sklearn is version 23.2 and that is the same version as my scikit-learn is.
EDIT: I created a totally new virtual environment and now my dir(decom) is totally different. And those packages for PCA and TSNE are working. Could somebody enlighten me why those are not working in the my current environment? Does it have to do with incompatible packages? I did not get any warning for it. It is sort of solved, yet I'm curious what the reason is and how I can fix it in the future.

Categorical Encoder in Scikit Learn Preprocessing

I was trying to import Categorical Encoder in sklearn
from sklearn.preprocessing import CategoricalEncoder
But I get the error
ImportError: cannot import name 'CategoricalEncoder' from 'sklearn.preprocessing' (D:\ProgramData\Miniconda3\lib\site-packages\sklearn\preprocessing\__init__.py)
I have version 0.21.3 of sklearn.
I checked online to see the documentation and it seems that CategoricalEncoder was there in version 0.20.dev0 (https://15359-843222-gh.circle-artifacts.com/0/home/ubuntu/scikit-learn/doc/_build/html/stable/modules/generated/sklearn.preprocessing.CategoricalEncoder.html)
But is not there in 0.21.3 (https://scikit-learn.org/stable/modules/classes.html#module-sklearn.preprocessing)
What happened to CategoricalEncoder?
Is there a way I can still use it? Like can I import 2 versions of sklearn and pull it from the 0.20.dev0 version
CategoricalEncoder is only available in the development version 0.20.dev0. Use OneHotEncoder and OrdinalEncoder insted.(see #10521)

Issues with SKLEARN importing cross_validation

I am trying to play around with machine learning but I am having issues with sklearn and importing cross_validation. I keep getting error messages saying
ImportError: cannot import name 'cross_validation' from 'sklearn' (C:\Python3.7\lib\site-packages\sklearn\__init__.py)
When I check pip list, it is definitely there; showing sklearn 0.0. There seems to be no other version of sklearn apart from 0.0.
Someone please help.
I am using sentdex's youtube tutorial series on regression for this code.
import pandas as pd
import sklearn
from sklearn import preprocessing, cross_validation,svm
from sklearn import LinearRegression
That is because Sklearn doesn't have any cross_validation module.
Try using:
from sklearn import model_selection
The cross_validation model has been deprecated.

numpy sklearn import error

When running from python console the following code works fine'
However when trying to use the same code in a myxxx.py it does not:
from sklearn import datasets
iris = datasets.load_iris()
print(iris.xx)
when testing sklearn it reports no failures
however when testing numpy I get 16 or so failures.
I don't know if these failures are related to my error or not.
This is on a windoes8.1 x64 machine.
So why would the code typed directly into the python console work but not from the file ( meaning it fails in spyder and python myfile.py)?
the error states something like unable to import numpy datasets. Sounds like some type of name clash or scope issue.
Thanks in advance

Categories

Resources