AI_PROJEKT_2021/decision_tree.py
2021-06-22 19:02:44 +02:00

1027 lines
23 KiB
Python

from sklearn import tree
import pandas as pd
def buildTree():
data = pd.read_csv("TreeCsv.csv")
properties= data.loc[:, data.columns != 'Unnamed: 0']
types = [
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'glass',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'mixed',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'metal',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper',
'paper'
]
#'color', 'transparency', 'smell', 'elastic', 'dirt', 'weight', 'sound', 'reflectiveness'
cfl = tree.DecisionTreeClassifier()
cfl = cfl.fit(properties,types)
print('built the tree')
return cfl
def predictTypeOfTrash(t, a):
prediction = t.predict(a)
text_representation = tree.export_text(t)
print(text_representation)
return prediction