WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

optimaler Entscheidungsbaum

 

daNnyTigA
Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 27.05.15
Wohnort: ---
Version: 2014b/2015a
     Beitrag Verfasst am: 28.07.2015, 17:31     Titel: optimaler Entscheidungsbaum
  Antworten mit Zitat      
Hallo,

Ich stelle mit Hilfe von

Code:

fitctree
 


einen Entscheidungsbaum auf, um zwischen zwei Klassen (A und B) zu unterscheiden. Dazu habe ich im vereinfachten Beispiel zwei Attribute, die ich aus den Klassen A und B auslese. Aufgrund von diesen Attributen soll nun ein Entscheidungsbaum aufgestellt werden, der dann unbekannte Datensätze in Klasse A oder B zurodnet. Das Problem ist nun, dass Matlab automatisch Attribut 1 wählt, um in Klasse A oder B einzuteilen. Attribut 2 wäre allerdings in meinen Augen die bessere Wahl, da die Abstände zwischen den Werten größer sind und somit auch Ausreißer bei Attribut 2 eher richtig klassifiziert werden als es bei Attribut 1 der Fall wäre. Ich hoffe das war verständlich. Im Anhang ein Bild dazu.

Hat jemand eine Ahnung wie ich das in den Griff bekomme? Die Hilfe von fitctree bringt mich nicht weiter, habe auch schon mit vielen Name-Value Pairs rumgespielt wie 'SplitCriterion' oder 'AlgorithmForCategorical' aber es kommt immer derselbe Baum raus Sad

Danle

decision_tree.png
 Beschreibung:

Download
 Dateiname:  decision_tree.png
 Dateigröße:  16.2 KB
 Heruntergeladen:  371 mal
Private Nachricht senden Benutzer-Profile anzeigen


daNnyTigA
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 27.05.15
Wohnort: ---
Version: 2014b/2015a
     Beitrag Verfasst am: 30.07.2015, 17:55     Titel:
  Antworten mit Zitat      
Ich habe mal einen kleinen, vereinfachten Code geschrieben. Ich denke damit wird das Problem deutlich und hoffe, dass mir jemand helfen kann.

Code:

attribut1 = [1;2;3.1;2.5;2;3;4;5;5.2;3.8;4;5]; %Einlesen der Werte von Attribut 1 (ersten 6 Werte gehören zu Klasse A, die letzten 6 Werte gehören zu Klasse B)
attribut2 = [1;2.5;3.2;2;2;3;12;13;12;11;10.8;11]; %Einlesen der Werte von Attribut 2 (ersten 6 Werte gehören zu Klasse A, die letzten 6 Werte gehören zu Klasse B)

%Attribute in y schreiben
y(:,1) = attribut1;
y(:,2) = attribut2;

%Klasse in x schreiben
x{1,1} = 'Klasse A';
x{2,1} = 'Klasse A';
x{3,1} = 'Klasse A';
x{4,1} = 'Klasse A';
x{5,1} = 'Klasse A';
x{6,1} = 'Klasse A';
x{7,1} = 'Klasse B';
x{8,1} = 'Klasse B';
x{9,1} = 'Klasse B';
x{10,1} = 'Klasse B';
x{11,1} = 'Klasse B';
x{12,1} = 'Klasse B';

%Boxplots erstellen
figure
subplot(1,2,1)
boxplot(y(:,1),x);
title('Attribut 1')
grid on;
subplot(1,2,2)
boxplot(y(:,2),x);
title('Attribut 2')
grid on;

%Entscheidungsbaum aufstellen
baum = fitctree(y,x,'PredictorNames',{'attribut1','attribut2'});
view(baum,'mode','graph')
 


Einfach mal durchlaufen lassen und Boxplot mit Baum angucken wenn ihr Zeit habt, dankeschön!
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.