このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
RegressionTree预测ブロックの使用による応答の予測
この例では,RegressionTree预测ブロックを仿金宝app真软件®の応答予測に使用する方法を示します。このブロックは,観測値(予測子データ)を受け入れて,学習済みの回帰木モデルを使用することにより,その観測値の予測された応答を返します。
回帰モデルの学習
carbig
データセットを読み込みます。このデータセットには,1970年代と1980年代初期に製造された自動車の測定値が格納されています。予測子変数を格納する行列と応答変数のベクトルを作成します。
负载carbigX =(加速度、汽缸、排量、马力、Model_Year重量);Y = MPG;
回帰木モデルの学習を行います。
treeMdl = fitrtree (X, Y);
treeMdl
はRegressionTree
モデルです。
金宝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模型)を使用して,外港ブロックのログデータを表示できます。