主要内容

このペジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

回帰学習器アプリを使用して回帰木に学習をさせる

この例では,回帰学習器アプリを使用してさまざまな回帰木を作成および比較する方法と,学習済みのモデルをワークスペースにエクスポートして新しいデータの予測を行う方法を示します。

回帰木に学習をさせて,与えられた入力デタに対する応答を予測させます。回帰木の応答を予測するには、ルート (開始) ノードから葉ノードの方向に木をたどります。各ノードでは、そのノードに関連付けられているルールを使用して、どの分岐に進むかを決定します。葉ノードに達するまで続けます。予測された応答は、その葉ノードに関連付けられている値です。

统计和机器学习工具箱™のリは二分木です。予測の各ステップでは,1の予測子変数の値がチェックされます。たとえば,次の図は単純な回帰木を示しています。

この木は,2 .の予測子x1およびx2に基づいて応答を予測します。予測は最上位のノドから始まります。各ノドでは,予測子の値をチェックして,どの分岐に進むかを決定します。分岐が葉ノドに達した場合,そのノドに対応する値が応答として設定されます。

この例ではcarbigデタセットを使用します。このデータセットには,1970 ~ 1982年に製造されたさまざまな自動車モデルの次の特性が含まれています。

  • 加速度

  • 気筒数

  • エンジン排気量

  • エンジン出力(馬力)

  • モデル年

  • 重量

  • 生産国

  • ガロンあたりの走行マル数(mpg)

