主要内容

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

fsrftest

F検定を使用した回帰のための一変量の特徴量ランク付け

説明

idx= fsrftest (资源描述ResponseVarNameは,F検定を使用して特徴量(予測子)をランク付けします。テーブル资源描述には予測子変数と応答変数が含まれていて,ResponseVarName资源描述内の応答変数の名前です。関数はidxを返します。これには予測子の重要度順に並べ替えられた予測子のインデックスが含まれます。つまり,idx (1)は最も重要な予測子のインデックスです。idxを使用して,回帰問題のための重要な予測子を選択できます。

idx= fsrftest (资源描述公式は,公式を使用して资源描述内の変数を考慮するために応答変数と予測子変数を指定します。

idx= fsrftest (资源描述Yは,応答変数Yを使用して资源描述内の予測子をランク付けします。

idx= fsrftest (XYは,応答変数Yを使用してX内の予測子をランク付けします。

idx= fsrftest (___名称,值では,前の構文におけるいずれかの入力引数の組み合わせに加えて,1つ以上の名前と値のペアの引数を使用して追加のオプションを指定します。たとえば,カテゴリカル予測子と観測値の重みを指定できます。

idx分数) = fsrftest (___は,予測子スコア分数も返します。大きなスコア値は,対応する予測子が重要であることを示します。

すべて折りたたむ

数値行列内の予測子をランク付けし,予測子の重要度スコアの棒グラフを作成します。

標本データを読み込みます。

负载robotarm.mat

robotarm7168年データセットには個の学習観測値(Xtrainおよびytrain), 1024個のテスト観測値(Xtestおよび欧美), 32個の特徴量が含まれています[1][2]

学習観測値を使用して予測子をランク付けします。

[idx,分数]= fsrftest (Xtrain ytrain);

分数の値は,p値の負の対数です。p値が每股收益(0)よりも小さい場合,対応するスコア値はです。棒グラフを作成する前に,分数値を含むかどうかを判断します。

找到(isinf(分数)
Ans = 1x0空双行向量

分数値は含まれていません。分数値を含む場合,可視化のために,棒グラフを作成する前に大きな数値でを置き換えることができます。詳細については,テーブル内の予測子のランク付けを参照してください。

予測子の重要度スコアの棒グラフを作成します。

栏(分数(idx))包含(“预测排名”) ylabel (“预测重要性分数”

图中包含一个坐标轴。坐标轴包含bar类型的对象。

上第五位つの最も重要な予測子を選択します。Xtrainにおけるこれらの予測子の列を求めます。

idx (1:5)
ans =1×530 24 10 4 5

Xtrainの30列目が,ytrainの最も重要な予測子です。

テーブル内の予測子をランク付けし,予測子の重要度スコアの棒グラフを作成します。

データがテーブル内にあり,fsrftestがテーブル内の変数のサブセットをランク付けする場合,関数はサブセットのみを使用して変数にインデックスを作成します。そのため,ランク付けしない予測子をテーブルの最後に移動させることをお勧めします。応答変数,および観測値の重みベクトルも同様に移動させます。すると,出力引数のインデックスはテーブルのインデックスと一致します。関数movevarsを使用して,テーブル内の変数を移動できます。

この例では,UCI机器学习库[5]にあるアワビのデータ[3][4]を使用します。データをダウンロードして,“abalone.data”という名前で現在のフォルダに保存します。

データをテーブルに保存します。

台= readtable (“abalone.data”“文件类型”“文本”“ReadVariableNames”、假);tbl.Properties.VariableNames = {“性”“长度”“直径”“高度”...“WWeight”“SWeight”“VWeight”“ShWeight”“NoShellRings”};

テーブルの最初の数行をプレビューします。

头(台)
ans =8×9表性长度直径高度WWeight SWeight VWeight ShWeight NoShellRings  _____ ______ ________ ______ _______ _______ _______ ________ ____________ {' M} 0.455 0.365 0.095 0.514 0.2245 0.101 0.15 15{“M”}0.35 0.265 0.09 0.2255 0.0995 0.0485 0.07 7 {' F '} 0.53 0.42 0.135 0.677 0.2565 0.1415 0.21 9{“M”}0.44 0.365 0.125 0.516 0.2155 0.114 0.155十{' i '} 0.33 0.255 0.08 0.205 0.0895 0.0395 0.055 7 {' i '} 0.425 0.3 0.095 0.3515 0.141 0.0775 0.12 8 {' f '} 0.53 0.415 0.15 0.7775 0.237 0.1415 0.33 20 {' f '} 0.545 0.425 0.125 0.768 0.294 0.1495 0.26

テーブルの最後の変数は応答変数です。

资源描述の予測子をランク付けします。最後の列NoShellRingsを応答変数として指定します。

[idx,分数]= fsrftest(资源描述,“NoShellRings”
idx =1×83 4 5 7 8 2 6
成绩=1×8447.6891 736.9619 Inf Inf Inf 604.6692 Inf Inf

分数の値は,p値の負の対数です。p値が每股收益(0)よりも小さい場合,対応するスコア値はです。棒グラフを作成する前に,分数値を含むかどうかを判断します。

idxInf =找到(isinf(分数))
idxInf =1×53 4 5 7 8

分数には5つの値が含まれます。

予測子の重要度スコアの棒グラフを作成します。予測子の名前をx軸の目盛りラベルに使用します。

栏(分数(idx))包含(“预测排名”) ylabel (“预测重要性分数”) xticklabels (strrep (tbl.Properties.VariableNames (idx),“_”“\ _”) xtickangle (45)

関数酒吧値に関するバーをプロットすることはありません。値について,最も大きい有限のスコアと同じ長さのバーをプロットします。

持有酒吧(分数(idx(长度(idxInf) + 1) *(长度(idxInf), 1))传说(“有限的分数”“正分数”)举行

棒グラフでは,異なる色を使用して有限のスコアとInfスコアを表示します。

入力引数

すべて折りたたむ

標本データ。テーブルとして指定します。文字ベクトルの cell 配列ではない cell 配列と複数列の変数は使用できません。

资源描述の各行は1つの観測値に,各列は1つの予測子変数に対応します。必要に応じて,资源描述に応答変数用および観測値の重み用の追加列を含めることができます。

応答変数は,绝对配列,文字配列,字符串配列,逻辑ベクトル,数値ベクトル,または文字ベクトルの细胞配列にすることができます。応答変数が文字配列である場合,応答変数の各要素は配列の1つの行に対応しなければなりません。

  • 资源描述に応答変数が含まれている場合に资源描述内の他の変数をすべて予測子として使用するには,ResponseVarNameを使用して応答変数を指定します。资源描述に観測値の重みも含まれている場合,权重を使用して重みを指定できます。

  • 资源描述に応答変数が含まれている場合に资源描述内の他の変数のサブセットのみを予測子として使用するには,公式を使用して変数のサブセットを指定します。

  • 资源描述に応答変数が含まれていない場合は,Yを使用して応答変数を指定します。応答変数と资源描述の行数は同じでなければなりません。

fsrftest资源描述内の変数のサブセットを予測子として使用する場合,関数はサブセットのみを使用して予測子にインデックスを作成します。名前と値のペアの引数“CategoricalPredictors”と出力引数idx内の値は,関数がランク付けを行わない予測子はカウントしません。

fsrftestは,応答変数の资源描述に含まれている''(空の文字ベクトル),""(空の字符串),< >失踪,および<定义>の値を欠損値と見なします。fsrftestは,応答変数に欠損値がある観測値を使用しません。

データ型:表格

応答変数名。资源描述内の変数の名前を含む文字ベクトルまたは字符串スカラーを指定します。

たとえば,応答変数が资源描述の列Y资源描述。Y)である場合,ResponseVarName“Y”として指定します。

データ型:字符|字符串

応答変数および予測子変数サブセットの説明モデル。'Y ~ x1 + x2 + x3'という形式の文字ベクトルまたは字符串スカラーを指定します。この形式では,Yは応答変数を,x1x2およびx3は予測子変数を表します。

予測子として资源描述内の変数のサブセットを指定するには,式を使用します。式を指定した場合,fsrftest公式に現れない资源描述内の変数をランク付けしません。

式の変数名は资源描述の変数名(Tbl.Properties.VariableNames)であり,有効なMATLAB®識別子でなければなりません。関数isvarnameを使用して资源描述の変数名を検証できます。変数名が有効でない場合,関数matlab.lang.makeValidNameを使用してそれらを変換できます。

データ型:字符|字符串

応答変数。数値ベクトル,直言ベクトル,逻辑ベクトル,文字配列,字符串配列,または文字ベクトルの细胞配列として指定します。Yの各行は,Xの対応する行のラベルを表します。

fsrftestYに含まれている''(空の文字ベクトル),""(空の字符串),< >失踪および<定义>値を欠損値と見なします。fsrftestは,Yに対し欠損値がある観測値を使用しません。

データ型:||分类|逻辑|字符|字符串|细胞

予測子データ。数値行列として指定します。Xの各行は1つの観測値に,各列は1つの予測子変数に対応します。

データ型:|

名前と値のペアの引数

オプションの名称,值引数のコンマ区切りペアを指定します。的名字は引数名で,价值は対応する値です。的名字は引用符で囲まなければなりません。Name1, Value1,…,的家のように,複数の名前と値のペアの引数を,任意の順番で指定できます。

例:“UseMissing”“NumBins”,20日,真的は,ビンの数を20として設定し,ランク付けのために予測子内の欠損値を使用するように指定します。

カテゴリカル予測子のリスト。次の表のいずれかの値として指定します。

説明
正の整数のベクトル

ベクトルの各エントリは,カテゴリカル変数が含まれている予測子データの列に対応するインデックス値です。インデックス値の範囲は1 ~pです。pはモデルの学習に使用した予測子の数です。

fsrftestが入力変数のサブセットを予測子として使用する場合,関数はサブセットのみを使用して予測子にインデックスを作成します。応答変数,観測値の重み変数,および関数で使用されないその他の変数は,“CategoricalPredictors”値でカウントされません。

逻辑ベクトル

真正的というエントリは,予測子データの対応する列がカテゴリカル変数であることを意味します。ベクトルの長さはpです。

文字行列 行列の各行は予測子変数の名前です。名前は资源描述の名前に一致しなくてはなりません。文字行列の各行が同じ長さになるように、名前を余分な空白で埋めてください。
文字ベクトルの细胞配列または字符串配列 配列の各要素は予測子変数の名前です。名前は资源描述の名前に一致しなくてはなりません。
“所有” すべての予測子がカテゴリカルです。

既定では,予測子データがテーブル(资源描述)内にある場合,fsrftestは,その変数が逻辑ベクトル,順序付けのない直言ベクトル,文字配列,字符串配列または文字ベクトルの细胞配列のいずれかである場合に,変数を直言であると見なします。予測子データが行列(X)である場合,fsrftestはすべての予測子が連続的であると見なします。他の予測子をカテゴリカル予測子として指定するには,名前と値の引数“CategoricalPredictors”を使用してそれらを指定します。

例:“CategoricalPredictors”、“所有”

データ型:||逻辑|字符|字符串|细胞

連続予測子をビン化するためのビンの数。“NumBins”と正の整数スカラーから構成されるコンマ区切りのペアとして指定します。

例:“NumBins”,50岁

データ型:|

予測子内の欠損値を使用するか破棄するかを示すインジケーター。“UseMissing”と,ランク付けのために予測子内の欠損値を使用する(真正的)または破棄する()のいずれかから構成されるコンマ区切りのペアとして指定します。

fsrftestは,''(空の文字ベクトル),""(空の字符串),< >失踪,および<定义>の値を欠損値と見なします。

“UseMissing”,真的を指定した場合,fsrftestはランク付けに欠損値を使用します。カテゴリカル変数の場合,fsrftestは欠損値を追加のカテゴリとして扱います。連続変数の場合,fsrftestはビン化するために別個のビン内に値を配置します。

“UseMissing”,假的を指定した場合,fsrftestはランク付けに欠損値を使用しません。fsrftestは各予測子について個別に重要度スコアを計算するため,関数は行内の値が部分的に欠損している場合も行全体を破棄することはありません。各変数について,fsrftestは欠損していないすべての値を使用します。

例:“UseMissing”,真的

データ型:逻辑

観測値の重み。“重量”とスカラー値のベクトルまたは资源描述内の変数の名前から構成されるコンマ区切りのペアとして指定します。関数は,Xまたは资源描述の各行の観測値に,权重の対応する値で重みを付けます。权重のサイズは,Xまたは资源描述の行数と同じでなければなりません。

入力データをテーブル资源描述として指定した場合,权重は数値ベクトルが含まれている资源描述内の変数の名前にすることができます。この場合,权重には文字ベクトルまたは字符串スカラーを指定しなければなりません。たとえば,重みベクトルが资源描述の列W资源描述。W)である場合,“重量”、“W”を指定します。

fsrftestは,合計が1になるように重みを正規化します。

データ型:||字符|字符串

出力引数

すべて折りたたむ

予測子の重要度順に並べ替えられたXまたは资源描述の予測子のインデックス。1行r列の数値ベクトルとして返されます。rはランク付けされた予測子の数です。

fsrftest资源描述内の変数のサブセットを予測子として使用する場合,関数はサブセットのみを使用して予測子にインデックスを作成します。たとえば,资源描述に列が10個あり,公式を使用して资源描述の最後の5列を予測子変数として指定するとします。idx (3)5である場合3番目に重要な予測子は资源描述の10列目(サブセットの5番目の予測子)です。

予測子スコア。1行r列の数値ベクトルとして返されます。rはランク付けされた予測子の数です。

大きなスコア値は,対応する予測子が重要であることを示します。

  • Xを使用して予測子を指定するか,资源描述内のすべての変数を予測子として使用する場合,分数内の値の順序は,Xまたは资源描述内の予測子と同じ順序です。

  • 资源描述内の変数のサブセットを予測子として指定する場合,分数内の値の順序は,サブセットと同じ順序です。

たとえば,资源描述に列が10個あり,公式を使用して资源描述の最後の5列を予測子変数として指定するとします。この場合,分数(3)には资源描述内の8番目の列のスコア値が含まれます。これは,サブセットの3番目の予測子です。

アルゴリズム

すべて折りたたむ

F検定を使用した一変量の特徴量ランク付け

  • fsrftestはF検定を使用して各予測子の重要度を個別に調べます。各F検定は,予測子変数値でグループ化された応答値が,平均が同じである複数の母集団から抽出されたという仮説を,母集団の平均はすべて同じではないという対立仮説に対して検定します。検定統計量のp値が小さければ,対応する予測子が重要であることを示します。

  • 出力分数日志(p)です。そのため,スコア値が大きければ,対応する予測子が重要であることを示します。p値が每股收益(0)よりも小さい場合,出力はです。

  • fsrftestは変数をビン化または離散化した後で連続変数を調べます。名前と値のペアの引数“NumBins”を使用してビンの数を指定できます。

参照

[1] Rasmussen, C. E., R. M. Neal, G. E. Hinton, D. van Camp, M. Revow, Z. Ghahramani, R. Kustra, R. Tibshirani。《DELVE手册》,1996年。

[2]多伦多大学计算机科学系深入研究数据集。

纳什、w.j.、t.l.塞勒斯、s.r.塔尔博特、a.j.考索恩和w.b.福特。鲍鱼的种群生物学(石决明物种)的塔斯马尼亚岛。I.黑唇鲍鱼(h . rubra)从北海岸和巴斯海峡群岛。”海洋渔业司,技术报告第48号,1994年。

[4]沃,S。串级相关的扩展和基准:前馈监督人工神经网络的串级相关体系结构和基准的扩展。塔斯马尼亚大学计算机科学系论文,1995年。

[5] Lichman, m.l UCI机器学习知识库。加州欧文:加州大学信息与计算机科学学院,2013。http://archive.ics.uci.edu/ml。

R2020aで導入