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.]])