他の変数が入力として与えられた場合の燃費(ガロンあたりの走行マイル数)を予測するように,回帰木に学習をさせます。

  1. MATLAB®で,carbigデタセットを読み込み,さまざまな変数が含まれているテブルを作成します。

    负载carbigcartable = table(加速度,汽缸,排水量,...马力,型号_年份,重量,产地,MPG);
  2. [アプリ]タブの[機械学習および深層学習]グルプで[回帰学習器]をクリックします。

  3. [回帰学習器]タブの[ファル]セクションで,[新規セッション],[ワクスペスから]を選択します。

  4. [ワクスペスからの新規セッション]ダ[デタセット変数]で,ワクスペス内の表と行列のリストからcartableを選択します。

    応答および予測子変数が事前選択されていることを確認します。英里/加仑が応答として,他のすべての変数が予測子として選択されています。この例では,選択を変更しないでください。

  5. 既定の検証方式をそのまま使用して続行するため,[セッションの開始]をクリックします。既定の検証オプションは,過適合を防止する交差検証です。

    回帰学習器は,x軸にレコド番号がある応答のプロットを作成します。

  6. 応答プロットを使用して,どの変数が応答の予測に有用であるかを調べます。異なる予測子と応答の間の関係を可視化するには,[x軸][X]リストで異なる変数を選択します。

    どの変数が最も明確に応答と相関しているかを調べます。位移马力重量はすべて,応答に対して目に見える明らかな影響があり,すべて応答に対して負の関係を示しています。

  7. [x軸]で変数起源を選択します。箱ひげ図が自動的に表示されます。箱ひげ図には,応答の代表的な値と外れ値の可能性がある値が表示されます。マカをプロットすると多くの点が重なる場合,箱ひげ図は役に立ます。X軸の変数に一意な値が少ない場合に箱ひげ図を表示するには,[スタル][箱ひげ図]を選択します。

  8. 回帰木を選択して作成します。[回帰学習器]タブの[モデルタプ]セクションで[すべての木]をクリックします。

    次に,[学習]をクリックします。

    ヒント

    并行计算工具箱を使用している場合,[学習]セクションにある[並列の使用]ボタンを選択してから[学習]をクリックすることにより,すべてのモデル([すべての木]を同時に学習させることができます。[学習]をクリックすると[並列プルを開いています]ダ。同時に,ワカの並列プルが開きます。この間,ソフトウェアの対話的な操作はできません。プルが開いた後,モデルの学習が同時に行われます。

    回帰学習器は,[複雑な木][中程度の木]および[粗い木]という3の回帰木を作成し学習をさせます。

    3 ecommのモデルが[モデル]ペ邮箱ンに表示されます。モデルの[rmse(検証)](検証平方根平均二乗誤差)をチェックします。最高のスコアはボックスで強調表示されます。

    [複雑な木][中程度の木]は同じようなrmseですが,[粗い木]は精度が低くなっています。

    回帰学習器は,現在選択されているモデルの真の学習応答と予測された応答の両方をプロットします。

    メモ

    検証を使用する場合,結果には無作為性があるので,実際のモデル検証スコアはここに示されている結果と異なる場合があります。

  9. [モデル]ペンでモデルを選択すると,そのモデルの結果が表示されます。[x軸]马力を選択し,応答プロットを確認します。真の応答と予測された応答の両方がプロットされます。[誤差]チェックボックスを選択すると,予測された応答と真の応答の間の垂直線として予測誤差が表示されます。

  10. [現在のモデルの概要]ペ邮箱ンで現在選択されているモデルをさらに詳しく調べます。決定係数,mae(平均絶対誤差),予測速度など,他のモデル特性をチェックおよび比較します。詳細にいては,モデルの統計量の表示と比較を参照してください。[現在のモデルの概要]ペインでは,モデルの学習に使用したオプションなど,現在選択されているモデルタイプの詳細を調べることもできます。

  11. 予測された応答と真の応答をプロットします。[回帰学習器]タブの[プロット]セクションで[予測と実際]をクリックし,[検証デタ]を選択します。このプロットを使用して,異なる応答値にいて回帰モデルがどの程度適切に予測を行うかを調べます。

    完璧な回帰モデルでは,予測された応答が真の応答と等しくなるの,ですべての点が対角線上に配置されます。この線から点までの垂直距離は,その点にいての予測誤差です。優れたモデルは誤差が小さいので,予測は対角線の近くに配置されます。通常,優れたモデルでは点が対角線の近くでほぼ対称的に配置されます。プロットに明確なパタンがある場合,モデルを改善できる可能性があります。

  12. 他のモデルを[モデル]ペンで選択し,予測と実際のプロットを比較します。

  13. [モデルタプ]ギャラリで再度[すべての木]を選択します。モデルを改善するため,別の機能をモデルに含めてみます。予測力が低い特徴量を削除するとモデルを改善できるかどうか調べます。[回帰学習器]タブの[特徴量]セクションで[特徴選択]をクリックします。

    予測子から除外するため,[特徴選択]ダアログボックスで(加速)(气缸)のチェックボックスをクリアします。

    新しい予測子の設定を使用して新しい回帰木に学習をさせるため,[学習]をクリックします。

  14. [モデル]ペ邮箱ンで新しいモデルを確認します。これらのモデルは前と同じ回帰モデルですが,7の予測子のう5のみを学習に使用しています。使用した予測子の数が表示されます。どの予測子が使用されたかをチェックするには,[モデル]ペereplicationンでモデルをクリックし,[特徴選択]ダereplicationアログボックスのチェックボックスを確認します。

    2 .の特徴量を削除したモデルの性能は,すべての予測子を使用するモデルと同程度です。すべての予測子を使用した場合でも予測子のサブセットのみを使用した場合でも、モデルによる予測に変わりはありません。データの収集が高価または困難な場合、一部の予測子がなくても十分に機能するモデルが好ましい可能性があります。

  15. 马力のみを予測子として使用して,3の事前設定されている回帰木に学習をさせます。[特徴選択]ダ电子书阅读器アログボックスの選択を変更して[学習]をクリックします。

    エンジン出力のみを予測子として使用すると,モデルの精度が低下します。しかし,予測子を1しか使用していないことを考えれば,モデルは十分に機能しています。この単純な1次元予測子空間では,粗い木が中程度および複雑な木と同じ程度に良好に機能するようになります。

  16. 最適なモデルを[モデル]ペンで選択し,残差プロットを表示します。[回帰学習器]タブの[プロット]セクションで[残差]をクリックし,[検証デタ]を選択します。残差プロットには,予測された応答と真の応答の差が表示されます。残差を線グラフとして表示するため,[スタル]セクションの[ラン]を選択します。

    X軸にプロットする変数を[x軸]で選択します。真の応答,予測された応答,レコ,ド番号,またはいずれかの予測子を選択します。

    通常,優れたモデルでは残差が0の近くでほぼ対称的に配置されます。残差に明確なパタンがある場合,モデルを改善できる可能性があります。

  17. モデルの設定を調べるには,[モデル]ペンで最適なモデルを選択し,詳細設定を表示します。[モデルタプ]ギャラリーの最適化不可能なモデルオプションは事前設定された開始点であり,さらに設定を変更できます。[回帰学習器]タブの[モデルタプ]セクションで[詳細設定]をクリックします。[モデル]ペインに含まれている異なる回帰木のモデルを比較し,[回帰木の詳細オプション]ダイアログボックスで違いを調べます。[最小リフサズ]の設定により木の葉のサereplicationズが制御され,これにより回帰木のサereplicationズと深さが制御されます。

    モデルをさらに改善するには,[最小リフサズ]の設定を8に変更してから[学習]をクリックして新しいモデルに学習をさせます。

    [現在のモデルの概要]ペインまたは[回帰木の詳細オプション]ダイアログボックスで,選択した学習済みモデルの設定を確認します。

    回帰木の設定の詳細にいては,回帰木を参照してください。

  18. 選択したモデルをワクスペスにエクスポトします。[回帰学習器]タブの[エクスポト]セクションで[モデルのエクスポト]をクリックします。[モデルのエクスポト]ダ(好的)をクリックすると,既定の変数名trainedModelがそのまま使用されます。

    結果に関する情報はコマンドウィンドウに出力されます。

  19. エクスポトしたモデルを使用して,新しいデタで予測を行います。たとえば,ワクスペスにあるcartableのデタにいて予測を行うには,次のように入力します。

    yfit = trainedModel.predictFcn(cartable)
    出力のyfitには,各デ。

  20. 新しいデータを使用して同じモデルに学習をさせる処理を自動化したり,プログラムで回帰モデルに学習をさせる方法について調べるには,このアプリでコードを生成します。最適な学習済みモデルのコドを生成するには,[回帰学習器]タブの[エクスポト]セクションで[関数の生成]をクリックします。

    コドがモデルから生成され,ファeconルがmatlabのエディタに表示されます。詳細にいては,新しいデタでモデルに学習をさせるmatlabコドの生成を参照してください。

ヒント

この例と同じワークフローを使用すると,回帰学習器で学習可能な他のタイプの回帰モデルを評価および比較できます。

使用できる事前設定済みの最適化不可能なすべての回帰モデルに学習をさせます。

  1. [モデルタプ]セクションの右端にある矢印をクリックして回帰モデルのリストを展開します。

  2. [すべて]をクリックしてから[学習]をクリックします。

他の回帰モデルのタプにいては,回帰学習器アプリにより回帰モデルに学習をさせるを参照してください。

関連するトピック