Ich verwende derzeit SVM und skaliere meine Trainingsfunktionen auf den Bereich von [0,1]. Ich passe zuerst mein Trainingsset an / transformiere es und wende dann dieselbe Transformation auf mein Testset an. Zum Beispiel:
### Configure transformation and apply to training set
min_max_scaler = MinMaxScaler(feature_range=(0, 1))
X_train = min_max_scaler.fit_transform(X_train)
### Perform transformation on testing set
X_test = min_max_scaler.transform(X_test)
Angenommen, ein bestimmtes Merkmal im Trainingssatz hat einen Bereich von [0,100] und dasselbe Merkmal im Testsatz hat einen Bereich von [-10,120]. Im Trainingssatz wird diese Funktion entsprechend auf [0,1] skaliert, während im Testsatz diese Funktion auf einen Bereich außerhalb des zuerst angegebenen Bereichs skaliert wird, etwa [-0.1,1.2].
Ich habe mich gefragt, welche Konsequenzen es hat, wenn die Test-Set-Funktionen außerhalb der Reichweite derjenigen liegen, die zum Trainieren des Modells verwendet werden. Ist das ein Problem?
quelle
MinMaxScaler
.