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))
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))
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