Seite 1 von 1

Entscheidungsbäume

Verfasst: Sonntag 30. Dezember 2018, 15:44
von Freumel
Hallo zusammen,

ich bin gerade dabei einen kleinen Entscheidungsbaum zu programmieren.
Klappt soweit auch ganz gut.

Code: Alles auswählen

from sklearn import tree

features = [[True,False,False,True],[True,False,False,False],[True,True,True,False],[True,True,False,False]]
tasks = ['A1','A2','A3','A4']

a = tree.DecisionTreeClassifier()
a = a.fit(features,tasks)

element = [[True,True,False,False]]

print(a.predict(element))
Nun soll jedes True im Element auch False sein dürfen, umgekehrt aber nicht.
Für die Unterschiedlichen Kombinationen habe ich folgendes kleines Programm:

Code: Alles auswählen

import itertools

mylist = [True,False,True,False]

vec=[]
perm = itertools.permutations(mylist,i)
for p in perm:
	vec.append(p)

newp=sorted(set(vec))
newp gibt alle Kombinationsmöglichkeiten der Länge 2 an.

Mit den Unterschiedlichen Kombinationsmöglichkeiten, erhalte ich Elemente in Anzahl der Kombinationsmöglichkeiten. Allerdings fällt mir keine Methode ein die Kombinationen an geeigneter Stelle im Element einzubauen.

Folgende Elemente möchte ich erhalten:
elements = [e1,e2,e3,e4]
e1 = [True,True,False,False]
e2 = [True,False,False,False]
e3 = [False,True,False,False]
e4 = [False,False,False,False]

Analog gilt das natürlich auch für ein Element wie
element = [[True,True,False,True]]

Also True und False sortieren sich nicht in chronologischer Reihenfolge.

Ich fürchte, es gibt einen wesentlich leichteren Weg als alles in eine verschachtelte for-Schleife einzubauen.
Hat jemand einen Ratschlag?

LG