feval
説明
は、新しい入力予測子 Ypred
= feval(mdl
,X1,X2,...,Xp
)X1,X2,...,Xp
に対する mdl
の予測応答を返します。ここで、p は mdl
の当てはめに使用された予測子変数の数です。
例
各予測子について 1 つずつ入力を使用して応答を予測
標本データ セット fisheriris
を読み込みます。
load fisheriris
列ベクトル species
には、3 種類のアヤメの種の名前 (setosa、versicolor、virginica) が格納されています。行列 meas
には、花に関する 4 種類の測定値、がく片の長さと幅 (cm) と花弁の長さと幅 (cm) が格納されています。
関数cvpartition
を使用して、種類と測定値のデータを学習データとテスト データに分割します。関数training
を使用して、学習データの行のインデックスを取得します。
n = length(species);
partition = cvpartition(n,'Holdout',0.05);
idx_train = training(partition);
学習データの行のインデックスを使用して学習データを作成し、測定値の行列と種類のラベルのベクトルを作成します。
meastrain = meas(idx_train,:); speciestrain = species(idx_train,:);
学習データを使用して多項回帰モデルを当てはめます。
MnrModel = fitmnr(meastrain,speciestrain)
MnrModel = Multinomial regression with nominal responses Value SE tStat pValue _______ ______ ________ __________ (Intercept_setosa) 86.293 12.541 6.8807 5.9554e-12 x1_setosa -1.0621 3.5795 -0.29673 0.76667 x2_setosa 23.851 3.1238 7.6352 2.2556e-14 x3_setosa -27.266 3.5009 -7.7883 6.7894e-15 x4_setosa -59.671 7.0214 -8.4985 1.921e-17 (Intercept_versicolor) 42.637 5.2214 8.1659 3.1906e-16 x1_versicolor 2.4652 1.1263 2.1887 0.028619 x2_versicolor 6.6808 1.474 4.5325 5.829e-06 x3_versicolor -9.4292 1.2946 -7.2837 3.248e-13 x4_versicolor -18.286 2.0833 -8.7775 1.671e-18 143 observations, 276 error degrees of freedom Dispersion: 1 Chi^2-statistic vs. constant model: 302.0378, p-value = 1.5168e-60
MnrModel
は、ノミナル多項回帰モデルをデータに当てはめた結果を含む多項回帰モデル オブジェクトです。既定では、virginica
が基準カテゴリとなります。meas
の各予測子の係数統計量が table 出力に表示されます。列 pValue
の "p" 値が小さく、すべての係数が 95% の信頼水準で MnrModel
に対して統計的に有意な影響を与えることを示しています。たとえば、項 x3_setosa
の "p" 値は、花弁の長さが に対して統計的に有意な影響を与えることを示します。ここで、 と はカテゴリの確率です。
関数test
を使用して、テスト データの行のインデックスを取得します。テスト データの行のインデックスを使用してテスト データを作成し、測定値の行列と種類のラベルのベクトルを作成します。
idx_test = test(partition); meastest = meas(idx_test,:); speciestest = species(idx_test,:);
学習データに含まれていない meas
のデータ点に対応するアヤメの種類を予測します。
speciespredict = feval(MnrModel,meastest(:,1),meastest(:,2),meastest(:,3),meastest(:,4))
speciespredict = 7x1 cell
{'setosa' }
{'setosa' }
{'setosa' }
{'setosa' }
{'setosa' }
{'versicolor'}
{'versicolor'}
予測されたアヤメの種類を、学習データに含まれていない species
のデータ点に対応するアヤメの種類と比較します。
speciestest
speciestest = 7x1 cell
{'setosa' }
{'setosa' }
{'setosa' }
{'setosa' }
{'setosa' }
{'versicolor'}
{'versicolor'}
出力から、学習データに含まれていないデータ点のアヤメの種類がモデルで正確に予測されていることがわかります。
入力引数
mdl
— 多項回帰モデル オブジェクト
MultinomialRegression
モデル オブジェクト
多項回帰モデル オブジェクト。関数 fitmnr
で作成される MultinomialRegression
モデル オブジェクトとして指定します。
X1,X2,...,Xp
— 新しい予測子の入力値
スカラー | ベクトル
新しい予測子の入力値。p 個のスカラーまたはベクトルとして指定します。ここで、p は mdl
の当てはめに使用された予測子変数の数です。
X1,X2,...,Xp
をベクトルのコレクションとして渡す場合、各ベクトルは同じサイズでなければなりません。Xi
の各行が観測値に対応します。X1,X2,...,Xp
をベクトルとスカラーの混合として渡す場合、feval
はベクトル引数と同じサイズの定数ベクトルに各スカラー引数を拡張します。
例: feval(mdl,[0.1; 0.2],[0.3; 0.4])
は、2 つの予測子のモデル mdl
を点 p1 = [0.1 0.3]
および p2 = [0.2 0.4]
において評価します。
データ型: single
| double
XNew
— 新しい予測子の入力値
テーブル | n 行 p 列の行列
新しい予測子の入力値。table または n 行 p 列の行列として指定します。ここで、n は予測する観測値の数、p は mdl
の当てはめに使用された予測子変数の数です。
XNew
が table の場合、mdl
の当てはめに使用されたすべての予測子の名前を含める必要があります。予測子の名前はmdl.PredictorNames
プロパティで確認できます。XNew
が行列の場合、推定された係数と同じ数の列を含める必要があります。推定された係数の数はmdl.NumPredictors
プロパティで確認できます。XNew
を行列として指定できるのは、mdl.PredictorNames
のすべての名前が数値予測子を参照する場合のみです。
例: feval(mdl,[6.2 3.4; 5.9 3.0])
は、2 つの予測子のモデル mdl
を点 p1 = [6.2 3.4]
および p2 = [5.9 3.0]
において評価します。
データ型: single
| double
| string
| cell
| categorical
出力引数
Ypred
— 入力データに対する予測応答カテゴリ
categorical 配列 | 文字配列 | logical ベクトル | 数値ベクトル | 文字ベクトルの cell 配列
予測応答カテゴリ。n 行 1 列の categorical 配列、文字配列、logical ベクトル、数値ベクトル、または文字ベクトルの cell 配列として返されます。ここで、n は予測する観測値の数です。Ypred
のデータ型は mdl.ClassNames
と同じです。
代替機能
バージョン履歴
R2023a で導入
参考
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)