Module‐Specifications - LostRuneCloud/AutoML GitHub Wiki

モジュール仕様詳細 - AutoML システム

⚠️ ライセンス注意事項

このソフトウェアは著作権により保護されています。技術評価・学習目的での閲覧は許可されていますが、複製・ 実行・改変・商用利用は禁止されています。詳細はLICENSEを参照してください。

注意: 以下の仕様は技術的な構造理解のための情報提供であり、実際の実装を推奨するものではありません。


主要モジュール概要

本システムは以下の中核モジュールから構成されています:

モジュール 機能概要 実装規模 主要技術
AutoAdaptivePreprocessor 自己学習型データ前処理 40+ファイル 強化学習、ナレッジベース
AutoModelBuilder 自動モデル構築・最適化 38+ファイル ベイズ最適化、アンサンブル
AutoEvaluationModule 包括的モデル評価 25+ファイル 統計的検定、可視化
共通基盤モジュール システム横断基盤機能 20+ファイル リソース管理、エラーハンドリング
Webインターフェース インタラクティブUI 15+ファイル リアルタイム監視、REST API

1. AutoAdaptivePreprocessor(自己学習型前処理)

システム概要

データの特性に適応して最適な前処理パイプラインを自動的に構築するモジュールです。

アーキテクチャ構成

  AutoAdaptivePreprocessor
  ├── 共通モジュール統合層
  │   ├── DataTransferProtocol    # 標準化データ転送
  │   ├── TargetTransformer       # ターゲット変数変換
  │   ├── SharedKnowledgeBase     # グローバル知識共有
  │   ├── GlobalResourceManager   # リソース管理
  │   ├── ErrorHandler           # 統一エラー処理
  │   └── PipelineFeedback       # フィードバック管理
  ├── コア前処理モジュール
  │   ├── analyzer/              # データ分析コンポーネント
  │   │   ├── context_aware_analyzer.py     # コンテキスト認識分析
  │   │   ├── data_profiler.py             # データプロファイリング
  │   │   ├── relationship_graph.py        # 特徴量関係分析
  │   │   └── type_inference.py            # データタイプ推論
  │   ├── pipeline/              # パイプライン生成・最適化
  │   │   ├── pipeline_generator.py        # パイプライン生成
  │   │   ├── pipeline_optimizer.py        # パイプライン最適化
  │   │   └── rl_optimizer.py              # 強化学習最適化
  │   ├── knowledge/             # 知識ベース・学習機能
  │   │   ├── meta_learning.py             # メタ学習
  │   │   ├── transfer_learning.py         # 転移学習
  │   │   └── continual_learning.py        # 継続学習
  │   └── explanation/           # 説明・可視化機能
  │       ├── preprocessing_explainer.py   # 前処理説明
  │       └── interactive_explorer.py      # インタラクティブ探索
  └── メインコントローラー
      └── auto_adaptive_preprocessor.py    # 統合制御クラス
  

主要機能

データ分析機能

  • コンテキスト認識分析: タスクタイプ自動推論、ドメイン特化分析
  • データプロファイリング: 統計的検定、時系列検出、異常値検出
  • 関係分析: 特徴量間相関、因果関係推定
  • タイプ推論: データタイプ、セマンティック推論

パイプライン生成・最適化

  • 自動パイプライン生成: データ特性に基づく最適パイプライン構築
  • 強化学習最適化: RL-based前処理戦略学習
  • ハイパーパラメータ調整: 前処理パラメータの自動最適化

学習・適応機能

  • メタ学習: 過去の前処理経験からの学習
  • 転移学習: 類似データセットからの知識転移
  • 継続学習: オンライン学習による継続的改善

2. AutoModelBuilder(自動モデル構築)

システム概要

前処理済みデータから最適なアルゴリズムの選択・最適化・アンサンブル化を行うモジュールです。

実装規模

  • 総実装行数: 6,600行超
  • 対応アルゴリズム: 17種類(分類7種類 + 回帰10種類)
  • アンサンブル戦略: 5種類
  • 最適化エンジン: 3種類(Optuna、Grid Search、デフォルト)

4バージョン並行実装アーキテクチャ

  AutoModelBuilder 統合システム
  ├── 4層動的選択メカニズム (automl_pipeline.py)
  │   ├── バージョン選択: Enhanced→Standard→基本版フォールバック
  │   ├── モデル選択: IntelligentModelSelector(28種類モデル対応)
  │   ├── アンサンブル戦略: 5種類戦略の性能ベース選択
  │   └── 最適化手法: Optuna→Grid Search→デフォルトフォールバック
  ├── メイン完全版 (auto_model_builder.py)
  │   ├── BayesianOptimizationEngine      # Optuna TPESampler + MedianPruner
  │   ├── AdvancedEnsembleStrategySelector # 投票+スタッキング
  │   ├── SHAPExplainerEngine            # SHAP + ELI5統合
  │   └── 三段階エラーハンドリング         # カラム名エラー対策版
  ├── 拡張版 (auto_model_builder_enhanced.py) [2,000行]
  │   ├── BayesianOptimizationEngine      # 統合ベイズ最適化
  │   ├── EnsembleStrategySelector       # アンサンブル選択
  │   └── IntelligentModelSelector統合   # 高度モデル選択
  ├── 適応版 (auto_model_builder_adaptive.py) [300行]
  │   ├── AdaptiveModelTrainer統合       # 動的リソース割り当て
  │   ├── ResourceConstraintHandler     # リソース制約対応
  │   └── FailsafeModelBuilder          # フォールバック機構
  └── 標準版 (auto_model_builder_standard.py) [800行]
      ├── StandardModelSelector          # 基本モデル選択
      ├── GridSearchOptimizer           # グリッドサーチ最適化
      └── BasicEnsembleBuilder          # 基本アンサンブル
  

