これはバイナリ分類の問題です。最小化されているメトリックは、対数損失(またはクロスエントロピー)です。私の情報のためだけに、私は正確さの数値も持っています。非常にバランスの取れた大規模なデータセットです。非常に単純な予測手法では、約50%の精度と0.693の対数損失があります。私がかき集めることができた最高のものは、52.5%の精度と0.6915のログ損失です。ログの損失を最小限に抑えようとしているため、常に一連の確率(predict_proba
sklearnおよびkerasの関数)が得られます。それがすべての背景ですが、今は問題です。
2つの異なる手法を使用して、同等の精度とログ損失メトリックを持つ2つの異なる予測セットを作成できるとしましょう。たとえば、入力フィーチャの2つの異なるグループを使用して、2つのセットの予測を生成できます。どちらも約52%正確で、<0.692のログ損失です。重要なのは、どちらの予測セットも予測力があることを示しているということです。別の例は、ロジスティック回帰を使用して1つの予測セットを生成し、ニューラルネットを使用してもう1つの予測セットを生成することです。
たとえば、各セットの最初の10は次のとおりです。
p1 = [0.49121362 0.52067905 0.50230295 0.49511673 0.52009695 0.49394751 0.48676686 0.50084939 0.48693237 0.49564188 ...]
p2 = [0.4833959 0.49700296 0.50484381 0.49122147 0.52754993 0.51766402 0.48326918 0.50432501 0.48721228 0.48949306 ...]
全体的な予測力を高めるために、2つの予測セットを1つに組み合わせる方法が必要だと考えています。ある?
私はいくつかのことを試し始めました。たとえば、予測の絶対値から0.5(abs( p - 0.5 )
)を引いたものを信号と見なし、その間p1
でp2
信号が大きい場合は、その値を使用します。これは私が望んでいたことをわずかに達成しましたが、ほんのわずかなマージンでした。そして別の例では、それはまったく役に立たなかったようです。興味深いことに、予測力を破壊するようには見えませんでした。