-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTestTrainedModel.py
More file actions
75 lines (60 loc) · 1.82 KB
/
Copy pathTestTrainedModel.py
File metadata and controls
75 lines (60 loc) · 1.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
from Node import Node
from DecisionTreeClassifier import DecisionTreeClassifier
from Question import Question
import pickle
import csv
import collections
with open('ShroomTree.pkl', 'rb') as f:
Tree = pickle.load(f)
f.close()
with open('testdata.csv', newline='') as f:
reader = csv.reader(f)
data = list(reader)
FormattedData = []
for Row in data:
Row.append(Row.pop(0))
Row.pop(4)
FormattedData.append(Row)
# for row in FormattedData:
# print(row)
with open('testdata.csv', newline='') as f:
reader = csv.reader(f)
data = list(reader)
LabelsRemoved=[]
for Row in data:
Row.append(Row.pop(0))
Row.pop(4)
Row[-1]=None
LabelsRemoved.append(Row)
# for row in LabelsRemoved:
# print(row)
def printTree(node:Node, level=0):
if node != None:
printTree(node.LeftNode, level + 1)
print(' ' * 4 * level + '-> ' + f"{node}")
printTree(node.RightNode, level + 1)
def AssignLabels(TableOFData : list[list],Tree: Node):
for Row in TableOFData:
CurrentNode = Tree
Labelled = False
while Labelled == False:
Result = CurrentNode.Question.CheckCondition(Row)
if Result == None:
Labelled = True
elif Result == True:
CurrentNode = CurrentNode.RightNode
elif Result == False:
CurrentNode = CurrentNode.LeftNode
printTree(Tree)
AssignLabels(LabelsRemoved,Tree)
# for row in LabelsRemoved:
# print(row)
def CheckLabels(Data,DataLabelsRemoved):
BoolList =[]
for i,j in enumerate(Data):
BoolList.append(j == DataLabelsRemoved[i])
FreqList = collections.Counter(BoolList)
FreqList = list(FreqList.items())
print(FreqList)
print(f"{(FreqList[0][1]/(FreqList[1][1]+FreqList[0][1]))*100}%")
CheckLabels(FormattedData,LabelsRemoved)