Wie zu verwenden SVM in Matlab?
Ich bin neu Matlab. Gibt es eine Beispiel-code für die Klassifizierung einige Daten (mit 41 Funktionen) mit einem SVM und visualisieren dann das Ergebnis? Ich möchte zum klassifizieren eines Datensatzes (die fünf Klassen) mit dem SVM Methode.
Ich lese die "A Practical Guide to Support Vector Classication" Artikel, und ich sah einige Beispiele. Mein Datensatz ist kdd99. Ich schrieb den folgenden code:
%% Load Data
[data,colNames] = xlsread('TarainingDataset.xls');
groups = ismember(colNames(:,42),'normal.');
TrainInputs = data;
TrainTargets = groups;
%% Design SVM
C = 100;
svmstruct = svmtrain(TrainInputs,TrainTargets,...
'boxconstraint',C,...
'kernel_function','rbf',...
'rbf_sigma',0.5,...
'showplot','false');
%% Test SVM
[dataTset,colNamesTest] = xlsread('TestDataset.xls');
TestInputs = dataTset;
groups = ismember(colNamesTest(:,42),'normal.');
TestOutputs = svmclassify(svmstruct,TestInputs,'showplot','false');
aber ich weiß nicht, wie man Genauigkeit oder mse meiner Klassifizierung, und ich benutze showplot
in meinem svmclassify
aber Wann ist true
, bekomme ich diese Warnung:
The display option can only plot 2D training data
Könnte jemand mir bitte helfen?
Sie müssen lernen, mehr über die Maschine Lernen im Allgemeinen, es ist nicht eine gute oder einfach, Werkzeug zu benutzen, blind.
Ich Stimme mit @Raff.Edward, aber, was Sie betrachten sollten ist die Kreuz-Validierung, um Messen Sie Ihre Fehler / Genauigkeit.
Ich Stimme mit @Raff.Edward, aber, was Sie betrachten sollten ist die Kreuz-Validierung, um Messen Sie Ihre Fehler / Genauigkeit.
InformationsquelleAutor leyla | 2013-06-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Empfehle ich Ihnen, eine weitere SVM-toolbox,libsvm. Der link ist wie folgt:
http://www.csie.ntu.edu.tw/~cjlin/libsvm/
Nachdem Sie ihn auf den Pfad von matlab können Sie trainieren und modellieren Sie so:
train_label muss ein Vektor sein,wenn es mehr als zwei Arten der Eingabe(0/1),es wird ein nSVM automatisch.
train_feature ist n*L-matrix für n Proben. Du solltest besser Vorverarbeiten feature, bevor Sie es. In dem test Teil, Sie sollten Vorverarbeiten in der gleichen Weise.
Die Genauigkeit die Sie brauchen werden gezeigt, wenn der test fertig ist, aber es ist nur für den ganzen Datensatz.
Wenn Sie die Genauigkeit der positiven und negativen Proben separat, sollten Sie immer noch berechnen, indem Sie sich selbst mit dem label vorhergesagt.
Hoffe, das wird dir helfen!
InformationsquelleAutor Runhao Lu
Ihre Funktion Raum verfügt über 41 Dimensionen, das zeichnen mehr, die 3 Dimensionen ist unmöglich.
Um besser zu verstehen, Ihre Daten und die Art und Weise SVM funktioniert, ist zu beginnen mit einer linearen SVM. Diese tybe der SVM ist interpretierbar, was bedeutet, dass jedes der 41-features hat ein Gewicht (oder 'Bedeutung', die mit ihm verbunden nach dem training. Sie können dann mit plot3() mit Ihren Daten auf 3 der "besten" Eigenschaften aus der linearen svm. Beachten Sie, wie gut Ihre Daten getrennt mit diesen Eigenschaften, und wählen Sie eine basis-Funktion und die anderen Parameter entsprechend.
InformationsquelleAutor Leeor