2012-11-29 12 views
5

Tôi hiện đang sử dụng cú pháp này trong matlab để có được tỷ lệ phân loại sai trong 10 lần kiểm chứng chéo:cách nhận tỷ lệ phân loại sai trong mỗi lần xác thực chéo?

target = [repmat(1,ntrial,1);repmat(2,ntrial,1)]; 
cvo = cvpartition(target,'k',10); 
func = @(XTRAIN,ytrain,XTEST)(classify(XTEST,XTRAIN,ytrain)); 
mcr = crossval('mcr',pooling,target,'predfun',func,'partition',cvo); 

(nơi 'tổng hợp' là 2 lớp đối tượng tập tôi muốn phân loại với các phân loại)

Từ nội dung tôi đọc, mcr sẽ trả lại tỷ lệ phân loại sai trung bình từ 10 lần. Bây giờ, nếu tôi muốn nhận tỷ lệ phân loại sai từ mỗi lần, tôi nên làm gì?

Cảm ơn bạn trước.

Trả lời

1

Tôi sẽ nói rằng trong trường hợp này, bạn muốn kiểm soát quá trình đào tạo/xác thực hơn một chút. Bạn đã xem xét việc phá vỡ quy trình để kiểm soát nhiều hơn? Bắt đầu với cvpartition để tạo 10 lần để xác thực chéo và sau đó thực hiện riêng từng lần.

+0

Tôi có một chút vấn đề khi phá vỡ quy trình 'crossval' vì tôi không hiểu khái niệm về hàm' cvpartition'. Tôi sợ nếu tôi tự mình tạo phân vùng, tài sản 'phân tầng' có bị vi phạm không? – Neu

+0

@Neu, Bạn có thể thử và mô phỏng chức năng cấp cao bằng cách sử dụng các chức năng cấp thấp và xem bạn có nhận được kết quả tương tự không ... – Shai

+0

Tôi đã nhận được nó, cảm ơn sự giúp đỡ của bạn :) – Neu