在sklearn.neural_network中初始化权重

时间:2018-11-10 21:15:35

标签: python scikit-learn neural-network initialization

我想在MLPclassifier中初始化权重,但是当我在.fit()方法中使用sample_weight时, 它说TypeError: fit() got an unexpected keyword argument 'sample_weight'

import sklearn.neural_network as SKNN

mlp_classifier = SKNN.MLPClassifier((10,), learning_rate="invscaling",solver="lbfgs")

fit_model = mlp_classifier.fit(train_data,train_target,  sample_weight = weight)

我还读过What does `sample_weight` do to the way a `DecisionTreeClassifier` works in sklearn?,它说您应该在.fit()方法中使用sample_weight。

是否有任何方法可以像sample_weight中使用的那样将MLPclassifier用于Decisiontreeclassifier

3 个答案:

答案 0 :(得分:1)

这是因为const t = model.predict(tensor) // Use of argmax and get the value const v = t.argMax().dataSync()[0] MLPClassifier不同,它没有带有DecisionTreeClassifier参数的fit()方法。

请参见the documentation

也许类似问题的一些答案可能会有所帮助: How to set initial weights in MLPClassifier?

答案 1 :(得分:0)

根据sklearn.neural_network.MLPClassifier.fitfit方法没有名为sample_weight的参数

答案 2 :(得分:0)

sklearn NN中尚无样本权重。但是您可以作为开始:

  1. 在Keras中找到它:https://keras.io/models/sequential/
  2. 用numpy编写NN并自己实现sample_weight