k近傍法を用いた分類器の評価方法
3 ビュー (過去 30 日間)
古いコメントを表示
cvpartition(オプションでkFold)で分割したデータセットを用い,k近傍法(fitcknn,オプションでcvpartition)の交差検証済みモデルを作成しました。その交差検証済みモデルに対しての評価としてresublossとkfoldlossを求めたいと考えています。しかし,resublossがエラーになり,求まりません。交差検証済みモデルに対して再代入損失を求める方法はありますでしょうか?ご教示頂けますと幸いです。
0 件のコメント
採用された回答
Hiro Yoshino
2022 年 9 月 2 日
resubloss の引数は (こちら参照) full-classification model である必要があります。このモデルの中には学習時のデータなどが含まれます。resubloss 関数はこの学習データを利用して再代入誤差率を計算しています。
一方で、交差検証 (たとえば crossval ) で返ってくるモデルは、別のクラスのインスタンスになっています。crossval でしたら こちらの オブジェクト ClassificationPartitionedModel なので resubloss は受け取ることが出来ません。恐らくこれが原因ではないかと思われます。
回避策としては、単純に利用したデータを交差検証後のモデルに predict 関数などで与えて、計算したい再代入誤差のコードを書けば良いと思います。resubloss のようにオプションを切り替えるだけで色々計算はできませんが、計算方法も resubloss の下の方に解説があるので、それを見ながらコードを作成することはそこまで難しく無いかなと思います。
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で ガウス過程回帰 についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!