10.1 自動化された機械学習について
自動化された機械学習(AutoML)は、機械学習モデルの構築に使用できるデータ分析およびモデリングに関する組込みのデータ・サイエンスの専門知識を提供します。
指定したデータセットと予測タスクに関するモデリングの問題には、データのクレンジングと前処理、アルゴリズムの選択およびモデルのチューニングといった一連のタスクが含まれます。これらの各ステップには、プロセスを効率的な最終モデルへと導くためのデータ・サイエンスの専門知識が必要です。自動化された機械学習(AutoML)では、組込みのデータ・サイエンスの専門知識によってこのプロセスが自動化されます。
OML4Pyには次のAutoML機能があります。
- サポートされている機械学習アルゴリズムから適切なアルゴリズムを選択する自動化されたアルゴリズム選択
- 元の特徴セットのサイズを縮小してモデルのトレーニングとチューニングを高速化し、モデルの品質も向上させる、自動化された特徴選択
- モデル・ハイパーパラメータの自動化されたチューニング。ユーザーが選択した複数のメトリックの中から、スコア・メトリックが最も高いモデルを選択します
AutoMLでは、こうした一般的なモデリング・タスクが自動的に実行されるため、労力を減らしながら、成果を高めることができます。また、データベース内アルゴリズムのパラレル処理およびスケーラビリティを利用して、ランタイムを最小化し、高品質の結果を生成します。
ノート:
機械学習クラスのfitメソッドと同様に、AutoML関数reduce、selectおよびtuneには、モデルの構築中に繰返し可能なデータ・サンプリングとデータ・シャッフルを実現するために使用できるcase_idパラメータが用意されています。
               AutoMLの機能は、Oracle Autonomous DatabaseのOML Notebooksとともに、コーディング不要のユーザー・インタフェースでも使用できます。詳細は、Oracle Machine Learning AutoMLユーザー・インタフェース を参照してください。
