ラッパー法でのfunの定義の仕方について
Mostra commenti meno recenti
特徴選択を行い、そこで選ばれた因子から順序ロジステックモデルを作ろうと思っています。そこでカスタム基準を使用した逐次特徴選択を使おうと思います。構文はinmodel = sequentialfs(fun,X,y)です。そこでこのfunを定義する必要があると思うのですが、どう定義したら良いですか?
よろしくおねがいします。
Risposte (2)
michio
il 19 Nov 2020
の例にある
fun = @(XT,yT,Xt,yt)loss(fitcecoc(XT,yT),Xt,yt);
が fun 定義の一例です。ここでは無名関数として定義していますが、別途関数ファイルに XTRAIN,ytrain,XTEST,ytest を入力とする関数を定義し(例えば myFcn.m)
fun = @myFcn
と定義することもできるかと思います。
7 Commenti
Ayaka Egashira
il 25 Nov 2020
michio
il 26 Nov 2020
fun = @(XT,yT,Xt,yt)loss(fitcecoc(XT,yT),Xt,yt);
[fs,history] = sequentialfs(fun,X,y,'cv',c,'options',opts)
というコマンド例がありますが、学習サブセットと検定サブセットは sequentialfs 関数側で入力 X, y を分割しますので、実行時に明示的に分割する必要はありません。
Ayaka Egashira
il 10 Dic 2020
michio
il 10 Dic 2020
申し訳ありません、実施されたい事の全容がつかめずエラーの理解に苦慮しております。
mnrfit
を実行された後の
model.Rsquared.Adjusted
でエラーがでるとのことですが、この model とはなんでしょうか?
もし可能であれば何らかのサンプルデータに対して実行でき、エラーも再現できるコードを見せて頂けると助かります。
Ayaka Egashira
il 11 Dic 2020
michio
il 11 Dic 2020
(一度以下の”回答”にコメントしましたが削除し、こちらに転記します)
スクリプトを記載頂きありがとうございます。
今回実施されたいのは順序ロジステックモデルを作るにあたって、sequentialfs を使ったカスタム基準による逐次特徴選択であり、ご質問はその為に必要な fun (カスタム基準を返す関数) の定義方法だと理解しております。
今回頂いたコードはそのカスタム基準を返す関数(の一部)ということでしょうか?事前に fscnca により特徴量を選択さておりますが、その選択された中から sequentialfs でさらに絞り込むことを想定されていますか?
頂いたコードだけを拝見するとコード内で model が定義されていないために model.Rsquared.Adjusted との呼び出しにてエラーがでいると見えてしまいますが、いかがでしょうか?
Ayaka Egashira
il 11 Dic 2020
Ayaka Egashira
il 11 Dic 2020
Modificato: michio
il 11 Dic 2020
Categorie
Scopri di più su データ分布プロット in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!