Bonjour à tous, j'apprends le machine learning, au début, le code fonctionnait bien, mais le lendemain, quand j'exécute à nouveau le code, il commence à me donner un avertissement sur la prise en charge des données manquantes dans un ensemble de données, je ne sais pas quoi le problème mais y a-t-il quelqu'un qui connaît la solution
LE CODE SOURCE:
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.
ET VOICI L'AVERTISSEMENT:
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])
6 Réponses :
SimpleImputer fonctionne presque de la même manière que l'ancien Imputer, il suffit d'importer et de l'utiliser à la place. L'imputer n'est plus utilisé.
from sklearn.impute import SimpleImputer
https://scikit-learn.org/stable/modules/generated/sklearn.impute.SimpleImputer.html
Imputer peut toujours être utilisé, il suffit d'ajouter les paramètres restants (verbeux et copier) et de les remplir si nécessaire.
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]))
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])
Si besoin est, comment utiliser axis = 1 (imputer par ligne) dans SimpleImputer? Merci!
Essayez ceci.
Dans la nouvelle version de Python, SimpleImputer
fonctionne.
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])
Prendre soin des données manquantes
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])
Utiliser .iloc aux lignes 3 et 4 serait utile!
Si quelqu'un trouvait cela utile comme je viens de le faire, j'ai trouvé que je devais également utiliser .iloc
sur la réaffectation de variable à la ligne 4.
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])
c'est un avertissement pas une erreur, en plus il vous dit quoi faire à la place
@EdChum pardon mon frère, il ne prend pas la moyenne de la valeur manquante de solution pour ça?
Modifiez votre question pour inclure ces informations, car elles ne figurent pas dans votre question
@EdChum ok frère