-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtask_2.py
More file actions
26 lines (20 loc) · 725 Bytes
/
Copy pathtask_2.py
File metadata and controls
26 lines (20 loc) · 725 Bytes
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
from data import data
from decision_tree import DecisionTree
org_data = data()
org_data.readByFile('data/train.csv')
org_data.FillMissingVal()
org_data.processValueType()
acc_inf_gain = 0
acc_gini_gain = 0
for splt_indx in range(10):
train_data, test_data = org_data.split(0.2)
print("Training with split number %d" %(splt_indx + 1))
model = DecisionTree('is_patient')
model.train(train_data, 'information_gain')
acc_inf_gain += model.test_accuracy(test_data)
model.train(train_data, 'gini_gain')
acc_gini_gain += model.test_accuracy(test_data)
acc_inf_gain /= 10
acc_gini_gain /= 10
print("The average accuracy for information gain is", acc_inf_gain)
print("The average accuracy for gini gain is",acc_gini_gain)