2016-08-21 15 views
3

は、私は、バイナリ分類問題のために、以下のニューラルネットワークに合うと仮定:AdaBoostを使用してKerasベースのニューラルネットワークを強化する方法は?

model = Sequential() 
model.add(Dense(21, input_dim=19, init='uniform', activation='relu')) 
model.add(Dense(80, init='uniform', activation='relu')) 
model.add(Dense(80, init='uniform', activation='relu')) 
model.add(Dense(1, init='uniform', activation='sigmoid')) 
# Compile model 
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) 
# Fit the model 
model.fit(x2, training_target, nb_epoch=10, batch_size=32, verbose=0,validation_split=0.1, shuffle=True,callbacks=[hist]) 

私はアダブーストを使用してニューラルネットワークを押し上げるだろうか?ケラスにはこれについてのコマンドがありますか?

答えて

1

Keras自体はアダブーストを実装していません。しかし、Kerasモデルはscikit-learnと互換性がありますので、おそらくAdaBoostClassifierlink)を使用できます。コンパイル後にmodelbase_estimatorとして使用し、の代わりにfitAdaBoostClassifierのインスタンスを使用します。

この方法では、引数の値をfitに使用することはできません(エポック数やbatch_sizeなど)。デフォルトが使用されます。デフォルトが十分でない場合は、モデルの上にscikit-learnインターフェイスを実装する独自のクラスを構築し、適切な引数をfitに渡す必要があります。

+0

こんにちはを参照してくださいsklearnアダブーストと互換性がありません。 * TypeError:オブジェクト 'を入力してください: 'bdt = AdaBoostClassifier(base_estimator = model)' 'bdt.fit(x2、training_target)'モデルは私のコンパイルしたケラスネットワークです。 '0x000000004296B320>'(型): 'get_params'メソッドを実装していないので、scikit-learn見積もりではないようです。* – ishido

+0

明らかに、単独でケラス分類器は、シキット学習適合性ではない。それらを連携させる方法の詳細については、次の記事を参照してください。https://keras.io/scikit-learn-api/ – Ishamael

0

どうやら、ニューラルネットワークは、あなたの答えをありがとう、https://github.com/scikit-learn/scikit-learn/issues/1752

+0

ようこそ!これは境界線[リンクのみの回答](// meta.stackexchange.com/q/8231)です。ここに多くの情報を含めるように答えを広げ、参照用にのみリンクを使用してください。 –

関連する問題