No StandardScaler class in sklearn.preprocessing - scikit-learn

I wanted to use the StandardScaler class in the preprocessing package http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html#sklearn.preprocessing.StandardScaler but I keep getting an AttributeError: 'module' object has no attribute 'StandardScaler' on scikit-learn 0.13
preprocessing.__dict__ does not show StandardScaler.
I could use the LabelEncoder class in the same package.

The sklearn package in your python path is probably an old version and not the 0.13 version you installed. Try:
python -c "import sklearn; print(sklearn.__file__)"
to check whether this the expected sklearn install location or not.
To resolve duplicate installation problem I found it useful to run:
pip uninstall scikit-learn
several times until I get an error message telling explicitly that scikit-learn is not installed on the system. Then:
pip install scikit-learn
once to install the latest stable release (i.e. 0.13.1 at the time of writing).

Related

Importing Gensim/Word2Vec not stable in Databricks

I am simply to import import Word2Vec from gensim.models, but from few days I keep getting the following error :
ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 96 from C header, got 80 from PyObject
I tried updating my Numpy package to 1.24.1 (the latest) and Gensim package 4.3.0, but I still getting the same issue.
For details, I work with Python version 3.8.10 in Databricks.
Any idea please? Thank you
ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 96 from C header, got 80 from PyObject
happens as a result of a modification made to the API of NumPy in version. Upgrading your numpy module version will fix the issue. few days ago, only ne numpy version 1.25.0 is released.
Try Uninstalling and reinstalling numpy in notebook or upgrade the version.
#uninstall install versions
%sh
pip uninstall numpy
pip install numpy
#upgrade version
pip install numpy --upgrade
Also try with different gensim version.
I am successfully able to install:
Thank you #gojomo and #pratik-lad for your feedbacks.
The best solution that I find to solve the issue of "binary incompatibility" is to edit my Databricks cluster and upgrade Databricks runtime version from 10.1 to 12.0.
I am now able to install gensim, with those version:
Python 3.9.5
NumPy 1.21.5
SciPy 1.7.3

ImportError: cannot import name 'multilabel_confusion_matrix'

I am using python 3.6.3 and sklearn 0.20.3, but I am not able to print a multi-label confusion matrix.
from sklearn.metrics import multilabel_confusion_matrix
Output:
ImportError: cannot import name 'multilabel_confusion_matrix'
I also tried to install a new version of scikit-learn. But it doesn't work for me.
conda update scikit-learn
conda install scikit-learn==0.21.dev0
pip install scikit-learn==0.21.dev0
Thank you in advance for your help.
Multilabel_confusion_matrix is introduced in scikit-learn version 0.21 and most recent nightly build scikit-learn doesn't contain it. The best way to get 0.21dev is :
pip install git+http://github.com/scikit-learn/scikit-learn.git

Jupyter Notebook ModuleNotFoundError: No module named 'sklearn.impute'

I'm importing the sklean.impute.SimpleImputer using
from sklearn.impute import SimpleImputer
But got an error
error: No module named 'sklearn.impute'.
Installed sklearn 0.19.1 using command !pip install sklearn. How to see if it's the development version? Also, where can I access the logs?
EDIT: The pip version of scikit-learn is now 0.20+.
The impute submodule is part of scikit-learn version 0.20. It is not on pypi yet, so if you have to use that function, install the dev version of scikit-learn by pip install git+https://github.com/scikit-learn/scikit-learn.git

ImportError: No module named 'keras'

