{protein}シーケンスを特定のクラス(ニューロペプチドホルモン前駆体)に属するかどうかに分類するために、既存の教師付き分類子の改善に取り組んでいます。
約1,300万のタンパク質配列のバックグラウンド(「不明/不十分な注釈付きのバックグラウンド」)に対して約1,150の既知の「陽性」、またはさまざまな特性で注釈付けされた約100,000のレビューされた関連タンパク質があります(ただし、 「ネガティブ」な方法)。
私の以前の実装では、これをバイナリ分類問題と見なしていました。ポジティブセット=ニューロペプチドとしてマークされたタンパク質。ネガティブセット:ほぼ同様の長さ方向の分布の残りのタンパク質の中から1,300サンプル(合計)のランダムサンプリング。
それはうまくいきましたが、マシンの識別能力を大幅に改善したいです(現在、ランダムにサンプリングされた複数のネガティブセットで、精度、AUC、F1、CVで測定すると約83〜86%です)。
私の考えは次のとおりでした:1)これをマルチクラスの問題にし、プロパティ/機能クラスによって、(おそらく)ランダムにサンプリングされた別のセットとともに、明確にネガティブになる2-3種類のタンパク質を選択します。(ここでの優先順位は、特性/特徴がポジティブセットに似ているネガティブセットですが、定義する特性があります)。2)1つのクラスの学習-素晴らしいと思いますが、私が理解するように、それは異常検出のためだけのものであり、差別的なアプローチよりもパフォーマンスが劣ります。
*)きれいに聞こえるPU学習について聞いたことがありますが、私はプログラミングN00bであり、そのための既存の実装については知りません。(Python / sci-kitで学習)。
それでは、アプローチ1は理論上のPOVで意味がありますか?複数のネガセットを作成する最良の方法はありますか?(「ネガティブ」タンパク質の大規模な[50K]ピックを使用することもできますが、それらはすべて非常に大きく異なるため、分類器がそれらを1つの大きなアンバランスミックスとしてどれだけうまく処理できるかわかりません。 )。ありがとう!