【问题标题】:how change learnrate and hidden layers of a MLP network with sklearn如何使用 sklearn 更改 MLP 网络的学习率和隐藏层
【发布时间】:2021-07-15 20:01:33
【问题描述】:

我正在使用 sklearn.cross_validation.cross_val_score 函数对多层感知器进行交叉验证

from sklearn import svm
import numpy as np
from sklearn.model_selection import cross_val_score

clf = svm.SVC(gamma='auto')

scores = cross_val_score(clf, X, np.ravel(y), cv=5, scoring='accuracy')

交叉验证正在运行并返回 0.8579100145137881。 如何使用 sklearn 更改学习率或隐藏层的数量?我想提高准确性。

【问题讨论】:

  • svm.SVC 是支持向量机分类器,而不是多层感知器。所以你的第一个问题是你使用了错误的 sklearn 函数。首先要做的是使用scikit-learn.org/stable/modules/generated/… 下的多层感知器(如果这真的是你想要的)。他们的文档(在同一个链接)清楚地解释了如何改变学习率和隐藏层的数量。
  • 我如何使用这个多层感知器进行交叉验证?

标签: python scikit-learn neural-network artificial-intelligence mlp


【解决方案1】:
from sklearn import svm
import numpy as np

from sklearn.neural_network import MLPClassifier
clf = MLPClassifier(solver='sgd', hidden_layer_sizes=(4,4), learning_rate_init=0.05, activation='logistic', max_iter=30000)

from sklearn.model_selection import cross_val_score
scores = cross_val_score(clf, X, np.ravel(y), cv=5, scoring='accuracy')

【讨论】:

    猜你喜欢
    • 2013-04-22
    • 2019-02-01
    • 2021-06-21
    • 2021-08-12
    • 2018-06-02
    • 2016-04-15
    • 1970-01-01
    • 2012-07-09
    • 1970-01-01
    相关资源
    最近更新 更多