勾配ブースティング回帰の予測区間

Machine LearningMachine LearningBeginner
今すぐ練習

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、scikit-learnを使って分位点回帰を用いて予測区間を作成する方法を示します。回帰問題用の合成データを生成し、それに関数を適用し、対数正規分布を使って目的変数の観測値を作成します。次に、データを訓練用とテスト用のデータセットに分割し、非線形の分位点回帰器と最小二乗回帰器をフィットさせ、[0, 10]の範囲にわたる入力値の等間隔の評価セットを作成します。予測された中央値と予測された平均値を比較し、誤差指標を分析し、信頼区間を校正します。最後に、分位点回帰器のハイパーパラメータを調整します。

VMのヒント

VMの起動が完了したら、左上隅をクリックしてノートブックタブに切り替えて、Jupyter Notebookを使った練習を行います。

時々、Jupyter Notebookが読み込み終了するまで数秒待つ必要があります。Jupyter Notebookの制限により、操作の検証を自動化することはできません。

学習中に問題に遭遇した場合は、Labbyにお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills ml/sklearn -.-> lab-49152{{"勾配ブースティング回帰の予測区間"}} end

合成データの生成

一様にサンプリングされたランダムな入力に関数を適用することで、回帰問題用の合成データを生成します。問題を興味深いものにするために、目的変数yの観測値を、関数fによって計算される決定論的な項と、中心付きの対数正規分布に従うランダムノイズ項の和として生成します。対数正規分布は非対称で尾が長く、大きな外れ値が観測される可能性がありますが、小さな外れ値を観測することは不可能です。

データを訓練用とテスト用のデータセットに分割する

データを訓練用とテスト用のデータセットに分割します。

非線形の分位点回帰器と最小二乗回帰器をフィットさせる

分位点損失とalpha=0.05、0.5、0.95で訓練された勾配ブースティングモデルをフィットさせます。alpha=0.05とalpha=0.95で得られたモデルは90%の信頼区間を生成します。alpha=0.5で訓練されたモデルは中央値の回帰を生成します。

入力値の等間隔の評価セットを作成する

[0, 10]の範囲にわたる入力値の等間隔の評価セットを作成します。

真の条件付き平均関数fをプロットする

真の条件付き平均関数f、条件付き平均の予測(損失は二乗誤差に等しい)、条件付き中央値、および条件付き90%区間(5%から95%の条件付きパーセンタイルまで)をプロットします。

エラー指標を分析する

訓練用データセットに対して、平均二乗誤差(mean_squared_error)と平均ピンボール損失(mean_pinball_loss)の指標でモデルを評価します。1列には、同じ指標で評価されたすべてのモデルが表示されます。

分位点回帰器のハイパーパラメータをチューニングする

alpha=0.05のピンボール損失に対する交差検証によって最適なモデルパラメータを選択することで、5%パーセンタイルの新しい回帰器のハイパーパラメータをチューニングします。次に、95%パーセンタイルの回帰器のハイパーパラメータをチューニングします。

まとめ

この実験では、scikit-learnを使って分位点回帰を用いて予測区間を作成する方法を示しました。回帰問題用の合成データを生成し、それに関数を適用し、対数正規分布を使ってターゲットの観測値を作成しました。データを訓練用とテスト用のデータセットに分割し、非線形の分位点回帰器と最小二乗回帰器を適合させ、[0, 10]の範囲にわたる入力値の等間隔の評価セットを作成しました。予測された中央値と予測された平均値を比較し、エラー指標を分析し、信頼区間を校正しました。最後に、分位点回帰器のハイパーパラメータをチューニングしました。