sklearn.neural_network.MLPClassifier
MLPClassifier(hidden_layer_sizes=(100, ), activation='relu',
solver='adam', alpha=0.0001, batch_size='auto',
learning_rate='constant', learning_rate_init=0.001,
power_t=0.5, max_iter=200, shuffle=True,
random_state=None, tol=0.0001, verbose=False,
warm_start=False, momentum=0.9, nesterovs_momentum=True,
early_stopping=False, validation_fraction=0.1,
beta_1=0.9, beta_2=0.999, epsilon=1e-08,
n_iter_no_change=10)
hidden_layer_sizes
:tuple,第i个元素表示第i个隐藏层的神经元个数。
activation
:隐藏层激活函数,identity、logistic、tanh、relu。
solver
:权重优化算法,lbfgs、sgd、adam。
alpha
:正则化项参数。
batch_size
:随机优化的minibatches的大小。
learning_rate
:学习率,constant、invscaling、adaptive。
learning_rate_init
:初始学习率。只有当solver为sgd或adam时才使用。
power_t
:逆扩展学习率的指数,只有当solver为sgd时才使用。
max_iter
:最大迭代次数。
shuffle
:是否在每次迭代时对样本进行清洗,当solver为sgd或adam时使用。
random_state
:随机数种子。
tol
:优化算法停止的条件。当迭代前后的函数差值小于等于tol时就停止。
verbose
:是否将过程打印出。
warm_start
:是否使用之前的解决方法作为初始拟合。
momentum
:梯度下降的动量,介于0到1之间,solver为sgd时使用。
nesterovs_momentum
:是否使用Nesterov动量。
early_stopping
:判断当验证效果不再改善时是否终止训练。
validation_fraction
:用作早起停止验证的预留训练集的比例,0到1之间。
beta_1
:估计一阶矩向量的指数衰减速率,[0,1)之间。
beta_2
:估计二阶矩向量的指数衰减速率,[0,1)之间。
epsilon
:数值稳定值,solver为adam时使用。
返回值属性说明
classes_
:每个输出的类标签,大小为(n_classes,)。
loss_
:损失函数计算出的当前损失值。
coefs_
:列表中的第i个元素表示i层的权重矩阵。
intercepts_
:列表中第i个元素表示i+1层的偏差向量。
n_iter_
:迭代次数。
n_layers_
:层数。
n_outputs_
:输出的个数。
out_activation_
:输出激活函数的名称。
返回值方法说明
fit(X,y)
:拟合。
get_params()
:获取参数。
predict(X)
:进行预测。
predict_log_proba(X)
:对数概率估计。
predict_proba(X)
:概率估计。
score(X, y)
:返回给定测试数据和标签的平均准确度。
set_params()
:设置参数。
from sklearn.neural_network import MLPClassifier
X = [[0., 0.], [1., 1.]]
y = [0, 1]
clf = MLPClassifier(solver='lbfgs', alpha=1e-5, hidden_layer_sizes=(5,2), random_state=1)
clf.fit(X, y)
clf.predict([[2., 2.], [-1., -2.]])