How to train SVM on features matrix?
조회 수: 2 (최근 30일)
이전 댓글 표시
Hi,
I tried to train SVM on cell array which each element is 20x120 double, How to train SVM fitcecoc on cell which each cell element contains 20x120 array features?
댓글 수: 0
답변 (1개)
Akshat
2025년 1월 29일
As per the documentation of "fitcecoc" given here https://www.mathworks.com/help/stats/fitcecoc.html#bue3oc9-2, you can see the input table takes in a 2D data, which is basically, numObservations x numFeatures. This means each observation (or sample) is a row, and each feature is a column. If your data is inherently multi-dimensional (like images or matrices), you need to flatten these into a single row to fit this format.
I am assuming your data is a matrix, and hence it will need to be flattened out.
Following that, it is a simple implementation of an "fitcecoc" classifier. Here is some boilerplate code:
% Assume 'data' is your cell array where each cell is a 20x120 matrix
% Assume 'labels' is a vector containing the label for each matrix
numObservations = numel(data);
reshapedData = zeros(numObservations, 20 * 120);
for i = 1:numObservations
reshapedData(i, :) = reshape(data{i}, 1, []);
end
% Train the SVM using fitcecoc
% 'labels' should be a column vector with the same number of rows as reshapedData
svmModel = fitcecoc(reshapedData, labels);
Hope this helps!
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Classification Ensembles에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!