L'explication suivante est basée sur fit_transformde la Imputerclasse, mais l'idée est la même pour fit_transformd'autres classes de scikit_learn aiment MinMaxScaler.
transformremplace les valeurs manquantes par un nombre. Par défaut, ce nombre représente la moyenne des colonnes de certaines données que vous avez choisies. Prenons l'exemple suivant:
imp = Imputer()
# calculating the means
imp.fit([[1, 3], [np.nan, 2], [8, 5.5]])
Maintenant, les imputateurs ont appris à utiliser une moyenne (1 + 8) / 2 = 4,5 pour la première colonne et une moyenne (2 + 3 + 5,5) / 3 = 3,5 pour la deuxième colonne lorsque celle-ci est appliquée à une donnée à deux colonnes:
X = [[np.nan, 11],
[4, np.nan],
[8, 2],
[np.nan, 1]]
print(imp.transform(X))
on a
[[4.5, 11],
[4, 3.5],
[8, 2],
[4.5, 1]]
Ainsi, fitl'imputer calcule les moyennes des colonnes à partir de certaines données et les transformapplique à certaines données (ce qui remplace simplement les valeurs manquantes par les moyennes). Si ces deux données sont identiques (c'est-à-dire les données permettant de calculer les moyennes et les données auxquelles les moyennes sont appliquées), vous pouvez utiliser fit_transformce qui est fondamentalement un fitsuivi de a transform.
Maintenant vos questions:
Pourquoi avons-nous besoin de transformer des données?
"Pour diverses raisons, de nombreux ensembles de données du monde réel contiennent des valeurs manquantes, souvent codées sous forme de blancs, de NaN ou d'autres espaces réservés. De tels ensembles de données sont toutefois incompatibles avec les estimateurs scikit-learn qui supposent que toutes les valeurs d'un tableau sont numériques" ( source )
Qu'est-ce que cela signifie d'ajuster le modèle sur les données d'apprentissage et de le transformer pour tester les données?
L' fitimputer d'un imputer n'a rien à voir avec fitutilisé dans l'ajustement de modèle. Donc, en utilisant des imputateurs fitsur les données d'entraînement calcule simplement la moyenne de chaque colonne de données d'entraînement. L'utilisation transformde données de test remplace ensuite les valeurs manquantes des données de test par des moyennes calculées à partir des données d'apprentissage.