主要機能

アルゴリズム選択・最適化

  • インテリジェントモデル選択: 28種類モデルからの最適選択
  • ベイズ最適化: Optuna TPESamplerによる効率的探索
  • ハイパーパラメータ最適化: 最大100試行での精密調整

アンサンブル戦略

  • 投票アンサンブル: Hard/Soft投票による組み合わせ
  • スタッキングアンサンブル: メタ学習器による高度組み合わせ
  • 多様性アンサンブル: モデル多様性最大化戦略
  • 性能向上: 平均10-15%の性能向上を実現

説明可能性

  • SHAP統合: 特徴量重要度の詳細分析
  • ELI5統合: モデル解釈の可視化
  • 信頼区間表示: 95%信頼区間での重要度表示

3. AutoEvaluationModule(包括的評価)

システム概要

モデルの性能を多次元で評価し、統計的検定を含む包括的なレポートを生成するモジュールです。

アーキテクチャ構成

  AutoEvaluationModule
  ├── core/                      # 基本評価機能
  │   ├── evaluation_engine.py           # 評価エンジン
  │   ├── cross_validator.py             # 交差検証
  │   ├── statistical_tester.py          # 統計的検定
  │   └── basic_evaluator.py             # 基本評価器
  ├── metrics/                   # 評価指標
  │   ├── classification_metrics.py      # 分類指標
  │   ├── regression_metrics.py          # 回帰指標
  │   ├── business_metrics.py            # ビジネス指標
  │   └── custom_metrics.py              # カスタム指標
  ├── comparison/                # モデル比較
  │   ├── model_comparator.py            # モデル比較器
  │   ├── benchmark_suite.py             # ベンチマークスイート
  │   └── ablation_analyzer.py           # アブレーション分析
  ├── reports/                   # レポート生成
  │   ├── evaluation_reporter.py         # 評価レポート
  │   ├── html_generator.py              # HTMLレポート
  │   └── pdf_exporter.py                # PDF出力
  └── visualization/             # 可視化
      ├── performance_visualizer.py      # 性能可視化
      ├── confusion_matrix_viz.py        # 混同行列
      ├── roc_curve_generator.py         # ROC曲線
      └── feature_importance_viz.py      # 特徴量重要度
  

主要機能

評価指標

  • 分類指標: Accuracy, Precision, Recall, F1-Score, AUC-ROC等
  • 回帰指標: RMSE, MAE, R²Score, MAPE等
  • ビジネス指標: カスタムコスト関数、ROI計算
  • 統計的検定: 有意性検定、信頼区間算出

モデル比較・分析

  • 多モデル比較: 複数モデルの性能比較
  • ベンチマーク: 標準データセットでのベンチマーク
  • アブレーション分析: 各コンポーネントの寄与度分析

レポート・可視化

  • 包括的レポート: HTML/PDF形式での詳細レポート
  • インタラクティブ可視化: Plotly/Bokehによる動的可視化
  • ダッシュボード統合: リアルタイム監視用ダッシュボード

4. 共通基盤モジュール

システム概要

全モジュールで共有される基盤機能を提供するモジュール群です。

主要コンポーネント

ナレッジベース管理

# 技術的構造例(閲覧のみ、実装禁止)
class SharedKnowledgeBase:
    """グローバル知識共有システム"""
    - dataset_profiles: データセット特性情報
    - preprocessing_history: 前処理履歴
    - model_performance: モデル性能履歴
    - optimization_knowledge: 最適化知識

エラーハンドリング

# エラー処理例(閲覧のみ、実装禁止)
class UnifiedErrorHandler:
    """統一エラー処理システム"""
    - graceful_degradation: 段階的機能縮退
    - automatic_recovery: 自動回復機構
    - detailed_logging: 詳細ログ記録
    - user_notification: ユーザー通知

リソース管理

# リソース管理例(閲覧のみ、実装禁止)
class GlobalResourceManager:
    """システムリソース管理"""
    - memory_monitoring: メモリ使用量監視
    - cpu_optimization: CPU使用最適化
    - storage_management: ストレージ管理
    - parallel_processing: 並列処理制御

転職活動でのアピールポイント

技術的深度

- 大規模システム設計: 300+モジュールの統合アーキテクチャ
- 高度なアルゴリズム実装: ベイズ最適化強化学習メタ学習
- システム最適化: メモリ・CPU・ストレージの効率的活用

実装品質

- 堅牢性: 多層エラーハンドリング自動フォールバック
- 拡張性: プラグインアーキテクチャモジュラー設計
- 保守性: 包括的テスト詳細ドキュメント

実用性

- 実世界対応: 多様なデータ形式・ドメインへの対応
- 性能: 手動作業比15%以上の性能向上
- 使いやすさ: 直感的APIWebインターフェース
⚠️ **GitHub.com Fallback** ⚠️