-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathrandom_forest.py
More file actions
127 lines (123 loc) · 5.04 KB
/
random_forest.py
File metadata and controls
127 lines (123 loc) · 5.04 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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
class RandomForest:
@classmethod
def add_vectors(cls, v1, v2):
return [sum(i) for i in zip(v1, v2)]
@classmethod
def score(cls, input):
if (input[117]) <= (5.019443988800049):
var0 = [0.0, 0.0, 0.0, 1.0]
else:
if (input[71]) <= (-5.254075527191162):
var0 = [0.0, 0.0, 1.0, 0.0]
else:
if (input[56]) <= (5.359420537948608):
if (input[55]) <= (1.7609354853630066):
var0 = [1.0, 0.0, 0.0, 0.0]
else:
var0 = [0.0, 1.0, 0.0, 0.0]
else:
var0 = [0.0, 0.0, 1.0, 0.0]
if (input[101]) <= (-1.051054298877716):
if (input[52]) <= (10.952275276184082):
if (input[181]) <= (0.17597384750843048):
if (input[238]) <= (-1.9541983306407928):
var1 = [1.0, 0.0, 0.0, 0.0]
else:
var1 = [0.0, 1.0, 0.0, 0.0]
else:
var1 = [0.0, 0.0, 1.0, 0.0]
else:
var1 = [0.0, 0.0, 0.0, 1.0]
else:
if (input[1]) <= (1.009156048297882):
if (input[81]) <= (-3.7900209426879883):
if (input[42]) <= (10.540474891662598):
var1 = [0.0, 1.0, 0.0, 0.0]
else:
var1 = [0.0, 0.0, 1.0, 0.0]
else:
if (input[80]) <= (1.318008005619049):
var1 = [1.0, 0.0, 0.0, 0.0]
else:
var1 = [0.0, 1.0, 0.0, 0.0]
else:
if (input[83]) <= (-6.637402415275574):
var1 = [1.0, 0.0, 0.0, 0.0]
else:
var1 = [0.0, 0.0, 1.0, 0.0]
if (input[50]) <= (-2.7401634454727173):
var2 = [0.0, 0.0, 0.0, 1.0]
else:
if (input[46]) <= (3.0190885066986084):
if (input[80]) <= (1.318008005619049):
if (input[30]) <= (1.3132195472717285):
var2 = [1.0, 0.0, 0.0, 0.0]
else:
if (input[247]) <= (10.200500011444092):
var2 = [0.0, 1.0, 0.0, 0.0]
else:
var2 = [1.0, 0.0, 0.0, 0.0]
else:
if (input[31]) <= (1.1097125709056854):
var2 = [0.0, 1.0, 0.0, 0.0]
else:
var2 = [0.0, 0.0, 0.0, 1.0]
else:
var2 = [0.0, 0.0, 1.0, 0.0]
if (input[130]) <= (-8.705317497253418):
var3 = [0.0, 0.0, 0.0, 1.0]
else:
if (input[106]) <= (-1.7705124616622925):
if (input[70]) <= (7.439981460571289):
var3 = [0.0, 0.0, 1.0, 0.0]
else:
if (input[107]) <= (5.9519853591918945):
var3 = [0.0, 0.0, 0.0, 1.0]
else:
var3 = [0.0, 1.0, 0.0, 0.0]
else:
if (input[55]) <= (3.0945059657096863):
if (input[66]) <= (-2.7700915336608887):
var3 = [0.0, 0.0, 1.0, 0.0]
else:
var3 = [1.0, 0.0, 0.0, 0.0]
else:
if (input[11]) <= (1.5538367927074432):
var3 = [0.0, 1.0, 0.0, 0.0]
else:
var3 = [0.0, 0.0, 1.0, 0.0]
if (input[83]) <= (44.68702507019043):
if (input[51]) <= (3.872621536254883):
if (input[80]) <= (2.420538008213043):
if (input[70]) <= (5.5030728578567505):
var4 = [1.0, 0.0, 0.0, 0.0]
else:
var4 = [0.0, 1.0, 0.0, 0.0]
else:
var4 = [0.0, 1.0, 0.0, 0.0]
else:
var4 = [0.0, 0.0, 1.0, 0.0]
else:
var4 = [0.0, 0.0, 0.0, 1.0]
if (input[40]) <= (-5.299565553665161):
var5 = [0.0, 0.0, 0.0, 1.0]
else:
if (input[51]) <= (3.3339260816574097):
if (input[75]) <= (2.6803085803985596):
if (input[69]) <= (53.461835861206055):
var5 = [1.0, 0.0, 0.0, 0.0]
else:
if (input[66]) <= (-1.8519150093197823):
var5 = [0.0, 1.0, 0.0, 0.0]
else:
var5 = [1.0, 0.0, 0.0, 0.0]
else:
var5 = [0.0, 1.0, 0.0, 0.0]
else:
var5 = [0.0, 0.0, 1.0, 0.0]
return cls.add_vectors(cls.add_vectors(cls.add_vectors(cls.add_vectors(cls.add_vectors(var0, var1), var2), var3), var4), var5)
@classmethod
def run(cls, input: list):
res = cls.score(input)
#print("res", res)
return res.index(max(res))