Obecnie używam SVM i skaluję swoje funkcje treningowe do zakresu [0,1]. Najpierw dopasowuję / przekształcam mój zestaw treningowy, a następnie stosuję tę samą transformację do mojego zestawu testowego. Na przykład:
### 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)
Załóżmy, że dana cecha w zestawie treningowym ma zakres [0,100], a ta sama cecha w zestawie testowym ma zakres [-10,120]. W zestawie szkoleniowym ta funkcja będzie odpowiednio skalowana do [0,1], podczas gdy w zestawie testowym ta właściwość będzie skalowana do zakresu poza tym pierwszym określonym, coś w rodzaju [-0,1,1.2].
Zastanawiałem się, jakie konsekwencje funkcji zestawu testowego są poza zasięgiem tych, które są używane do szkolenia modelu? Czy to problem?
źródło
MinMaxScaler
.