【问题标题】:sklearn preprocessing.scale() function , when to use it?sklearn preprocessing.scale() 函数,何时使用?
【发布时间】:2020-01-23 01:31:38
【问题描述】:

我正在使用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 的 predict 方法 这个提取器不是测试器,它们是全新的值

我应该再次使用 preprocessing.scale() 吗? 然后将它们输入预测方法? 还是按原样使用它们?

【问题讨论】:

    标签: python machine-learning scikit-learn neural-network


    【解决方案1】:

    我们的方法可能会给出不同的比例因子。它适用于单一扩展作业,但不适用于需要一致转换的作业。

    我建议你宁愿使用sklearn.preprocessing.StandardScaler。它有很好的文档记录,并有示例here。 训练时调用fit_transform方法,预测时调用transform

    【讨论】:

      猜你喜欢
      • 2017-11-05
      • 2019-08-05
      • 2018-05-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-11
      • 2021-09-02
      • 2020-03-10
      • 2020-07-02
      相关资源
      最近更新 更多