J'essaie de comparer différents classificateurs sur mes données, telles que LDA et SVM, etc., en examinant visuellement l'hyperplan de séparation. Actuellement, j'utilise ClassificationDiscriminant comme classificateur LDA, contrairement à SVM qui peut dessiner l'hyperplan sur le graphique, je n'ai pas trouvé de moyen de tracer l'hyperplan du classificateur LDA.Tracer l'hyperplan de LDA (ClassificationDiscriminant)
Le script suivant est ainsi que je produis des données d'échantillon et l'obtenir été classé en utilisant ClassificationDiscriminant:
%% Data & Label
X = [randn(100,2); randn(150,2) + 1.5];
Y = [zeros(100,1); ones(150,1)];
%% Plot
gscatter(X(:,1),X(:,2),Y);
%% Train LDA Classifier
C = ClassificationDiscriminant.fit(X,Y);
Quelqu'un peut-il s'il vous plaît aidez-moi à tracer l'hyperplan de séparation de C
? Toute suggestion serait une aide précieuse.
En outre, l'échantillon ci-dessus est en 2D, mais je suis également intéressé par les tracer en 3D (c'est-à-dire que les données d'échantillon X
ont trois colonnes). Ce serait plus génial si vous pouviez aider.
Merci beaucoup Ryan. Comme il y a une différence entre 'classify' et' ClassificationDiscriminant' (vu dans [link] (http://stackoverflow.com/questions/14944812/difference-between-matlabs-classify-and-classificationdiscriminant)), je suis plus intéressé à coller avec le dernier classificateur pour garder l'intégrité avec mon travail précédent. Toute autre suggestion sur la recherche d'hyperplan de cette fonction? –
Avez-vous * essayé * le code? Même si je me suis basé sur 'classifier', je l'ai réécrit pour travailler avec' ClassificationDiscriminant'. Littéralement tout ce que vous avez à faire est de copier et coller et exécutez-le en suivant votre extrait de code initial. –