J'utilise le modèle MinMaxScaler dans sklearn pour normaliser les caractéristiques d'un modèle.Enregistrer le modèle de scaler dans sklearn
training_set = np.random.rand(4,4)*10
training_set
[[ 6.01144787, 0.59753007, 2.0014852 , 3.45433657],
[ 6.03041646, 5.15589559, 6.64992437, 2.63440202],
[ 2.27733136, 9.29927394, 0.03718093, 7.7679183 ],
[ 9.86934288, 7.59003904, 6.02363739, 2.78294206]]
scaler = MinMaxScaler()
scaler.fit(training_set)
scaler.transform(training_set)
[[ 0.49184811, 0. , 0.29704831, 0.15972182],
[ 0.4943466 , 0.52384506, 1. , 0. ],
[ 0. , 1. , 0. , 1. ],
[ 1. , 0.80357559, 0.9052909 , 0.02893534]]
Maintenant, je veux utiliser le même scaler pour normaliser l'ensemble de test:
[[ 8.31263467, 7.99782295, 0.02031658, 9.43249727],
[ 1.03761228, 9.53173021, 5.99539478, 4.81456067],
[ 0.19715961, 5.97702519, 0.53347403, 5.58747666],
[ 9.67505429, 2.76225253, 7.39944931, 8.46746594]]
Mais je ne veux pas utiliser le scaler.fit() avec les données de formation tout le temps. Existe-t-il un moyen de sauvegarder le scaler et de le charger plus tard à partir d'un fichier différent?
Pour une raison quelconque, lorsque je l'utilise pour enregistrer un 'MinMaxScaler', le mesureur chargé n'aligne pas les données de la même manière qu'un nouveau correcteur. Une idée pourquoi? – BallpointBen
@BallpointBen Juste essayé sur un ensemble de test séparé et obtenu les mêmes résultats. Peut-être que vous avez utilisé 'np.random.rand' à nouveau? –