2025年6月14日
今週の活動¶
- BugHunterデータセットに関する論文に書かれている条件を参考にして、論文で示された評価結果を再現するプログラムを作成
- https://www.sciencedirect.com/science/article/pii/S0164121220301436
- 満たすべき条件(論文で言及されていた条件)
- メソッドレベルのallカテゴリーのデータセット
- ランダムフォレスト
- Random Under Sampling
- 10分割交差検証
- 追加で設定した条件(論文で言及されていなかった条件)
- TF-IDFを用いた特徴量抽出
- One-Hotエンコーディング
- Feature Importanceによる特徴量選択
- 数値データの正規化
- Removeフィルタリング
- 期待される評価結果
- F1スコア: およそ0.66
- 検証結果
- F1スコア: およそ0.61
- 作成したプログラム
得られた成果¶
- BugHunterデータセットを実際に使用してバグの有無を予測するモデルを作成
- 論文で示された評価結果を再現するためのプログラムを作成
- ベースラインを設定
- メソッドレベルのallカテゴリーのデータセット
- F1スコア: 0.61
- メソッドレベルのallカテゴリーのデータセット
直面した課題¶
- 以下の方法でモデルの精度向上を試みたが、ほとんど効果がなかった
- 機械学習アルゴリズムの変更
- 勾配ブースティング: LightGBM, XGBoost, CatBoost
- 新しい特徴量の追加
- コードメトリクスのグループ化
- 次元削減手法の変更
- 独立変数と目的変数が線形な関係であると仮定して、ランダムフォレストの代わりにPCAを適用して次元削減を実施
- 機械学習アルゴリズムの変更
- モデル自体の改良は難しい
- BugHunterデータセットがコードメトリクスの変化量を扱えていないことを指摘し、その問題を解決する方が簡単
来週の計画¶
- BugHunterデータセットの問題点を整理し、解決すべきことを明らかにする