1027 lines
23 KiB
Python
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
|