| 參數 | 備注 |
|---|---|
| hidden_layer_sizes | tuple,length = n_layers - 2,默認值(100,)第i個元素表示第i個隱藏層中的神經元數量。 |
| 激活 | {‘identity’,‘logistic’,‘tanh’,‘relu’},默認’relu’ 隱藏層的激活函數:‘identity’,無操作激活,對實現線性瓶頸很有用,返回f(x)= x;‘logistic’,logistic sigmoid函數,返回f(x)= 1 /(1 + exp(-x));‘tanh’,雙曲tan函數,返回f(x)= tanh(x);‘relu’,整流后的線性單位函數,返回f(x)= max(0,x) |
| slover | {‘lbfgs’,‘sgd’,‘adam’},默認’adam’。權重優化的求解器:'lbfgs’是准牛頓方法族的優化器;'sgd’指的是隨機梯度下降。'adam’是指由Kingma,Diederik和Jimmy Ba提出的基於隨機梯度的優化器。注意:默認解算器“adam”在相對較大的數據集(包含數千個訓練樣本或更多)方面在訓練時間和驗證分數方面都能很好地工作。但是,對於小型數據集,“lbfgs”可以更快地收斂並且表現更好。 |
| alpha | float,可選,默認為0.0001。L2懲罰(正則化項)參數。 |
| batch_size | int,optional,默認’auto’。用於隨機優化器的minibatch的大小。如果slover是’lbfgs’,則分類器將不使用minibatch。設置為“auto”時,batch_size = min(200,n_samples) |
| learning_rate | {‘常數’,‘invscaling’,‘自適應’},默認’常數"。 用於權重更新。僅在solver ='sgd’時使用。'constant’是’learning_rate_init’給出的恆定學習率;'invscaling’使用’power_t’的逆縮放指數在每個時間步’t’逐漸降低學習速率learning_rate_, effective_learning_rate = learning_rate_init / pow(t,power_t);只要訓練損失不斷減少,“adaptive”將學習速率保持為“learning_rate_init”。每當兩個連續的時期未能將訓練損失減少至少tol,或者如果’early_stopping’開啟則未能將驗證分數增加至少tol,則將當前學習速率除以5。 |
| learning_rate_init | double,可選,默認為0.001。使用初始學習率。它控制更新權重的步長。僅在solver ='sgd’或’adam’時使用。 |
| power_t | double,可選,默認為0.5。反縮放學習率的指數。當learning_rate設置為“invscaling”時,它用於更新有效學習率。僅在solver ='sgd’時使用。 |
| max_iter | int,optional,默認值200。最大迭代次數。solver迭代直到收斂(由’tol’確定)或這個迭代次數。對於隨機解算器(‘sgd’,‘adam’),請注意,這決定了時期的數量(每個數據點的使用次數),而不是梯度步數。 |
| shuffle | bool,可選,默認為True。僅在solver ='sgd’或’adam’時使用。是否在每次迭代中對樣本進行洗牌。 |
| random_state | int,RandomState實例或None,可選,默認無隨機數生成器的狀態或種子。如果是int,則random_state是隨機數生成器使用的種子;如果是RandomState實例,則random_state是隨機數生成器;如果為None,則隨機數生成器是np.random使用的RandomState實例。 |
| tol | float,optional,默認1e-4 優化的容忍度,容差優化。當n_iter_no_change連續迭代的損失或分數沒有提高至少tol時,除非將learning_rate設置為’adaptive’,否則認為會達到收斂並且訓練停止。 |
| verbose | bool,可選,默認為False 是否將進度消息打印到stdout。 |
| warm_start | bool,可選,默認為False,設置為True時,重用上一次調用的解決方案以適合初始化,否則,只需擦除以前的解決方案。請參閱詞匯表。 |
| momentum | float,默認0.9,梯度下降更新的動量。應該在0和1之間。僅在solver ='sgd’時使用。 |
| nesterovs_momentum | 布爾值,默認為True。是否使用Nesterov的勢頭。僅在solver ='sgd’和momentum> 0時使用。 |
| early_stopping | bool,默認為False。當驗證評分沒有改善時,是否使用提前停止來終止培訓。如果設置為true,它將自動留出10%的訓練數據作為驗證,並在驗證得分沒有改善至少為n_iter_no_change連續時期的tol時終止訓練。僅在solver ='sgd’或’adam’時有效 |
| validation_fraction | float,optional,默認值為0.1。將訓練數據的比例留作早期停止的驗證集。必須介於0和1之間。僅在early_stopping為True時使用 |
| beta_1 | float,optional,默認值為0.9,估計一階矩向量的指數衰減率應為[0,1)。僅在solver ='adam’時使用 |
| beta_2 | float,可選,默認為0.999,估計一階矩向量的指數衰減率應為[0,1)。僅在solver ='adam’時使用 |
| epsilon | float,optional,默認值1e-8, adam穩定性的價值。 僅在solver ='adam’時使用 |
| n_iter_no_change | int,optional,默認值10,不符合改進的最大歷元數。 僅在solver ='sgd’或’adam’時有效 |
| 屬性 | 備注 |
|---|---|
| classes_ | array or list of array of shape (n_classes,)每個輸出的類標簽。 |
| loss_ | float,使用損失函數計算的當前損失。 |
| coefs_ | list,length n_layers - 1,列表中的第i個元素表示對應於層i的權重矩陣。 |
| intercepts_ | list,length n_layers - 1,列表中的第i個元素表示對應於層i + 1的偏置矢量。 |
| n_iter_ | int,迭代次數。 |
| n_layers_ | int,層數。 |
| n_outputs_ | int,輸出的個數。 |
| out_activation_ | string,輸出激活函數的名稱。 |
| 方法 | 備注 |
|---|---|
| fit(X,y) | 使模型適合數據矩陣X和目標y。 |
| get_params([deep]) | 獲取此估算器的參數。 |
| predict(X) | 使用多層感知器分類器進行預測 |
| predict_log_proba(X) | 返回概率估計的對數。 |
| predict_proba(X) | 概率估計。 |
| score(X,y [,sample_weight]) | 返回給定測試數據和標簽的平均准確度。 |
| set_params(** params) | 設置此估算器的參數。 |
原文鏈接:https://blog.csdn.net/weixin_38278334/article/details/83023958