自動化された機械学習のクラスとアルゴリズム
自動化された機械学習のクラスは次のとおりです。
| クラス | 説明 | 
|---|---|
| oml.automl.AlgorithmSelection | データセットおよびタスクの特性のみを使用して、サポートされているOracle Machine Learningアルゴリズムのセットから最適なアルゴリズムを自動的に選択します。 分類関数と回帰関数をサポートします。 | 
| oml.automl.FeatureSelection | メタ学習を使用して、トレーニング・データセットおよびOracle Machine Learningアルゴリズムに基づいて最も関連性の高い特徴サブセットをすばやく識別します。 分類関数と回帰関数をサポートします。 | 
| oml.automl.ModelTuning | 勾配法に基づく、並列度の高い非同期のハイパーパラメータ最適化アルゴリズムを使用して、アルゴリズムのハイパーパラメータをチューニングします。 分類関数と回帰関数をサポートします。 | 
| oml.automl.ModelSelection | 最適なOracle Machine Learningアルゴリズムを選択し、そのアルゴリズムをチューニングします。 分類関数と回帰関数をサポートします。 | 
AutoMLでサポートされているOracle Machine Learningアルゴリズムは次のとおりです。
表10-1 AutoMLでサポートされている機械学習アルゴリズム
| アルゴリズムの略称 | アルゴリズム名 | 
|---|---|
| dt | デシジョン・ツリー | 
| glm | 一般化線形モデル | 
| glm_ridge | リッジ回帰を使用する一般化線形モデル | 
| nb | Naive Bayes | 
| nn | ニューラル・ネットワーク | 
| rf | ランダム・フォレスト | 
| svm_gaussian | ガウス・カーネルを使用するサポート・ベクター・マシン | 
| svm_linear | 線形カーネルを使用するサポート・ベクター・マシン | 
分類メトリックと回帰メトリック
次に示す各表は、AutoMLでサポートされているスコアリング・メトリックのリストです。
表10-2 2項および多クラス分類のメトリック
| メトリック | 説明、対応するscikit-learnメトリック、および計算式 | 
|---|---|
| accuracy | ターゲットの正分類率を計算します。 計算式:  | 
| f1_macro | 精度とリコールの加重平均であるfスコアまたはfメジャーを計算します。f1_macroは、クラスごとのスコアの非加重平均を取ります。 計算式:  | 
| f1_micro | 真陽性、偽陽性および偽陰性がグローバルにカウントされるマイクロ平均を使用して、fスコアまたはfメジャーを計算します。 計算式:  | 
| f1_weighted | サポート(クラスごとの真のサンプルの割合)に基づくクラスごとのスコアの加重平均を使用して、fスコアまたはfメジャーを計算します。不均衡なクラスを考慮します。 計算式:  | 
| precision_macro | 分類子がサンプルを誤ってラベル付けしない能力を計算します。precision_macroは、クラスごとのスコアの非加重平均を取ります。 計算式:  | 
| precision_micro | 分類子がサンプルを誤ってラベル付けしない能力を計算します。真陽性、偽陽性および偽陰性がグローバルにカウントされるマイクロ平均を使用します。 計算式:  | 
| precision_weighted | 分類子がサンプルを誤ってラベル付けしない能力を計算します。サポート(クラスごとの真のサンプルの割合)に基づくクラスごとのスコアの加重平均を使用します。不均衡なクラスを考慮します。 計算式:  | 
| recall_macro | 分類子が各クラスを正しくラベル付けする能力を計算します。recall_macroは、クラスごとのスコアの非加重平均を取ります。 計算式:  | 
| recall_micro | 真陽性、偽陽性および偽陰性がグローバルにカウントされるマイクロ平均を使用して、分類子が各クラスを正しくラベル付けする能力を計算します。 計算式:  | 
| recall_weighted | サポート(クラスごとの真のサンプルの割合)に基づくクラスごとのスコアの加重平均を使用して、分類子が各クラスを正しくラベル付けする能力を計算します。不均衡なクラスを考慮します。 計算式:  | 
関連項目: scikit-learnの分類メトリック
表10-3 2項分類のメトリックのみ
| メトリック | 説明、対応するscikit-learnメトリック、および計算式 | 
|---|---|
| f1 | 精度とリコールの加重平均であるfスコアまたはfメジャーを計算します。このメトリックが予期したとおりに機能するには、デフォルトで正のターゲットを1としてエンコードする必要があります。 計算式:  | 
| precision | 分類子が、実際には負(0)であるサンプルを正(1)としてラベル付けしない能力を計算します。 計算式:  | 
| recall | 分類子がすべての正(1)のサンプルを正しくラベル付けする能力を計算します。 計算式:  | 
| roc_auc | 予測スコアから受信者操作特性曲線下面積(roc_auc)を計算します。 受信者操作特性の定義も参照してください。 | 
表10-4 回帰メトリック
| メトリック | 説明、対応するscikit-learnメトリック、および計算式 | 
|---|---|
| r2 | 決定係数(Rの2乗)を計算します。 決定係数の定義も参照してください。 | 
| neg_mean_absolute_error | 予測ターゲットと実際のターゲットの絶対差の平均(MAE)を計算します。 計算式:  図negmeanabserr.pngの説明 | 
| neg_mean_squared_error | 予測ターゲットと実際のターゲットの2乗差の平均を計算します。 計算式:  図negmeansqerr.pngの説明 | 
| neg_mean_squared_log_error | 予測ターゲットと実際のターゲットの自然対数の差の平均を計算します。 計算式:  図negmeansqlogerr.pngの説明 | 
| neg_median_absolute_error | 予測ターゲットと実際のターゲットの間の絶対差の中央値を計算します。 計算式:  図negmedianabserr.pngの説明 | 
関連項目: scikit-learnの回帰メトリック
親トピック: 自動化された機械学習