random
説明
例
標本データ セット fisheriris
を読み込みます。
load fisheriris
列ベクトル species
には、3 種類のアヤメの種 (setosa、versicolor、virginica) が格納されています。行列 meas
には、花に関する 4 種類の測定値、がく片の長さと幅 (cm) と花弁の長さと幅 (cm) が格納されています。
測定値を予測子データ、アヤメの種類を応答データとして使用して、多項回帰モデルを当てはめます。
mdl = fitmnr(meas,species);
mdl
は、ノミナル多項回帰モデルをデータに当てはめた結果を含む多項回帰モデル オブジェクトです。
関数rand
を使用して、測定値データに一様分布のランダム ノイズを追加することで新しい予測子データを生成します。
rng("default") % Set the random seed for reproducibility sz = size(meas); measNew = meas + rand(sz);
measNew
の各行が一意のデータ点の予測子データに対応します。
当てはめられたモデルに measNew
を渡して生成される多項分布からサンプリングされたランダム応答値を生成します。
speciesPred = random(mdl,measNew)
speciesPred = 150×1 cell
{'versicolor'}
{'setosa' }
{'setosa' }
{'setosa' }
{'setosa' }
{'versicolor'}
{'setosa' }
{'versicolor'}
{'setosa' }
{'setosa' }
{'setosa' }
{'setosa' }
{'setosa' }
{'setosa' }
{'setosa' }
{'versicolor'}
{'setosa' }
{'versicolor'}
{'setosa' }
{'versicolor'}
{'setosa' }
{'versicolor'}
{'setosa' }
{'setosa' }
{'setosa' }
{'setosa' }
{'versicolor'}
{'setosa' }
{'setosa' }
{'versicolor'}
⋮
元の応答データを表示します。
species
species = 150×1 cell
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
{'setosa'}
⋮
speciesPred
と species
の出力から、speciesPred
のランダムに生成された応答の大部分は species
の元の応答ラベルと一致していることがわかります。speciesPred
と species
の違いは measNew
と meas
の違いによるもので、予測子データに関連付けられた多項分布から speciesPred
の値をサンプリングするランダム性も影響しています。
標本データ セット fisheriris
を読み込みます。
load fisheriris
列ベクトル species
には、3 種類のアヤメの種 (setosa、versicolor、virginica) が格納されています。行列 meas
には、花に関する 4 種類の測定値、がく片の長さと幅 (cm) と花弁の長さと幅 (cm) が格納されています。
測定値を予測子データ、アヤメの種類を応答データとして使用して、多項回帰モデルを当てはめます。
mdl = fitmnr(meas,species);
mdl
は、ノミナル多項回帰モデルをデータに当てはめた結果を含む多項回帰モデル オブジェクトです。
関数rand
を使用して、測定値データに一様分布のランダム ノイズを追加することで新しい予測子データを生成します。
rng("default") % Set the random seed for reproducibility sz = size(meas); measNew = meas + 5*rand(sz);
measNew
の各行が一意のデータ点の予測子データに対応します。
当てはめられたモデルに measNew
を渡して生成される多項分布からサンプリングされたランダム応答値を生成します。measNew
の各データ点について、対応する多項分布から 100 個の標本を生成し、結果をカウントの table で返します。
speciesPred = random(mdl,measNew,100,"counts")
speciesPred=150×3 table
setosa versicolor virginica
______ __________ _________
0 31 69
100 0 0
0 100 0
0 100 0
0 100 0
0 78 22
0 100 0
0 0 100
0 98 2
100 0 0
0 100 0
0 0 100
0 0 100
0 100 0
0 100 0
0 0 100
⋮
table speciesPred
の各行が measNew
のデータ点に対応し、各 table 変数が応答カテゴリに対応します。speciesPred
の要素は、それぞれの種類のサンプリング回数を示します。
入力引数
多項回帰モデル オブジェクト。関数 fitmnr
で作成される MultinomialRegression
モデル オブジェクトとして指定します。
新しい予測子の入力値。table または n 行 p 列の行列として指定します。ここで、n は新しい観測値の数、p は mdl
の当てはめに使用された予測子変数の数です。
XNew
が table の場合、mdl
の当てはめに使用されたすべての予測子の名前を含める必要があります。予測子の名前はmdl.PredictorNames
プロパティで確認できます。XNew
が行列の場合、推定された係数と同じ数の列を含める必要があります。推定された係数の数はmdl.NumPredictors
プロパティで確認できます。XNew
を行列として指定できるのは、mdl.PredictorNames
のすべての名前が数値予測子を参照する場合のみです。
例: random(mdl,[5.8 2.7; 5.7 2.5])
は、2 つの予測子のモデル mdl
をクエリ点 xq1 = [5.8 2.7]
および xq2 = [5.7 2.5]
で評価して与えられる各多項分布からシミュレートされた応答を生成します。
データ型: single
| double
| table
XNew
の各データ点についてシミュレートする試行回数。正の整数スカラーとして指定します。
データ型: single
| double
シミュレートされた応答を返すタイプ。"samples"
または "counts"
として指定します。シミュレートされた応答値をクラス ラベルの cell 配列として返すには、type
を "samples"
として指定します。シミュレートされた応答値を各応答カテゴリのカウントの table として返すには、type
を "counts"
として指定します。
データ型: char
| string
出力引数
アルゴリズム
関数 random
は、当てはめられた多項回帰モデル オブジェクト mdl
を使用して、XNew
の各データ点の応答カテゴリ確率を計算します。それぞれの確率のセットで、対応する予測子データの応答値を関数でサンプリングする多項分布が定義されます。
バージョン履歴
R2023a で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)