主要内容

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

RegressionTree预测ブロックの使用による応答の予測

この例では,RegressionTree预测ブロックを仿金宝app真软件®の応答予測に使用する方法を示します。このブロックは,観測値(予測子データ)を受け入れて,学習済みの回帰木モデルを使用することにより,その観測値の予測された応答を返します。

回帰モデルの学習

carbigデータセットを読み込みます。このデータセットには,1970年代と1980年代初期に製造された自動車の測定値が格納されています。予測子変数を格納する行列と応答変数のベクトルを作成します。

负载carbigX =(加速度、汽缸、排量、马力、Model_Year重量);Y = MPG;

回帰木モデルの学習を行います。

treeMdl = fitrtree (X, Y);

treeMdlRegressionTreeモデルです。

金宝app仿真软件モデルの作成

この例では,RegressionTree预测ブロックを含む仿金宝app真软件モデルslexCarDataRegressionTreePredictExample.slxが用意されています。この節の説明に従って,この仿金宝app真软件モデルを開くことも,新しいモデルを作成することもできます。

金宝app仿真软件モデルslexCarDataRegressionTreePredictExample.slxを開きます。

SimMdlName =“slexCarDataRegressionTreePredictExample”;open_system (SimMdlName)

slexCarDataRegressionTreePredictExampleのコールバック関数PreLoadFcnには,標本データの読み込み,ツリーモデルの学習,および仿真金宝app软件モデルの入力信号の作成を行うコードが含まれています。金宝app仿真软件モデルを開くと,仿真软件モデルを読み込む前に,ソフトウェアがPreLoadFcnのコードを実行します。コールバック関数を表示するには,[モデル化)タブの[設定]セクションで,[モデル設定)をクリックし,[モデルプロパティ]を選択します。次に,[コールバック]タブで,[モデルのコールバック]ペインのコールバック関数PreLoadFcnを選択します。

新しい仿金宝app真软件モデルを作成するには,(空のモデル]テンプレートを開き,RegressionTree预测ブロックを追加します。轮廓尺寸ブロックと外港ブロックを追加して,それらをRegressionTree预测ブロックに接続します。

RegressionTree预测ブロックをダブルクリックして,[ブロックパラメーター]ダイアログボックスを開きます。学習済みのツリーモデルを含むワークスペース変数の名前を指定できます。既定の変数名はtreeMdlです。[更新]ボタンをクリックします。ダイアログボックスの【训练有素的机器学习模型】に,ツリーモデルtreeMdlの学習に使用されるオプションが表示されます。

RegressionTree预测ブロックには6個の予測子の値を含む観測値が必要です。轮廓尺寸ブロックをダブルクリックし,[信号属性]タブで(端子の次元)を6に設定します。

金宝app仿真软件モデルの構造体配列の形式で,入力信号を作成します。構造体配列には,次のフィールドが含まれていなければなりません。

  • 时间——観測値がモデルに入力された時点。方向は予測子データ内の観測値に対応しなければなりません。したがって,この例の場合は时间が列ベクトルでなければなりません。

  • 信号- - - - - -フィールドとフィールドが含まれている,入力データを説明する1行1列の構造体配列。は予測子データの行列,は予測子変数の個数です。

carsmallデータセットから,slexCarDataRegressionTreePredictExampleモデルに適切な構造体配列を作成します。

负载carsmalltestX =(加速度、汽缸、排量、马力、Model_Year重量);testX = rmmissing (testX);carsmallInput。时间= (0:size(testX,1)-1)'; carsmallInput.signals(1).values = testX; carsmallInput.signals(1).dimensions = size(testX,2);

ワークスペースから信号データをインポートするには,次を実行します。

  • [コンフィギュレーションパラメーター]ダイアログボックスを開く。[モデル化)タブで,[モデル設定)をクリック。

  • [データのインポート/エクスポート]ペインで[入力]チェックボックスをオンにし,隣のテキストボックスにcarsmallInputと入力。

  • [ソルバー]ペインの[シミュレーション時間]で,[終了時間]carsmallInput.time(结束)に設定。[ソルバーの選択]で,[タイプ]固定步に,[ソルバー]离散(无连续状态)に設定。

詳細は,シミュレーションのための信号データの読み込み(金宝app模型)を参照してください。

モデルをシミュレートします。

sim (SimMdlName);

轮廓尺寸ブロックでは,観測値を検出すると,その観測値をRegressionTree预测ブロックに送ります。シミュレーションデータインスペクター(金宝app模型)を使用して,外港ブロックのログデータを表示できます。

参考

関連するトピック