Closed3

sklearn.neural_network.MLPClassifer()

Parameters(パラメータ)は23個

パラメータの名前 何が設定できるか デフォルトの値(初期値) 設定できる値
1 hidden_layer_sizes 層の数と、ニューロンの数を設定 (100,) tuple型の数値
2 activation 活性化関数を選択 'relu' ‘identity’, ‘logistic’, ‘tanh’, ‘relu’
3 solver 最適化手法を選択 'adam' ‘lbfgs’, ‘sgd’, ‘adam’
4 alpha L2正則化のpenaltyを設定 0.0001 float型の数値
5 batch_size ミニバッチのサイズを設定 'auto' int型の数値
6 learning_rate 重みの学習率の更新方法を選択 'constant' ‘constant’, ‘invscaling’, ‘adaptive’
7 learning_rate_init 重みの学習率の初期値を設定 0.001 double型の数値(‘sgd’と‘adam’の場合のみ)
8 power_t learning_rateの減少速度を設定 0.5 double型の数値
9 max_iter 学習の反復の最大回数を設定 200 int型の数値
10 shuffle 反復学習時のデータ・シャッフルの有無 TRUE bool型の数値(True, False)
11 random_state 乱数生成のためのインスタンスを設定 None int型の数値
12 tol 学習の収束値を設定 0.0001 float型の数値
13 verbose 学習の進捗状況の表示の有無 FALSE bool型の数値(True, False)
14 warm_start 学習済みの重みを使うか設定 FALSE bool型の数値(True, False)
15 momentum 重みの修正量を設定 0.9 float型の数値(‘sgd’の場合のみ)
16 nesterovs_momentum 重みの更新を設定 TRUE bool型の数値(True, False)
17 early_stopping 学習終了値を設定 FALSE bool型の数値(True, False)(‘sgd’と‘adam’の場合のみ)
18 validation_fraction 検証用データの割合を設定 0.1 float型の数値
19 beta_1 adamのβ1値を設定 0.9 float型の数値(‘adam’の場合のみ)
20 beta_2 adamのβ2値を設定 0.999 float型の数値(‘adam’の場合のみ)
21 epsilon adamのε値を設定 1.00E-08 float型の数値(‘adam’の場合のみ)
22 n_iter_no_change tolで収束しない場合の最大学習回数を設定 10 int型の数値(‘sgd’と‘adam’の場合のみ)
23 max_fun 損失関数が呼び出される最大値を設定 15000 int型の数値(‘lbfgs’の場合のみ)

Attribute(属性)は11個

属性の名前 どんな情報が得られるか 【例】出力される値
1 classes_ classのラベル [0 1 2]
2 loss_ 最終的なLoss値 0.183425193
3 best_loss_ 最も精度がいいタイミングのLoss 0.183425193
4 loss_curve_ Lossの推移 リスト型の(300, )の数値
5 t_ 学習したサンプルの総数 36000
6 coefs_ 重みの数値 リスト型の(4, 100)と(100, 3)の数値
7 intercepts_ バイアスの数値 リスト型の(100, )と(3, )の数値
8 n_iter_ 合計イテレーション数(繰り返し数) 300
9 n_layers_ 層の数 3
10 n_outputs_ 出力層のニューロン数 3
11 out_activation_ 出力層の活性化関数 softmax
attribete.py
#classのラベル
print("classes_ : ", clf.classes_)

#最終的なLoss
print("loss_ : ", clf.loss_) 

#最も精度がいいタイミングのLoss
print("best_loss_ : ", clf.best_loss_) 

#Lossの推移
print("loss_curve_ : ", np.array(clf.loss_curve_).shape) 

#学習したサンプルの総数(120データ×300イテレーション)
print("t_ : ", clf.t_) 

#重みの数値  1層目=coefs_[0] 2層目=coefs_[1]
print("coefs_ : ", np.array(clf.coefs_[0]).shape, np.array(clf.coefs_[1]).shape) 

#バイアスの数値  1層目=intercepts_[0]  2層目=intercepts_[1]
print("intercepts_ : ", np.array(clf.intercepts_[0]).shape, np.array(clf.intercepts_[1]).shape) 

#合計イテレーション数(繰り返し数)
print("n_iter_ : ", clf.n_iter_) 

#層の数 (入力層 中間層 出力層)
print("n_layers_ : ", clf.n_layers_) 

#出力層のニューロン数(0, 1, 2)
print("n_outputs_ : ", clf.n_outputs_) 

#出力層の活性化関数
print("out_activation_ : ", clf.out_activation_) 

結果

classes_ :  [0 1 2]
loss_ :  0.18342519272611615
best_loss_ :  0.18342519272611615
loss_curve_ :  (300,)
t_ :  36000
coefs_ :  (4, 100) (100, 3)
intercepts_ :  (100,) (3,)
n_iter_ :  300
n_layers_ :  3
n_outputs_ :  3
out_activation_ :  softmax

methods(メソッド)は7個

メソッドの名前 使い方 何するか
1 fit fit(X, y) モデルの学習
2 predict predict(X) 学習済みモデルを使って予測
3 predict_proba predict_proba(X) 学習済みモデルを使って予測
クラスごとの確率あり
4 predict_log_proba predict_log_proba(X) 学習済みモデルを使って予測
クラスごとの確率あり(log表記)
5 score score(X, y, sample_weight=None) 学習済みモデルを使って平均精度を出す
6 get_params get_params(deep=True) モデルのパラメータを取得
7 set_params set_params(**params) モデルのパラメータを設定、変更
このスクラップは2ヶ月前にクローズされました
作成者以外のコメントは許可されていません