-
Notifications
You must be signed in to change notification settings - Fork 0
/
malmantile-process.py
901 lines (894 loc) · 9.89 KB
/
malmantile-process.py
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
import matplotlib.pyplot as plt
# Provided data
data = """
Iteration 1
S0 0.1432
S1 0.1405
S2 0.1994
S3 0.2352
S4 0.2265
S5 0.2282
S6 0.2597
S7 0.2617
S8 0.185
S9 0.1587
S10 0.2422
S11 0.2339
S12 0.1463
S13 0.2143
S14 0.1453
S15 0.1569
AVER 0.1
Iteration 2
S0 0.1657
S1 0.1032
S2 0.2088
S3 0.2229
S4 0.1748
S5 0.2419
S6 0.2477
S7 0.2466
S8 0.1368
S9 0.246
S10 0.2752
S11 0.2034
S12 0.2489
S13 0.2885
S14 0.1806
S15 0.1647
AVER 0.1
Iteration 3
S0 0.1892
S1 0.1813
S2 0.235
S3 0.171
S4 0.2376
S5 0.2728
S6 0.2675
S7 0.2587
S8 0.2253
S9 0.2832
S10 0.2275
S11 0.1693
S12 0.2569
S13 0.1831
S14 0.2259
S15 0.1615
AVER 0.2154
Iteration 4
S0 0.1249
S1 0.2135
S2 0.2427
S3 0.1683
S4 0.2472
S5 0.2918
S6 0.2382
S7 0.2653
S8 0.2189
S9 0.3
S10 0.2529
S11 0.2462
S12 0.2533
S13 0.2291
S14 0.1259
S15 0.1246
AVER 0.2713
Iteration 5
S0 0.1984
S1 0.2093
S2 0.222
S3 0.1917
S4 0.2384
S5 0.214
S6 0.2135
S7 0.2208
S8 0.2606
S9 0.2261
S10 0.1887
S11 0.1833
S12 0.2277
S13 0.1861
S14 0.1707
S15 0.1358
AVER 0.2494
Iteration 6
S0 0.1521
S1 0.1574
S2 0.2223
S3 0.2136
S4 0.2627
S5 0.2184
S6 0.2049
S7 0.1922
S8 0.2104
S9 0.2012
S10 0.2061
S11 0.1751
S12 0.16
S13 0.1982
S14 0.1352
S15 0.1221
AVER 0.2275
Iteration 7
S0 0.126
S1 0.208
S2 0.2009
S3 0.2243
S4 0.1936
S5 0.1886
S6 0.2197
S7 0.212
S8 0.2204
S9 0.1882
S10 0.138
S11 0.2208
S12 0.2017
S13 0.1816
S14 0.1394
S15 0.1255
AVER 0.2073
Iteration 8
S0 0.1504
S1 0.1879
S2 0.1994
S3 0.2184
S4 0.2081
S5 0.1789
S6 0.222
S7 0.1686
S8 0.1583
S9 0.147
S10 0.1268
S11 0.1953
S12 0.1925
S13 0.1867
S14 0.1519
S15 0.1069
AVER 0.2099
Iteration 9
S0 0.1406
S1 0.199
S2 0.1653
S3 0.1638
S4 0.208
S5 0.1878
S6 0.207
S7 0.1436
S8 0.2121
S9 0.1592
S10 0.1941
S11 0.1927
S12 0.1671
S13 0.1986
S14 0.1535
S15 0.1548
AVER 0.2054
Iteration 10
S0 0.1459
S1 0.1692
S2 0.1861
S3 0.1921
S4 0.1661
S5 0.1892
S6 0.1896
S7 0.1393
S8 0.2091
S9 0.1386
S10 0.1599
S11 0.165
S12 0.2603
S13 0.1965
S14 0.1458
S15 0.1575
AVER 0.197
Iteration 11
S0 0.1425
S1 0.2014
S2 0.1728
S3 0.1704
S4 0.1764
S5 0.1924
S6 0.1838
S7 0.1639
S8 0.1772
S9 0.1514
S10 0.1729
S11 0.2018
S12 0.1664
S13 0.1659
S14 0.1309
S15 0.1317
AVER 0.1933
Iteration 12
S0 0.1233
S1 0.2006
S2 0.1854
S3 0.2388
S4 0.1975
S5 0.1938
S6 0.177
S7 0.1429
S8 0.1722
S9 0.1728
S10 0.1776
S11 0.1876
S12 0.1659
S13 0.1752
S14 0.1607
S15 0.1519
AVER 0.1986
Iteration 13
S0 0.1342
S1 0.1811
S2 0.1889
S3 0.1948
S4 0.1934
S5 0.1923
S6 0.1877
S7 0.1539
S8 0.1958
S9 0.1699
S10 0.1602
S11 0.1737
S12 0.1758
S13 0.1828
S14 0.1675
S15 0.1085
AVER 0.1962
Iteration 14
S0 0.1505
S1 0.1685
S2 0.1654
S3 0.1783
S4 0.1851
S5 0.1945
S6 0.1755
S7 0.1432
S8 0.2174
S9 0.1796
S10 0.1597
S11 0.1619
S12 0.1617
S13 0.1496
S14 0.163
S15 0.1135
AVER 0.1937
Iteration 15
S0 0.1643
S1 0.1743
S2 0.1904
S3 0.1968
S4 0.196
S5 0.1984
S6 0.1874
S7 0.1473
S8 0.137
S9 0.1571
S10 0.1607
S11 0.1517
S12 0.1841
S13 0.1516
S14 0.1953
S15 0.1083
AVER 0.2052
Iteration 16
S0 0.1723
S1 0.186
S2 0.173
S3 0.1984
S4 0.1702
S5 0.1968
S6 0.189
S7 0.1272
S8 0.1454
S9 0.1727
S10 0.1778
S11 0.1657
S12 0.1412
S13 0.1582
S14 0.167
S15 0.1584
AVER 0.2076
Iteration 17
S0 0.157
S1 0.1715
S2 0.1765
S3 0.1519
S4 0.1586
S5 0.1879
S6 0.1903
S7 0.1467
S8 0.1789
S9 0.1557
S10 0.1815
S11 0.1426
S12 0.1867
S13 0.1622
S14 0.1312
S15 0.116
AVER 0.2057
Iteration 18
S0 0.1299
S1 0.172
S2 0.1632
S3 0.1956
S4 0.1737
S5 0.2079
S6 0.1933
S7 0.1438
S8 0.1644
S9 0.1606
S10 0.1823
S11 0.1507
S12 0.1479
S13 0.1547
S14 0.1429
S15 0.1223
AVER 0.2042
Iteration 19
S0 0.1294
S1 0.1564
S2 0.1577
S3 0.1869
S4 0.1906
S5 0.1929
S6 0.2148
S7 0.1879
S8 0.1449
S9 0.1389
S10 0.1837
S11 0.1453
S12 0.1729
S13 0.1668
S14 0.1608
S15 0.1309
AVER 0.2019
Iteration 20
S0 0.1611
S1 0.1472
S2 0.1775
S3 0.137
S4 0.1806
S5 0.1969
S6 0.1747
S7 0.18
S8 0.143
S9 0.1324
S10 0.1525
S11 0.1407
S12 0.1697
S13 0.147
S14 0.1347
S15 0.132
AVER 0.1853
Iteration 21
S0 0.153
S1 0.1623
S2 0.1478
S3 0.1848
S4 0.1919
S5 0.212
S6 0.1719
S7 0.1868
S8 0.149
S9 0.1384
S10 0.1522
S11 0.1529
S12 0.1651
S13 0.1411
S14 0.1643
S15 0.1049
AVER 0.1811
Iteration 22
S0 0.1724
S1 0.1485
S2 0.1627
S3 0.1481
S4 0.1776
S5 0.2031
S6 0.1793
S7 0.1552
S8 0.1592
S9 0.1277
S10 0.1519
S11 0.179
S12 0.1678
S13 0.1627
S14 0.1699
S15 0.1128
AVER 0.1798
Iteration 23
S0 0.1385
S1 0.1534
S2 0.1978
S3 0.177
S4 0.1896
S5 0.1941
S6 0.1743
S7 0.1657
S8 0.1555
S9 0.1403
S10 0.1672
S11 0.1635
S12 0.1651
S13 0.1479
S14 0.1489
S15 0.1151
AVER 0.1788
Iteration 24
S0 0.1261
S1 0.1682
S2 0.1653
S3 0.1824
S4 0.1532
S5 0.1926
S6 0.1868
S7 0.1548
S8 0.1645
S9 0.1371
S10 0.1639
S11 0.1713
S12 0.1616
S13 0.1162
S14 0.1511
S15 0.1307
AVER 0.1759
Iteration 25
S0 0.1265
S1 0.1445
S2 0.1762
S3 0.1691
S4 0.1711
S5 0.1867
S6 0.1893
S7 0.1869
S8 0.1685
S9 0.1475
S10 0.1931
S11 0.1669
S12 0.1731
S13 0.1274
S14 0.1157
S15 0.1191
AVER 0.1842
Iteration 26
S0 0.1291
S1 0.1496
S2 0.1699
S3 0.1481
S4 0.1779
S5 0.2175
S6 0.157
S7 0.1642
S8 0.156
S9 0.1489
S10 0.1597
S11 0.1494
S12 0.1822
S13 0.1422
S14 0.1385
S15 0.11
AVER 0.1818
Iteration 27
S0 0.1435
S1 0.1629
S2 0.1601
S3 0.1614
S4 0.1641
S5 0.1664
S6 0.1752
S7 0.1751
S8 0.1533
S9 0.1306
S10 0.1702
S11 0.1735
S12 0.138
S13 0.1382
S14 0.1472
S15 0.1058
AVER 0.1796
Iteration 28
S0 0.1046
S1 0.1693
S2 0.178
S3 0.1561
S4 0.1601
S5 0.1668
S6 0.1526
S7 0.1344
S8 0.1591
S9 0.1328
S10 0.1647
S11 0.154
S12 0.179
S13 0.152
S14 0.1418
S15 0.1182
AVER 0.1769
Iteration 29
S0 0.1219
S1 0.1487
S2 0.1708
S3 0.1319
S4 0.1658
S5 0.1901
S6 0.1758
S7 0.1525
S8 0.1553
S9 0.1454
S10 0.1747
S11 0.1553
S12 0.1855
S13 0.151
S14 0.1356
S15 0.1077
AVER 0.1744
Iteration 30
S0 0.1258
S1 0.1582
S2 0.1628
S3 0.1552
S4 0.1533
S5 0.1782
S6 0.1632
S7 0.1537
S8 0.1485
S9 0.1488
S10 0.1716
S11 0.1804
S12 0.1733
S13 0.1415
S14 0.1548
S15 0.0989
AVER 0.1775
Iteration 31
S0 0.1211
S1 0.1694
S2 0.1678
S3 0.1537
S4 0.1691
S5 0.1961
S6 0.1374
S7 0.1685
S8 0.1478
S9 0.1336
S10 0.1625
S11 0.1645
S12 0.1625
S13 0.1476
S14 0.166
S15 0.1114
AVER 0.1813
Iteration 32
S0 0.1322
S1 0.167
S2 0.162
S3 0.1601
S4 0.1487
S5 0.1849
S6 0.1775
S7 0.1698
S8 0.1598
S9 0.1395
S10 0.1514
S11 0.1918
S12 0.1425
S13 0.172
S14 0.1407
S15 0.1008
AVER 0.1853
Iteration 33
S0 0.1313
S1 0.1686
S2 0.1722
S3 0.1456
S4 0.1607
S5 0.1864
S6 0.1465
S7 0.1674
S8 0.1429
S9 0.1324
S10 0.1574
S11 0.1717
S12 0.174
S13 0.1512
S14 0.144
S15 0.1093
AVER 0.1868
Iteration 34
S0 0.1249
S1 0.167
S2 0.1662
S3 0.1429
S4 0.1769
S5 0.1763
S6 0.1474
S7 0.1726
S8 0.1632
S9 0.1222
S10 0.1687
S11 0.1502
S12 0.1523
S13 0.1319
S14 0.1317
S15 0.108
AVER 0.1881
Iteration 35
S0 0.1285
S1 0.1591
S2 0.1773
S3 0.145
S4 0.1485
S5 0.1945
S6 0.1721
S7 0.155
S8 0.1532
S9 0.1497
S10 0.1709
S11 0.1507
S12 0.1343
S13 0.1194
S14 0.1504
S15 0.0981
AVER 0.1895
Iteration 36
S0 0.1291
S1 0.1646
S2 0.1612
S3 0.1372
S4 0.168
S5 0.1844
S6 0.1463
S7 0.1658
S8 0.1432
S9 0.1316
S10 0.1697
S11 0.1381
S12 0.1538
S13 0.1465
S14 0.1507
S15 0.105
AVER 0.1898
Iteration 37
S0 0.1511
S1 0.1534
S2 0.1696
S3 0.161
S4 0.1748
S5 0.1665
S6 0.1438
S7 0.1641
S8 0.1488
S9 0.1504
S10 0.181
S11 0.1688
S12 0.1383
S13 0.1361
S14 0.1282
S15 0.1041
AVER 0.1863
Iteration 38
S0 0.1181
S1 0.1887
S2 0.1728
S3 0.1396
S4 0.155
S5 0.1858
S6 0.1455
S7 0.1679
S8 0.1569
S9 0.148
S10 0.1745
S11 0.1407
S12 0.1466
S13 0.1407
S14 0.1265
S15 0.0958
AVER 0.1911
Iteration 39
S0 0.1241
S1 0.1759
S2 0.1621
S3 0.1405
S4 0.1493
S5 0.1871
S6 0.1507
S7 0.173
S8 0.1599
S9 0.1456
S10 0.1565
S11 0.178
S12 0.1287
S13 0.1245
S14 0.1395
S15 0.1074
AVER 0.1891
Iteration 40
S0 0.1243
S1 0.1589
S2 0.1635
S3 0.1426
S4 0.1594
S5 0.1863
S6 0.1436
S7 0.1779
S8 0.1546
S9 0.1578
S10 0.1782
S11 0.172
S12 0.1322
S13 0.1399
S14 0.1368
S15 0.1033
AVER 0.1908
Iteration 41
S0 0.1156
S1 0.1646
S2 0.1625
S3 0.1399
S4 0.1493
S5 0.1873
S6 0.1455
S7 0.182
S8 0.165
S9 0.154
S10 0.1453
S11 0.1537
S12 0.1491
S13 0.1353
S14 0.1508
S15 0.107
AVER 0.1908
Iteration 42
S0 0.1129
S1 0.1561
S2 0.169
S3 0.1699
S4 0.1532
S5 0.1692
S6 0.1535
S7 0.1542
S8 0.1709
S9 0.1455
S10 0.1737
S11 0.1482
S12 0.1405
S13 0.1548
S14 0.1393
S15 0.1063
AVER 0.188
Iteration 43
S0 0.1105
S1 0.164
S2 0.1694
S3 0.1346
S4 0.1337
S5 0.1789
S6 0.1675
S7 0.1546
S8 0.1674
S9 0.1608
S10 0.1473
S11 0.1501
S12 0.1369
S13 0.1546
S14 0.1207
S15 0.1104
AVER 0.1852
Iteration 44
S0 0.1201
S1 0.1526
S2 0.174
S3 0.148
S4 0.1478
S5 0.1891
S6 0.1447
S7 0.1397
S8 0.1575
S9 0.1465
S10 0.1613
S11 0.1447
S12 0.118
S13 0.133
S14 0.13
S15 0.1011
AVER 0.1824
Iteration 45
S0 0.1098
S1 0.1593
S2 0.1633
S3 0.1442
S4 0.1496
S5 0.1637
S6 0.1472
S7 0.1489
S8 0.167
S9 0.1459
S10 0.1652
S11 0.1635
S12 0.1421
S13 0.1277
S14 0.1366
S15 0.1072
AVER 0.179
Iteration 46
S0 0.1304
S1 0.1466
S2 0.1546
S3 0.123
S4 0.1443
S5 0.173
S6 0.1273
S7 0.1568
S8 0.165
S9 0.1523
S10 0.1467
S11 0.1411
S12 0.1385
S13 0.1182
S14 0.1259
S15 0.1102
AVER 0.1762
Iteration 47
S0 0.1171
S1 0.12
S2 0.1822
S3 0.1465
S4 0.1511
S5 0.1805
S6 0.1443
S7 0.1427
S8 0.1524
S9 0.1474
S10 0.1599
S11 0.1465
S12 0.1419
S13 0.1357
S14 0.1298
S15 0.1067
AVER 0.1765
Iteration 48
S0 0.118
S1 0.14
S2 0.1808
S3 0.1372
S4 0.1382
S5 0.1714
S6 0.1317
S7 0.1529
S8 0.1498
S9 0.1354
S10 0.1435
S11 0.1425
S12 0.1382
S13 0.1408
S14 0.1187
S15 0.1018
AVER 0.1707
"""
# Parsing the data
histories = [[] for _ in range(16)]
avg_history = []
# Split the data into iterations
iterations = data.strip().split("Iteration")[1:]
for iteration in iterations:
lines = iteration.strip().split("\n")
for line in lines:
parts = line.split()
if parts[0].startswith("S"):
index = int(parts[0][1:])
histories[index].append(float(parts[1]))
elif parts[0] == "AVER":
avg_history.append(float(parts[1]))
# Set up a list of labels for the 16 learners
learner_labels = [f"Learner {i+1}" for i in range(16)]
# Plot Results for the 16 learners across iterations
for history, label in zip(histories, learner_labels):
plt.plot(history, label=label)
# Also plot the average history
plt.plot(avg_history, label="Average", linestyle="--", color="black")
plt.legend(bbox_to_anchor=(1.02, 1), loc="upper left", borderaxespad=0)
plt.xlabel("Iterations")
plt.ylabel("Accuracy")
plt.title("Project Malmantile 16x1")
plt.show()