k近傍法を用いた分類器の評価方法

cvpartition(オプションでkFold)で分割したデータセットを用い,k近傍法(fitcknn,オプションでcvpartition)の交差検証済みモデルを作成しました。その交差検証済みモデルに対しての評価としてresublossとkfoldlossを求めたいと考えています。しかし,resublossがエラーになり,求まりません。交差検証済みモデルに対して再代入損失を求める方法はありますでしょうか?ご教示頂けますと幸いです。

 채택된 답변

Hiro Yoshino
Hiro Yoshino 2022년 9월 2일

0 개 추천

resubloss の引数は (こちら参照) full-classification model である必要があります。このモデルの中には学習時のデータなどが含まれます。resubloss 関数はこの学習データを利用して再代入誤差率を計算しています。
一方で、交差検証 (たとえば crossval ) で返ってくるモデルは、別のクラスのインスタンスになっています。crossval でしたら こちらの オブジェクト ClassificationPartitionedModel なので resubloss は受け取ることが出来ません。恐らくこれが原因ではないかと思われます。
回避策としては、単純に利用したデータを交差検証後のモデルに predict 関数などで与えて、計算したい再代入誤差のコードを書けば良いと思います。resubloss のようにオプションを切り替えるだけで色々計算はできませんが、計算方法も resubloss の下の方に解説があるので、それを見ながらコードを作成することはそこまで難しく無いかなと思います。

댓글 수: 1

ASAMI
ASAMI 2022년 9월 14일
確認が遅れ申し訳ございません。
種々,ご教示頂きまして,大変ありがとうございます。
ご教示頂きました内容にてトライさせて頂きたいと存じます。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 サポート ベクター マシン回帰에 대해 자세히 알아보기

제품

릴리스

R2022a

질문:

2022년 8월 31일

댓글:

2022년 9월 14일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!