Функция sklearn preprocessing.scale (), когда ее использовать? - PullRequest
0 голосов
/ 22 января 2020

Я строю нейронную сеть, используя sklearn.neural_network.MLPClassifier:

   clf =  sklearn.neural_network.MLPClassifier(hidden_layer_sizes= (11,11,11),max_iter = 500)

, прежде чем обучать ее, я создаю новые сборщики из существующих, используя

preprocessing.scale() 

Итак:

labels = someDataBase.loadLabels()
fetchers = someDataBase.loadFetchers()
fetchers = preprocessing.scale(fetchers)

и из них, используя функцию train_test_split, создаем тест значения поезда, например так:

 X_train, X_test, y_train, y_test = train_test_split(fetchers,labels,test_size = 0.2)

, затем я передаю его в функцию подбора MLPClassifier

clf.fit(X_train, y_train)

теперь, когда у меня есть обученная нейронная сеть

Я хочу использовать ее для прогнозирования базы на новых сборщиках с использованием метода предсказания MLPClassifier, эти сборщики не являются тестовыми , всего новые значения

я должен снова использовать preprocessing.scale ()? и затем вводить их в метод прогнозирования? или просто использовал их как есть?

1 Ответ

0 голосов
/ 22 января 2020

Наш метод может давать разные коэффициенты масштабирования. Он предназначен для одиночных масштабирующих заданий, но не для тех, которые требуют последовательного преобразования.

Я предлагаю вам использовать sklearn.preprocessing.StandardScaler. Это довольно хорошо задокументировано и содержит примеры здесь . Вызывайте метод fit_transform при обучении и просто transform при прогнозировании.

...