ランダムフォレストのrパッケージを使用して、アミノ酸配列に基づいてタンパク質のペア間の距離を予測しています。主な関心は、近い(距離が小さい)タンパク質です。私のトレーニングデータセットは、10kペアのタンパク質とそれらの間の実際の距離で構成されています。ただし、タンパク質のペアが非常に少なく(0.2%未満)、それらの間の距離が小さく、問題は、訓練されたランダムフォレストが、距離が長いタンパク質間の距離を予測する際に非常に正確になり、距離が短いタンパク質には非常に悪いことです。彼ら。トレーニングデータで長距離のタンパク質をダウンサンプリングしようとしましたが、結果はまだ良くありません。私はより近いタンパク質(それらの間の距離が小さいそれらのペア)にもっと興味があります。
2 に答える
いくつかの提案:
gbm
1)パッケージからGBMを見てください。
2)RFが距離を駆動するものを理解するのに役立つ機能をさらに作成します。
3)エラーと個々の変数をプロットして、関係を推進しているものを探します。(ggplot2は、特にcolour
とsize
オプションを使用する場合に最適です。)
4)距離に基づいてy変数に1または0を割り当てることもできます(つまり、距離<xの場合;1に設定/距離>=xの場合;0に設定)。2つのクラスができたら、RFのstrata引数を使用して、均一にバランスの取れたサンプルを作成し、RFのimportance()関数とvarImpPlot()関数を使用して距離の違いを駆動している変数を確認できます。
5)距離関連変数のログを使用してみてください。RFは通常、非線形性を補正するのに非常に優れていますが、試してみても害はありません。
私の推測では、#2は最も困難であり、最も多くの考えを必要としますが、あなたが時間を過ごしたい場所です。
あなたの問題を考えるとあなたが助けるかもしれないのは回帰のための合成マイノリティオーバーサンプリング技術(SMOTER)だと思います。このトピックに関するいくつかの研究があります。ただし、おそらく遭遇したように、分類の対応物(SMOTE)よりも探索されていないままです。
研究の観点から理解することにどれだけ興味があるかによっては、以下に引用する論文を提案するかもしれません。合成観測の生成にガウスノイズが導入されたことに本当に感謝しています。
実用的なソリューションにもっと興味がある場合は、最初の作成者がGithubページでRの実装を利用できます。https://github.com/paobranco/SMOGN-LIDTA17
Pythonの方が説得力がある場合は、最近、SMOGNアルゴリズムの完全にPythonの実装を配布しました。これは現在利用可能であり、現在単体テストが行われています。https://github.com/nickkunz/smogn
Branco、P.、Torgo、L.、Ribeiro、R.(2017)「SMOGN:不均衡な回帰のための前処理アプローチ」。機械学習研究の議事録、74:36-50。http://proceedings.mlr.press/v74/branco17a/branco17a.pdf。