Deprecation warning in scikit-learn

Viewed 11211

Hello everyone i am learning machine learning , at first the code was working fine but the next day when i again execute the code it start giving me warning on taking care of missing data from a data set, i don't know whats the problem but is any one there out who knows the solution

THE SOURCE CODE:

import numpy as np

import matplotlib.pyplot as plt

import pandas as pd

dataset = pd.read_csv('Data.csv')

x = dataset.iloc[:, :-1]

y = dataset.iloc[:, 3]


from sklearn.preprocessing import Imputer

imputer = Imputer(missing_values = 'NaN', strategy = 'mean', axis = 0)

imputer = imputer.fit(x[:, 1:3])

x[:, 1:3] = imputer.transform(x[:, 1:3])

AND HERE IS THE WARNING:

DeprecationWarning: Class Imputer is deprecated; Imputer was deprecated in version 0.20 and will be removed in 0.22. Import impute.SimpleImputer from sklearn instead.
6 Answers
from sklearn.impute import SimpleImputer

imputer = SimpleImputer(missing_values = np.nan, strategy = 'mean',verbose=0)

imputer = imputer.fit(X[:, 1:3])

X[:, 1:3] = imputer.transform(X[:, 1:3])
from sklearn.impute import SimpleImputer

imputer = SimpleImputer(missing_values = np.nan, strategy = 'mean', verbose = 0)

imputer = imputer.fit(X[:, 1:3])
X[:, 1:3] = imputer.transform(X[:, 1:3])

Taking care of missing data

from sklearn.impute import SimpleImputer

imputer = SimpleImputer(missing_values= np.nan, strategy='mean')

imputer = imputer.fit(X.iloc[:, 1:3])
X = imputer.transform(X.iloc[:, 1:3])

Using .iloc in line 3 and 4 would be helpful!

Imputer can still be utilised just add the remaining parameters (verbose & copy) and fill them out where necessary.

from sklearn.preprocessing import Imputer

imputer = Imputer(missing_values="NaN", strategy="mean", axis=0, verbose=0, copy="True")

imputer = imputer.fit(X[:, 1:3])

X[:, 1:3] = imputer.transform(X[:, 1:3]))

Try this. In the new python version SimpleImputer works.

from sklearn.impute import SimpleImputer

imputer = SimpleImputer(missing_values = np.nan, strategy = 'mean',verbose=0)

imputer = imputer.fit(X[:, 1:3])

X[:, 1:3] = imputer.transform(X[:, 1:3])
Related