So basically, I am fairly new to programming and using python. I am trying to build an ANN model for which I have to use Tensor flow, Theano and Keras library. I have Anaconda 4.4.1 with Python 3.5.2 on Windows 10 x64 and I have installed these libraries by following method.
Create a new environment with Anaconda and Python 3.5:
conda create -n tensorflow python=3.5 anaconda
Activate the environment:
activate tensorflow
After this you can install Theano, TensorFlow and Keras:
conda install theano,
conda install mingw libpython,
pip install tensorflow,
pip install keras,
Update the packages:
conda update --all
All these packages are installed correctly and I have check them with conda list.
However, when I am trying to import any of these 3 libraries (i.e. Tensor flow, Theano and Keras), it is giving me the following error:
Traceback (most recent call last):
File "<ipython-input-3-c74e2bd4ca71>", line 1, in <module>
import keras
ImportError: No module named 'keras'
Hi I have an solution try this if you are using Anaconda-Navigator
go to Anaconda Environment and search keras package and then install.
after install just type import keras in shell its working.
Have you tried using keras documentation
Install Keras from PyPI (recommended):
Note: These installation steps assume that you are on a Linux or Mac environment. If you are on Windows, you will need to remove sudo to run the commands below.
sudo pip install keras
If you are using a virtualenv, you may want to avoid using sudo:
pip install keras
from: https://keras.io/
Now you need to have Tensorflow installed and then write, for example:
import tensorflow as tf
...
model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Dense(12, input_dim=8, activation='relu'))
model.add(tf.keras.layers.Dense(8, activation='relu'))
model.add(tf.keras.layers.Dense(1, activation='sigmoid'))
...
Works for Tensorflow version: 2.4.1.
Or just type:
import tensorflow as tf
from tensorflow import keras
...
Try
import sys
print(sys.path)
and see if your anaconda site-packages folder is in the list.
It should be something like WHERE_YOU_INSTALLED_ANACONDA\anaconda3\envs\ENVIRONMENT_NAME\lib\python3.5\site-packages
If the path setting is correct, then try listing the folder content, and see if Keras, TensorFlow and Theano are in this folder.
I ran into a very similar issue after switching computers and downloading the latest Anaconda, which comes with python 3.6. It was no problem to install python 3.5 in its own environment, and install keras to this environment, but import keraskept failing.
My inelegant solution (assuming you've already got tensorflow/theano/cntk working fine in your global environment)?
Move the keras folder installed to Anaconda3/envs//Lib/site-packages/keras to Anaconda3/Lib/site-packages/keras. Now import keras gives a depreciation warning when run from a jupyter notebook launched via start menu, but it does work, and correctly returns the backend keras is running on.
I spent the whole day to install Keras, tried all the available methods online, almost dying. But I still cannot import keras.
(1). After using conda install or pip install, and delete the "1 > null > 2&1" ... I activated in conda prompt by activating tensorflow_cpu, it doesn't work anyway.
(2). Then checked the keras, and print os.path(), no virtual environment inside. I got so braindead, just copied all the keras data file from virtual environment env, and put into the "C:\Users\Administrator\Anaconda3\Lib\site-packages".
(3). Now, tensorflow and keras work well.
Click Update Index and then try searching for Keras again.
I have the same problem with:
conda 4.13.0
tensorflow 2.6.0
Note: We should not have to install Keras separately, as it ships with Tensorflow, starting with Tensorflow 2.0.
Symptoms:
Keras import (from tensorflow import keras) does not return an error, BUT any further reference to Keras does throw "ModuleNotFoundError", e.g. the following statements fail:
print(keras.__version__)
from keras import Sequential
I still don't have a direct solution for this, this is more of a workaround, but here it is:
Import ANY class from Keras JUST ONCE using full top-down import syntax AND instantiate it
Import Keras (now "for real")
E.g.:
from tensorflow.keras.layers import Dense
layer = Dense(10)
from tensorflow import keras
Now the following statements should work:
print(keras.__version__)
model = keras.models.Sequential()
This looks like some sort of lazy module loading gone wrong.
A direct and simple way to fix it is as below,
#uninstall keras and tensorflow
pip uninstall keras
pip uninstall tensorflow
#Now install keras and tensorflow for required version with dependencies.
pip install keras==2.2.4
pip install tensorflow==1.13.1
Always make sure that you install right version of tensorflow which supports that keras version as well, else you may end up in trouble again. By the way , the above fix worked for me.
I solved this problem by running one of the following in the terminal according to anaconda website.
To install this package (keras) with conda run one of the following:
conda install -c conda-forge keras conda install -c
conda-forge/label/broken keras conda install -c
conda-forge/label/cf201901 keras conda install -c
conda-forge/label/cf202003 keras
If you never use conda before you can check anaconda.
A direct and simple way to fix it is as below, #uninstall keras and tensorflow
py -3 -m pip uninstall keras
py -3 -m pip uninstall tensorflow
#Now install keras and tensorflow for required version with dependencies.
py -3 -m pip install keras
py -3 -m pip install tensorflow
the above fix worked for me.
If you are sure that you ran pip install keras at the command line, ensure that you use the small letter 'k' instead of the Capital Alphabet. I had a similar error message.
These are some simple steps to install 'keras' simply using the Anaconda Navigator:
Launch Anaconda Navigator. Go to the Environments tab.
Select ‘Not installed’, and type in ‘tensorflow’.
Then, tick ‘tensorflow’ and do the same for ‘keras’.
Click on ‘Apply’. The pop-up window will appear, go ahead and apply.
This may take several minutes.
Done.
This tutorial will guide you more graphically: https://www.freecodecamp.org/news/install-tensorflow-and-keras-using-anaconda-navigator-without-command-line/
Remember to launch spyder in the environment or activate it in line command (conda activate [my_env]. afater that, execute your script python.
Try to import keras library from its reference parent which means import tensorflow.keras

How to avoid the sklearn import preprocessing statement giving error in python 3.5 version?

I am getting the error as below while trying to execute "from sklearn import preprocessing".
ImportError: No module named 'sklearn'.
My python version is 3.5.
Can someone please help on this.
Regards,
Philip
Without more information, I can only think maybe you don't have the library installed. Make sure you have NumPy and SciPy installed. Then make sure Scikit learn is actually installed. If you search how to install sklearn, a ton of results will show up instructing you how to do so. Basically,:
Install NumPy >= 1.6.1
Install SciPy >= 0.9
Install scikit-learn
Here is a link http://scikit-learn.org/stable/developers/advanced_installation.html.
If you are using pip, you can do pip install numpy scipy. Conda is similar, conda install numpy and conda install scipy.
I'm making a lot of assumptions here, so I'm not sure this is much help. Hopefully a good start though.

Resources