Trainerノード
TrainerノードはMLOps Desktopのモデル学習の中核です。3つのモード:新規モデルの学習、事前学習済みモデルの読み込み、Optunaでのハイパーパラメータチューニングをサポートします。
| プロパティ | 値 |
|---|---|
| タイプ | 処理ノード |
| 入力 | DataFrame(DataLoaderまたはDataSplitから) |
| 出力 | 学習済みモデル |
| ライブラリ | scikit-learn |
| モード | Train、Load、Tune |
Trainerノードには3つのモードがあり、トグルボタンで選択:
新規モデルをゼロから学習。
設定:
- Model Type — 12アルゴリズムから選択
- Target Column — 予測するカラム
- Test Split — 訓練/テスト分割の比率(DataSplitノードを使用しない場合)
初期のモデル開発や素早い実験に最適。
ディスクから事前学習済みモデルを読み込み。
設定:
- Model File Path —
.joblib、.pkl、または.pickleファイルへのパス
他の場所で学習したモデルの使用や作業の再開に最適。
Optunaで最適なハイパーパラメータを自動探索。
設定:
- Model Type — チューニングするモデル(Linear Regressionは無効—チューニング可能なパラメータなし)
- Target Column — 予測するカラム
- Tuning Config — 探索戦略、トライアル数、CVフォールド、探索空間
本番前のモデル性能最大化に最適。
分類モデル(6種類)
Section titled “分類モデル(6種類)”| モデル | 説明 | 主要ハイパーパラメータ |
|---|---|---|
| ロジスティック回帰 | 線形分類器、解釈しやすい | C、max_iter |
| Random Forest Classifier | 決定木のアンサンブル | n_estimators、max_depth、min_samples_split |
| Gradient Boosting Classifier | 逐次ブースティング、高精度 | n_estimators、learning_rate、max_depth |
| SVM (SVC) | サポートベクターマシン | C、kernel、gamma |
| KNN Classifier | 距離ベースの分類 | n_neighbors、weights、metric |
| MLP Classifier | ニューラルネットワーク | hidden_layer_sizes、alpha、learning_rate_init |
回帰モデル(6種類)
Section titled “回帰モデル(6種類)”| モデル | 説明 | 主要ハイパーパラメータ |
|---|---|---|
| 線形回帰 | シンプルな線形モデル | なし(チューニング不可) |
| Random Forest Regressor | 回帰用アンサンブル | n_estimators、max_depth、min_samples_split |
| Gradient Boosting Regressor | 回帰用ブースト木 | n_estimators、learning_rate、max_depth |
| SVM (SVR) | サポートベクター回帰 | C、kernel、gamma |
| KNN Regressor | 距離ベースの回帰 | n_neighbors、weights、metric |
| MLP Regressor | 回帰用ニューラルネットワーク | hidden_layer_sizes、alpha、learning_rate_init |
ハイパーパラメータチューニング
Section titled “ハイパーパラメータチューニング”Tuneモード選択時、チューニング設定ボタンをクリックしてTuningPanelを開きます。
| 戦略 | 説明 | 最適な用途 |
|---|---|---|
| Bayesian (TPE) | Tree-structured Parzen Estimator、過去のトライアルから学習 | ほとんどの場合(デフォルト) |
| Random | 一様ランダムサンプリング | ベースライン比較 |
| Grid | 全組み合わせの網羅的列挙 | 小さな離散空間 |
チューニング設定
Section titled “チューニング設定”| 設定 | 範囲 | デフォルト | 説明 |
|---|---|---|---|
| Number of Trials | 1-1000 | 50 | 試す設定の数 |
| CV Folds | 2-10 | 3 | 交差検証フォールド数 |
| Scoring Metric | 様々 | accuracy/r2 | 最適化するメトリクス |
モデル別の探索空間
Section titled “モデル別の探索空間”各モデルには事前定義の探索範囲があります:
Random Forest:
n_estimators: 50-300(ステップ50)max_depth: [null, 10, 15, 20, 30]min_samples_split: 2-10(ステップ2)min_samples_leaf: 1-4(ステップ1)Gradient Boosting:
n_estimators: 50-300(ステップ50)learning_rate: 0.01-0.3(対数スケール)max_depth: 3-8(ステップ1)subsample: 0.7-1.0(一様)SVM (SVC/SVR):
C: 0.1-100(対数スケール)kernel: [rbf, linear, poly]gamma: [scale, auto]KNN:
n_neighbors: 3-21(ステップ2)weights: [uniform, distance]metric: [euclidean, manhattan, minkowski]MLPニューラルネットワーク:
hidden_layer_sizes: [(50,), (100,), (100,50), (100,100)]alpha: 0.0001-0.1(対数スケール)learning_rate_init: 0.0001-0.1(対数スケール)max_iter: 200-1000(ステップ100)スコアリングメトリクス
Section titled “スコアリングメトリクス”分類:
- Accuracy
- F1 Score
- Precision
- Recall
- ROC AUC
回帰:
- R² Score
- Neg MSE
- Neg MAE
- Neg RMSE
Trainerは以下を自動的に処理:
- 欠損値 — 数値カラムは中央値、カテゴリカルは最頻値で補完
- カテゴリカルエンコーディング — 全カテゴリカルカラムにラベルエンコーディング
- IDカラムのフィルタリング —
id、index、name、ticket、cabinなどのカラムを削除 - 高カーディナリティカラム — 50以上のユニーク値を持つカラムを削除
| 方向 | ノードタイプ |
|---|---|
| 入力元 | DataLoader、DataSplit |
| 出力先 | Evaluator、ModelExporter |
典型的なパイプライン:
DataLoader → DataSplit → Trainer → EvaluatorTrialsパネル
Section titled “Trialsパネル”チューニング時、結果はTrialsタブに表示:
| カラム | 説明 |
|---|---|
| Trial # | トライアル番号 |
| Score | 交差検証スコア |
| Parameters | 使用したハイパーパラメータ値 |
| Duration | 所要時間 |
| Status | Complete、Pruned、またはFailed |
最良のトライアルはスターアイコンでハイライトされます。
よくある問題
Section titled “よくある問題”「線形回帰はチューニングできません」
Section titled “「線形回帰はチューニングできません」”線形回帰にはチューニング可能なハイパーパラメータがありません。Trainモードを使用するか、別のモデルを選択してください。
「Optunaがインストールされていません」
Section titled “「Optunaがインストールされていません」”Optunaをインストール:
pip install optunaチューニングが遅い
Section titled “チューニングが遅い”- トライアル数を減らす
- GridではなくRandomサーチを使用
- CVフォールドを減らす(最小2)
- より高速なモデルを使用(MLPよりLogistic Regression)
「ターゲットカラムが見つかりません」
Section titled “「ターゲットカラムが見つかりません」”カラム名が完全に一致しているか確認(大文字小文字を区別)。DataLoaderプレビューでカラム名を確認してください。
- DataLoader — 訓練データを読み込み
- DataSplit — 訓練/テストセットに分割
- Evaluator — 学習済みモデルを評価
- ModelExporter — モデルをエクスポート