1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Colabで700万件の悪性URLを分類してみた話

Posted at

TF-IDF × LightGBMでROC-AUC 0.94達成

🔗 GitHubリポジトリはこちら

📝 詳細な取り組み内容や全コードは、こちらのZenn記事にまとめています👇
🔗 Zenn記事

🎯 背景と目的

Dacon主催のAIコンペにて、「URLの文字情報のみで悪性かを判定するAIモデル」の開発に挑戦しました。
約700万件の大規模なデータをGoogle Colab環境で処理しながら、TF-IDFとLightGBMによるモデル構築を行いました。

🔧 技術構成

  • 前処理:TF-IDF(文字3〜5gram、最大10万次元)
  • モデル:LightGBM(max_depth=7、learning_rate=0.2)
  • 評価:StratifiedKFold(3分割) + ROC-AUC

📊 サンプル実験で ROC-AUC 0.94095 を達成!

💥 課題と対策

Colab Pro環境でもRAM不足により全データでの学習が困難でした。
そのため、以下のような工夫を行いました:

  • 特徴量数を 10万 → 5万 に削減
  • データをサブサンプリングして段階的に学習
  • joblib を使ってモデルやベクトルの分割保存を実施

🤖 実行環境

  • Google Colab Pro
  • Python 3.11
  • scikit-learn 1.3.0

✍️ まとめ

最終提出には至りませんでしたが、実務レベルのデータ規模と環境制限下でのモデル設計・改善を実体験できた貴重なプロジェクトでした。
同じような状況で試行錯誤している方々に、少しでも参考になれば嬉しいです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?