Skip to content
Snippets Groups Projects
UCM_results_analysis_Python.ipynb 119 KiB
Newer Older
Dong Cao's avatar
Dong Cao committed
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
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import sklearn\n",
    "from sklearn.metrics import r2_score\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.pyplot import figure"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ID</th>\n",
       "      <th>dataset</th>\n",
       "      <th>attributes</th>\n",
       "      <th>instances</th>\n",
       "      <th>classes</th>\n",
       "      <th>mv_acc</th>\n",
       "      <th>ucm_acc</th>\n",
       "      <th>wmv_acc</th>\n",
       "      <th>mv_f1</th>\n",
       "      <th>ucm_f1</th>\n",
       "      <th>wmv_f1</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>abalone</td>\n",
       "      <td>8</td>\n",
       "      <td>4177</td>\n",
       "      <td>29</td>\n",
       "      <td>26.56</td>\n",
       "      <td>26.41</td>\n",
       "      <td>26.03</td>\n",
       "      <td>23.66</td>\n",
       "      <td>23.41</td>\n",
       "      <td>23.48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>anneal</td>\n",
       "      <td>38</td>\n",
       "      <td>798</td>\n",
       "      <td>6</td>\n",
       "      <td>92.60</td>\n",
       "      <td>91.35</td>\n",
       "      <td>92.22</td>\n",
       "      <td>92.64</td>\n",
       "      <td>91.11</td>\n",
       "      <td>92.27</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>arrhythmia</td>\n",
       "      <td>279</td>\n",
       "      <td>452</td>\n",
       "      <td>16</td>\n",
       "      <td>66.74</td>\n",
       "      <td>65.41</td>\n",
       "      <td>66.08</td>\n",
       "      <td>58.04</td>\n",
       "      <td>55.62</td>\n",
       "      <td>57.03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>audiology</td>\n",
       "      <td>69</td>\n",
       "      <td>226</td>\n",
       "      <td>24</td>\n",
       "      <td>82.23</td>\n",
       "      <td>78.72</td>\n",
       "      <td>82.25</td>\n",
       "      <td>78.47</td>\n",
       "      <td>73.88</td>\n",
       "      <td>78.70</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>breast-cancer</td>\n",
       "      <td>9</td>\n",
       "      <td>286</td>\n",
       "      <td>2</td>\n",
       "      <td>71.55</td>\n",
       "      <td>70.48</td>\n",
       "      <td>70.18</td>\n",
       "      <td>67.95</td>\n",
       "      <td>67.31</td>\n",
       "      <td>67.96</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>5</td>\n",
       "      <td>6</td>\n",
       "      <td>breast-cancer-w</td>\n",
       "      <td>9</td>\n",
       "      <td>699</td>\n",
       "      <td>2</td>\n",
       "      <td>96.85</td>\n",
       "      <td>96.85</td>\n",
       "      <td>97.00</td>\n",
       "      <td>96.87</td>\n",
       "      <td>96.87</td>\n",
       "      <td>97.01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>6</td>\n",
       "      <td>7</td>\n",
       "      <td>car</td>\n",
       "      <td>6</td>\n",
       "      <td>1728</td>\n",
       "      <td>4</td>\n",
       "      <td>88.72</td>\n",
       "      <td>89.35</td>\n",
       "      <td>87.50</td>\n",
       "      <td>89.18</td>\n",
       "      <td>89.59</td>\n",
       "      <td>87.67</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>7</td>\n",
       "      <td>8</td>\n",
       "      <td>crx</td>\n",
       "      <td>15</td>\n",
       "      <td>690</td>\n",
       "      <td>2</td>\n",
       "      <td>84.18</td>\n",
       "      <td>84.18</td>\n",
       "      <td>83.46</td>\n",
       "      <td>82.74</td>\n",
       "      <td>83.05</td>\n",
       "      <td>82.76</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>8</td>\n",
       "      <td>9</td>\n",
       "      <td>dermatology</td>\n",
       "      <td>34</td>\n",
       "      <td>366</td>\n",
       "      <td>6</td>\n",
       "      <td>97.24</td>\n",
       "      <td>96.97</td>\n",
       "      <td>97.24</td>\n",
       "      <td>97.23</td>\n",
       "      <td>96.94</td>\n",
       "      <td>97.21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>9</td>\n",
       "      <td>10</td>\n",
       "      <td>ecoli</td>\n",
       "      <td>7</td>\n",
       "      <td>336</td>\n",
       "      <td>4</td>\n",
       "      <td>86.54</td>\n",
       "      <td>86.25</td>\n",
       "      <td>86.55</td>\n",
       "      <td>85.62</td>\n",
       "      <td>85.28</td>\n",
       "      <td>85.66</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>10</td>\n",
       "      <td>11</td>\n",
       "      <td>glass</td>\n",
       "      <td>10</td>\n",
       "      <td>214</td>\n",
       "      <td>7</td>\n",
       "      <td>66.28</td>\n",
       "      <td>65.76</td>\n",
       "      <td>70.48</td>\n",
       "      <td>61.50</td>\n",
       "      <td>60.56</td>\n",
       "      <td>66.45</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>11</td>\n",
       "      <td>12</td>\n",
       "      <td>ionosphere</td>\n",
       "      <td>34</td>\n",
       "      <td>351</td>\n",
       "      <td>2</td>\n",
       "      <td>92.86</td>\n",
       "      <td>91.14</td>\n",
       "      <td>90.29</td>\n",
       "      <td>92.66</td>\n",
       "      <td>90.80</td>\n",
       "      <td>89.88</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>12</td>\n",
       "      <td>13</td>\n",
       "      <td>iris</td>\n",
       "      <td>5</td>\n",
       "      <td>150</td>\n",
       "      <td>3</td>\n",
       "      <td>95.33</td>\n",
       "      <td>95.33</td>\n",
       "      <td>95.33</td>\n",
       "      <td>95.29</td>\n",
       "      <td>95.29</td>\n",
       "      <td>95.29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>13</td>\n",
       "      <td>14</td>\n",
       "      <td>kr-vs-kp</td>\n",
       "      <td>36</td>\n",
       "      <td>3196</td>\n",
       "      <td>2</td>\n",
       "      <td>96.87</td>\n",
       "      <td>96.40</td>\n",
       "      <td>95.93</td>\n",
       "      <td>96.86</td>\n",
       "      <td>96.37</td>\n",
       "      <td>95.90</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>14</td>\n",
       "      <td>15</td>\n",
       "      <td>labor-neg</td>\n",
       "      <td>16</td>\n",
       "      <td>57</td>\n",
       "      <td>2</td>\n",
       "      <td>94.33</td>\n",
       "      <td>94.33</td>\n",
       "      <td>96.33</td>\n",
       "      <td>94.19</td>\n",
       "      <td>94.19</td>\n",
       "      <td>96.19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>15</td>\n",
       "      <td>16</td>\n",
       "      <td>letter</td>\n",
       "      <td>16</td>\n",
       "      <td>20000</td>\n",
       "      <td>26</td>\n",
       "      <td>92.36</td>\n",
       "      <td>91.39</td>\n",
       "      <td>94.76</td>\n",
       "      <td>92.41</td>\n",
       "      <td>91.43</td>\n",
       "      <td>94.78</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>16</td>\n",
       "      <td>17</td>\n",
       "      <td>liver disorders</td>\n",
       "      <td>6</td>\n",
       "      <td>345</td>\n",
       "      <td>2</td>\n",
       "      <td>72.94</td>\n",
       "      <td>72.06</td>\n",
       "      <td>73.24</td>\n",
       "      <td>72.81</td>\n",
       "      <td>71.23</td>\n",
       "      <td>72.69</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>17</td>\n",
       "      <td>18</td>\n",
       "      <td>lymphography</td>\n",
       "      <td>20</td>\n",
       "      <td>148</td>\n",
       "      <td>4</td>\n",
       "      <td>80.95</td>\n",
       "      <td>80.29</td>\n",
       "      <td>81.67</td>\n",
       "      <td>79.71</td>\n",
       "      <td>78.79</td>\n",
       "      <td>80.60</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>18</td>\n",
       "      <td>19</td>\n",
       "      <td>nursery</td>\n",
       "      <td>8</td>\n",
       "      <td>12960</td>\n",
       "      <td>5</td>\n",
       "      <td>90.57</td>\n",
       "      <td>90.90</td>\n",
       "      <td>89.29</td>\n",
       "      <td>89.76</td>\n",
       "      <td>90.10</td>\n",
       "      <td>88.64</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>19</td>\n",
       "      <td>20</td>\n",
       "      <td>page-blocks</td>\n",
       "      <td>10</td>\n",
       "      <td>5473</td>\n",
       "      <td>5</td>\n",
       "      <td>96.05</td>\n",
       "      <td>96.18</td>\n",
       "      <td>96.03</td>\n",
       "      <td>95.57</td>\n",
       "      <td>95.76</td>\n",
       "      <td>95.71</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>20</td>\n",
       "      <td>21</td>\n",
       "      <td>segment</td>\n",
       "      <td>21</td>\n",
       "      <td>2310</td>\n",
       "      <td>7</td>\n",
       "      <td>95.93</td>\n",
       "      <td>96.32</td>\n",
       "      <td>96.19</td>\n",
       "      <td>95.87</td>\n",
       "      <td>96.28</td>\n",
       "      <td>96.14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>21</td>\n",
       "      <td>22</td>\n",
       "      <td>sonar</td>\n",
       "      <td>208</td>\n",
       "      <td>60</td>\n",
       "      <td>2</td>\n",
       "      <td>66.71</td>\n",
       "      <td>66.74</td>\n",
       "      <td>67.64</td>\n",
       "      <td>65.39</td>\n",
       "      <td>65.87</td>\n",
       "      <td>66.96</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>22</td>\n",
       "      <td>23</td>\n",
       "      <td>spambase</td>\n",
       "      <td>57</td>\n",
       "      <td>4601</td>\n",
       "      <td>2</td>\n",
       "      <td>93.91</td>\n",
       "      <td>93.98</td>\n",
       "      <td>93.83</td>\n",
       "      <td>93.88</td>\n",
       "      <td>93.96</td>\n",
       "      <td>93.81</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    ID          dataset  attributes  instances  classes  mv_acc  ucm_acc  \\\n",
       "0    1          abalone           8       4177       29   26.56    26.41   \n",
       "1    2           anneal          38        798        6   92.60    91.35   \n",
       "2    3       arrhythmia         279        452       16   66.74    65.41   \n",
       "3    4        audiology          69        226       24   82.23    78.72   \n",
       "4    5    breast-cancer           9        286        2   71.55    70.48   \n",
       "5    6  breast-cancer-w           9        699        2   96.85    96.85   \n",
       "6    7              car           6       1728        4   88.72    89.35   \n",
       "7    8              crx          15        690        2   84.18    84.18   \n",
       "8    9      dermatology          34        366        6   97.24    96.97   \n",
       "9   10            ecoli           7        336        4   86.54    86.25   \n",
       "10  11            glass          10        214        7   66.28    65.76   \n",
       "11  12       ionosphere          34        351        2   92.86    91.14   \n",
       "12  13             iris           5        150        3   95.33    95.33   \n",
       "13  14         kr-vs-kp          36       3196        2   96.87    96.40   \n",
       "14  15        labor-neg          16         57        2   94.33    94.33   \n",
       "15  16           letter          16      20000       26   92.36    91.39   \n",
       "16  17  liver disorders           6        345        2   72.94    72.06   \n",
       "17  18     lymphography          20        148        4   80.95    80.29   \n",
       "18  19          nursery           8      12960        5   90.57    90.90   \n",
       "19  20      page-blocks          10       5473        5   96.05    96.18   \n",
       "20  21          segment          21       2310        7   95.93    96.32   \n",
       "21  22            sonar         208         60        2   66.71    66.74   \n",
       "22  23         spambase          57       4601        2   93.91    93.98   \n",
       "\n",
       "    wmv_acc  mv_f1  ucm_f1  wmv_f1  \n",
       "0     26.03  23.66   23.41   23.48  \n",
       "1     92.22  92.64   91.11   92.27  \n",
       "2     66.08  58.04   55.62   57.03  \n",
       "3     82.25  78.47   73.88   78.70  \n",
       "4     70.18  67.95   67.31   67.96  \n",
       "5     97.00  96.87   96.87   97.01  \n",
       "6     87.50  89.18   89.59   87.67  \n",
       "7     83.46  82.74   83.05   82.76  \n",
       "8     97.24  97.23   96.94   97.21  \n",
       "9     86.55  85.62   85.28   85.66  \n",
       "10    70.48  61.50   60.56   66.45  \n",
       "11    90.29  92.66   90.80   89.88  \n",
       "12    95.33  95.29   95.29   95.29  \n",
       "13    95.93  96.86   96.37   95.90  \n",
       "14    96.33  94.19   94.19   96.19  \n",
       "15    94.76  92.41   91.43   94.78  \n",
       "16    73.24  72.81   71.23   72.69  \n",
       "17    81.67  79.71   78.79   80.60  \n",
       "18    89.29  89.76   90.10   88.64  \n",
       "19    96.03  95.57   95.76   95.71  \n",
       "20    96.19  95.87   96.28   96.14  \n",
       "21    67.64  65.39   65.87   66.96  \n",
       "22    93.83  93.88   93.96   93.81  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "performance_df = pd.read_csv('performance.csv')\n",
    "performance_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAuQAAADPCAYAAAC9UMS5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAMTQAADE0B0s6tTgAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAcTElEQVR4nO3debRkZXnv8e9PQPCKNooiw2GWiAMRMOZqlgxOMbpQQ0Bj1AiawWucYjtcIyCaYERRYgiaFTEKolkxojcxXozKRaQdQQScAAVtmgMSBEVFZnjuH3sfLJrT51R17111+tT3s1atU3uo/Tz7dNXbz3nr3e9OVSFJkiRpMu416QQkSZKkaWZBLkmSJE2QBbkkSZI0QRbkkiRJ0gRZkEuSJEkTZEEuSZIkTZAFuSRJkjRBS7IgT3JCktVJKsmjJp2PJEmS1JclWZADpwFPAC6fdCKSJElSnzaddALzqaqzAZJMOhVJkiSpV0u1h1ySJEmaCkuyh3xYSVYCK+eWN9lkkx223XbbCWYkSZIk3dOVV155a1VtPt+2VNW48xlaktXAQVX1nWH2n5mZqdnZ2X6TkiRJkkaU5Mqqmplvm0NWJEmSpAlakgV5kvcmmQVmgDOSXDrpnCRJkqQ+LMmCvKpeXlUzVbVpVW1bVQ+ddE6SJElSH5ZkQS5JkiRNCwtySZIkaYIsyCVJkqQJsiCXJEmSJmjkGwMl2R7YDTi3qm7pPiVJ6+vdHzi99xiv/dNn9B5DkqRpMnQPeZIHJjkdmAW+COzQrv+nJMf2lJ8kSZK0rI0yZOUE4A6aucFvHFh/GvCsLpOSJEmSpsUoQ1aeBhxQVVclGVx/KbBzp1lJkiRJU2KUHvJ1Fe87ADd0kIskSZI0dUYpyE8H3phk7jWV5EHA24FPdZ6ZJEmSNAVGGbLyaprx4rPAfWgK9J2AbwOv7z41SZIkDRrHbFrgjFrjNnRBXlXXAgcm2Q/YC9gSuBD4XFVVT/lJkiRJy9rI85BX1SpgVQ+5SJIkdcKeZG1MRpmH/MQkL59n/cuT/H23aUmSJEnTYZSLOg8BvjzP+i8Bz+kmHUmSJGm6jFKQbwXcNM/6m4EHdJOOJEmSNF1GKcgvBF4wz/o/Br7TTTq/lmSPJF9J8v0k5yR5RNcxJEmSpEkb5aLOo4BPJ9kbOKtddyDwu8Azu00LgH8C3l9VJyc5FPhn4PE9xJEkSVpvXkCqDTXKtIefT7IP8Abg+UBo5iDfp6ou6jKpJNsA+9IU+wCfAE5MsktVre4yliRJkiZr2v+oGWnaw6r6HnB4P6nczY7AVVV1exu3kqyhuRHR6jHElyRJmmrTXiSPU0a5p0+STYHfALZhrfHnVXVmZ0kljwE+XFWPHFh3LvDaqjp7YN1KYOXc8ooVK3a4/vrru0pjJON40869YY21ccXShluu743lGmucPK/1N873xlw8CzxNsyRXVtXMfNuG7iFP8kTgVGD7eTYXsMn6pTevK4CZJJtW1e1JQtNrvuZuQauOB46fW56ZmfGOoZIkSdqojDLLynuB/wtsX1X3WuvRZTFOVV0DnA+8sF11CLDa8eOSJElabkYZQ74T8M6qurqvZNbyUuDkJG8CfgEcNqa4kiRJ0tiMUpCfDjwOuKynXO6mqi5hI5rm0PFqkiRJWh+jFORfA96V5HE0NwK6bXBjVX2wy8QkSZKkaTBKQf5K4GbgoPYxqAALckmSJGlEo9wYaNc+E5GkdRnnkDCHn0mSxm2UWVYASGMmSaczq0iSJEnTaOiCPMl9krwPuInmbpk7t+uPS/KaftKTJEmSlrdResjfCewDPIlmLPmcs4EXdZmUJEmSNC1GuajzYODZVXVeksE7Yn4PeGi3aUmSJEnTYZSCfAXw83nWP4C1pkCUJGkcvAhX0nIwSkH+BZq7Z76+Xa4k9waOBD7fdWKStNxZTEqSYLSC/C+B/0pyALA58H5gT+BW4MDuU5MkSZKWv1HmIf9hkkcCzwP2ArYETgM+WlU39JSfJEmStKwNVZC3Q1PeBby7qk7tNyVJkiRpegxVkFfVrUkOA97Tcz6SJGmZ8roJaX6jzEP+MeDQvhKRJEmSptEoF3X+HDgiydOA84EbBzdW1Zu7TEySJEmaBqMU5L8FfJOmV/0xa22re+4uSZIkaTGjzLLyxD4TmZPkJcBrgIcDf1lVJ44jriRJkjQJo/SQA5Bke2A34NyquqX7lDgPeC7wVz0cW5IkDfBCS2nyhr6oM8kDk5wOzAJfBHZo1/9TkmO7SqiqLqyqi4A7uzqmJEmStFSN0kN+AnAHMANcMrD+NODvgTd2mJckSVPLXmtpuoxSkD8NOKCqrkoyuP5SYOdhD5JkFc348PnsU1VXjHCslcDKueUVK1YM+1JJkiRpSRilIF/XvjsANwx7kKrab4SYix3reOD4ueWZmRlne5EkSdJGZZSC/HTgjUkOb5cryYOAtwOf6joxqU9+HSxJkpaKUe7U+WpgJ5qLOu9DU6BfDmwGvL6rhJK8MMks8Bzgb5LMJtmnq+NLkiRJS8ko85BfCxyYZD9gL2BL4ELgc1XV2VCRqvoI8JGujidJkiQtZQsW5EnuALarqmuSnAn8QVWtAlaNJTtJkiRpmVush/wGYGvgGuBAmuEpmjDHP0uSJC0fixXknwW+kOSidvn/JLl1vh2r6kmdZiZJkiRNgcUK8hcCfwjsDhwAnAP8qu+ktHTYGy9JktSvxQry5wEfq6pbkuwMHF1VvxxDXpIkSdJUWGzaww8Cc7e/fBHNdIeSJEmSOrJYD/lVwCFJTgcCzCTZYr4dq2pN18lJkiRJy91iBfnRwHuBE4ECzp1nn7TbNuk2NUmSJGn5W7Agr6oPJfkIsAPwQ+DxwLXjSEySJEmaBoveqbOqbgNWJ3kicF5V3d5/WpIkSdJ0WOxOnU8Czm6L8E2A/ZPMu29Vndl9epIkSdLytlgP+RnAtjR36jxjgf0cQy5JkiSth8XGkN9rvueSJEmSurHoGHJJ0sbPu+5K0tI1VK93khVJ3p7ku0l+leSGJN9JckyS+/WdpCRJkrRcLdpDnuS+wFeArYF/AS6mmXt8T+BPgWcmeXxV3dhnopIkSdJyNMyQldfQ9KQ/oqp+OrghyTHAl4BXA2/vPj1JkiRpeRtmyMqzgGPWLsYBquo64G3AwV0llORvk1yU5MIk57RTL0qSJEnL0jA95L8BfH2B7V9v9+nKKuBvquqmJI8GzkqyXVXd3GEMSZIkaUkYpof8fsAvFtj+C2DLbtKBqvpMVd3ULn6bZn7zB3V1fEmSJGkpGaaHPMDOSdZVdD+43acPLwYuq6rZeRNLVgIr55ZXrFjRUxqSJElSP4adh/xrC2wLzZ06h5JkFfDwdWzep6quaPd7MnA08NR1HauqjgeOn1uemZkZOg9JkiRpKRimIN+1y4BVtd9i+yQ5APgQ8MyquqTL+JIkSdJSsmhBXlWXjyOROUn2B04Fnl1VF44ztiRJkjRuww5ZGad/BjYHPpTcNTT9j6vq25NLSZIkSerHkivIq2qPSecgSZIkjcsw0x5KkiRJ6okFuSRJkjRBQxfkSc5MctgC85FLkiRJGtEoPeRfppkX/OokH0nylAxcdSlJkiRpdEMX5FV1VFXtBjwDuBH4OHBFkmOTPLKvBCVJkqTlbOQx5FV1dlX9ObAt8B7gNcC3knwjyZ8kcVy6JEmSNKSRpz1sx5AfCrwIeAJwBnAKsANwJPD0drskSZKkRQxdkCf5PeCPgWcDa2iK8BdU1Y8H9jkDOKfrJCVJkqTlapQe8n8BPgY8uaq+vo59fgC8fYOzkiRJkqbEKAX5dlV1y0I7VNVNwFs3LCVJkiRpeoxyAeYLktxjbHiSQ5Mc3l1KkiRJ0vQYpSB/E/CTedZf3W6TJEmSNKJRCvIZmos513YlsGM36UiSJEnTZZSC/Apgv3nW7w9c1U06kiRJ0nQZ5aLOfwBOSLI18MV23YHAm4GjO85LkiRJmgpDF+RVdUKSm4AjgHe3q9cAr6uqD/SRnCRJkrTcjXSnzqo6CTipvVtnquqXXSeU5G3As4A72lVvr6qPdR1HkiRJWgpGKsjnVNUNXScy4LiqOgIgyfbAxUk+V1U/6zGmJEmSNBFDF+RJ7gX8OXAozawqmw1ur6rdukioqq4fWLwfUIx28akkSZK00Ril0H0LcBTweWAn4BTgC8D9gfd2mVSSVyW5BPgm8OdVdd069luZZHbuccMNfXbcS5IkSd0bpSB/EfCSqnoHcDvw0ar6E+BI4PHDHiTJqiTXruOxIzQXkFbVw4DfAY5sZ3a5h6o6vqpm5h5bbrnlCKcjSZIkTd4oY8gfBFzcPv858MD2+WeB44Y9SFXNN5f5uva9MMmVNNMrfmLY10mSJEkbi1F6yH8A7N4+/y5weJL7A88DOrvgMsnDB57vDuwDfK+r40uSJElLyag3Btq1ff5W4NPAS4HbaC727MqxSR7aHvd24BVVdVGHx5ckSZKWjFFuDPTBgedfSbIT8DBgTVX9pKuEqurZXR1LkiRJWuqGGrKS5N5Jrk/yiLl1VXVDVZ3XZTEuSZIkTZuhCvKquhW4lrXmHpckSZK0YUa5qPMo4J1zUxNKkiRJ2nCjXNT5TpqpD1cn+Rlw4+DGqtqpy8QkSZKkaTBKQX5kb1lIkiRJU2qUWVZO6TMRSZIkaRoNXZAn2W2h7VX1ww1PR5IkSZouqarhdkzuBApIu+puL6yqTbpNbXQzMzM1Ozs76TQkSZKku0lyZVXNzLdtlDHku661vBnwm8ARwNHrmZskSZI01UYZQ375PKsvTXId8C7g051lJUmSJE2JUeYhX5drgT07OI4kSZI0dUa5qPNJa68CtgVeDZzTZVKSJEnStBhlDPkZay0X8BPgbOC1nWUkSZIkTZFRxpB3MbxFkiRJ0gCLbEmSJGmChi7Ik3wyyevnWf/aJKd1m5YkSZI0HUbpIT8AOH2e9Z9pt3UqyYFJ7kjyiq6PLUmSJC0VoxTkWyxwjPt2kMtdktwPeAdNsS9JkiQtW6MU5F8DXjXP+j6mPTweOI5mjnNJkiRp2Rpl2sM3AGckeRzwxXbd/sBOwFO6SijJ04Gtquq0JAd1dVxJkiRpKRpl2sPzkuwBvBJ4JM2Ngf4dOLGqhu7JTrIKePg6Nu8DHAs8dchjrQRWzi2vWLFi2DQkSZKkJSFVNekc7pLkCcAngRvbVQ8CbqEp+o9e7PUzMzM1OzvbY4aSJEnS6JJcWVUz820buoc8yUuAX1TVaWutPxTYsqpO3qAsgar6ErDNwLFPBr5RVSdu6LElSZKkpWiUizrfBPxknvVXt9skSZIkjWiUizpngDXzrL8S2LGbdO6uqg7v47iSJEnSUjFKD/kVwH7zrN8fuKqbdCRJkqTpMkoP+T8AJyTZml9Pe3gg8GZg0QsuJUmSJN3TKNMenpDkJuAI4N3t6jXA66rqA30kJ0mSJC13o/SQU1UnAScl2ZJmysRf9pOWJEmSNB1GGUN+l6q6oap+meQhSV6b5FtdJyZJkiRNg5F6yAGSbA48GziM5o6aFwP/0XFekiRJ0lQY5cZAvwMcDjyHZqrDPYGnVtUX+klNkiRJWv4WHbKS5Mgk3wc+THNjoP2r6lFAAf/dc36SJEnSsjZMD/lbgL8Djqqqm/tNR5IkSZouw1zU+afAvsDVSU5N8owkI489lyRJknRPixbkVXVyVT0Z+E2aCzj/jmaoyr2AfZNs0m+KkiRJ0vI19LSHVbWmqt5WVQ8DngmcBJwAXJPklL4SlCRJkpaz9Z2H/CtV9b+AbYGXAVt3mpUkSZI0JdarIJ9TVbdW1b9V1UFdJSRJkiRNkw0qyCVJkiRtGAtySZIkaYKWXEGe5OQks0kuaB/HTTonSZIkqS9LdT7xY6vqxEknIUmSJPVtyfWQS5IkSdNkqRbkK5N8K8mnk+w96WQkSZKkvqSqxhswWQU8fB2b9wHuBH5cVXcmORh4H7BHVd0wz7FWAisHVm0LXN1xyn3ZErjHORnLWBOIZyxjGctYxjKWsfr34KrafL4NYy/IR5XkEuD5VXXepHPpUpLZqpoxlrEmHc9YxjKWsYxlLGNN1pIbspJkZuD542juAnrp5DKSJEmS+rMUZ1k5OclDgDuAm4DnVNXPJ5yTJEmS1IslV5BX1VMmncOYHG8sYy2ReMYylrGMZSxjGWuClvwYckmSJGk5W3JjyCVJkqRpYkEuSZIkTZAF+ZglOSHJ6iSV5FE9x9oiyb8n+X6SC5L8V5Jdeoz3ufaGThckWdX3TZ2SHD2m3+PqJBe353VBkj/sMdbmSU5M8oMk303ykZ7ibDVwPhe075Hbkzywp3hPS3JekvOTfCfJYX3EaWP9XpJvtO/FryV5dIfHnvfzm2SPJF9pf4/nJHlEj7E6b0PmO2Zf7ccC59V5+7HY76rLNmSB8+q8/VggVuftxzreG720HwucV+ftxwKxOm8/FvosJdmmXf5Be25P6DHWm5JckuTOJAf1GOeDbZwLkpzd0Wd5oXgfGmg7zk3y5A2NNxFV5WOMD2B/YAZYDTyq51hbAM/g19cKvAL4XI/xthp4/vvAN3uMtS/wGeDyMfwee/+3Goj1d8AJA/9m240p7uuA/+zp2AGuA36zXd4FuBm4Xw+xHgBcCzy8XT4A+E6Hx5/38wucCRzePj8U+GqPsTpvQ+Y7Zl/txwLn1Xn7sdDvqus2ZIHz6rz9WCBW5+3HMO+3rtqPdbwPe2k/1hGrl/Zjoc8S8EHgLe3zx7bvx017ivU/gd2Bs4CDejynZ82dA3AQ8P2ef4eDbcfe7b9hNjTmuB/2kI9ZVZ1dVbNjinVzVZ1e7bsU+BqwW4/xrh9YXEFz19XOJdkceC/wF8CyuSo5yX2BFwNvmvs3q6ofjyn8i4F/7jnGVu3P+9P8B3tLDzF2B66pqosAquqLwM5J9u3i4PN9fpNsQ1PczfVGfgLYdUN7k9fVVvTRhsx3zL7ajwXOq/P2Y12x+mhDxty2z/c+7KX9GPK8Omk/FonVafuxjli9tB+LfJaeS/NepKrOBf4bWO9e8oViVdXXq+qy9T32CHE+VVW3D6zfOckG1ZuLxBtsO7ZiI60LLMiny6uA/+wzQJIPJ7kCOAboa1jCXwMfqaof9XT8+Xw0ybeTfCDJg3uKsTvNfzRHtl+ZrhrHV29JHk9zA65P93H8tgF9LvDJJJcDXwIOq6pbewj3A+DBaW4qRpKDaW6tvEsPsebsCFw19x9Qe75rgJ16jDkJy6X9gPG3IbYf62mZth+vAv4zydbAvarqJwPbVtNt29H753aROK8GTq+qrjvo7hYvybFJLgM+SXP/mo2uKLcgnxJJ3gTsARzRZ5yqelFV7QgcCRzX9fHbxv+xwPu6PvYC9q+qR9P0gl4HnNJTnM1o/uL/XlX9Fs1Xcv/a43/gc14CfHigR6NTSTYF/gp4dlXtDDwZOGVDx5vOp5qbiB0CHJvkPOBA4HvAbV3HWjv0WsvpOd5YLZf2AybShth+bIDl1n7M81nqre0Y1+d2XXGSvJDmj6mX9h2vqt5YVbu38Y5Lcu8uY46DBfkUSPI64A+Ap1fVjeOIWVWnAE9sewC6dACwJ/CjJKtpxgB+NsnTO45zl6pa0/68DXgPsF9PoS6n+Zr+o228C4EfAY/sKd7c19x/SDOOsS97A9tX1Zfhrq9lrwI6u9hyUPtV9IFV9RjgDcD2wEV9xGpdAcy0hQNJQtNrvqbHmGOzzNoPGHMbYvuxwZZN+7H2Z6mqrmvXD/7RtDMdtB3j+tyuK06ai5ePBp5aVdf0HW9OVZ0B3A/Yq6uY42JBvswlWQn8Ec2H4vrF9t+AOPdPsv3A8sE0vUE/7TJOVR1bVdtX1S5VtQswCzytqj7TZZw5Se6bZKuBVX8EnN9HrKq6Fvh/wNPa2DsDuwKX9BGv9RzgW1V1cY8x5grWhwEkeSjN1+vf7yNYku0GFo8CzqyqS/uIBdD+Z3M+8MJ21SHA6qpa3VfMcVlu7QeMtw2x/ejEsmg/FvgsfRx4ebvPY4FtaYbl9BGrU+uKk+S5NMPOnjL3B2lf8ZJsmmSPgX1+G9gG+GFXccemlsCVpdP0oLl4Yxa4HbgauLTHWDM0X4ddBlzQPr7eU6wdgXOAbwMXAmcAe4/h97maHmdAofkK+HzgW+25/QewS8/xzmpjXQAc3PPvbxXw4jH8O/3RwHvjW8Dzeoz1AeBi4FLgVAauwO/g2PN+foGHAV+lKRK+ATyyx1idtyHzHbOv9mMdsXppP4b5XXXVhqzjvHppPxZ4b3Tefiz0O+y6/VjgvDpvPxaI1Xn7sdBnCXgI8Dma8evfBQ7oMdZfted8C81MJLPAg3uIcxvNH1IXDDy27uO8gM2BLwPfad8fXwGe1NV7cpyPueljJEmSJE2AQ1YkSZKkCbIglyRJkibIglySJEmaIAtySZIkaYIsyCVJkqQJsiCXJEmSJsiCXJKWkCRnJan2cVOSy5KcnGSkOxMmOSbJWT2lOV+8TducD1xkv7ck+dLA8skD53tzkjVJPp5k/96TlqQlwoJckpae9wDb0dxw6E+AzYBzkzxzoln15xM05/tQmluxXw2cmeRlE81KksbEglySlp5fVdXVVbWmqs6qqhcAHwb+MclmAEmeleRrSX6Z5Kok70ty33bb4cARwAEDvc+7JHlIktOSXN2+7uwke88FTbJFkpOSXNP2zl+c5PcHtu/b9uDflGR1krcm2bTdPHd78S+08U4e4Xxvbs93tqq+WlWvBN4CvCvJ1uv3K5SkjYcFuSRtHP4B2AHYt13eAngb8GjgecATgaPbbR+j6WX/Kk3P83Y0t7K+D3A28FTgMcD3gE8l2aJ93ava9U8HHgG8BvgFQFsYfx44HdgLOBx4PvDa9rWPa38e0sZ79Qae74ltvk/ZwONI0pK36eK7SJKWgIvbn7sAX6+qfxvY9sMkbwX+FnhDVd2U5FfArVV19cB+q4ET5haSvBz4OfDbNIX6jsD5VXVeu8uPBl77cuALVfXOdvnSJEcDfw28A7i2Xf/TtWKul6q6Psl/t+crScuaBbkkbRzS/iyAJI+g6SF/DPAAmvZ8wTa9He7yVuBgml7sTYH/QVOIA5wKfL4dxvJZ4BMDxflewLOS3DBwyE2AzZL09W1raM9XkpYzh6xI0sZhz/bn6vbnp2iK1RcAv0Uz3GSxTpb/DRwGHAk8AdgbuJ7molGq6hxgV5rhLjsDX07yuva1WwL/2r5m7rEXsGdV3blhp3ZPSR4AbMOvz1eSli17yCVp4/BKmnHg30zyIGB34NCqugAgyXPX2v82mh7sQY8DPl5Vn2hfsyNN7/pdquqnND3lpya5EHgJ8C7gQuApVXUp87sDuHOemOvrFcCNwBkdHU+SliwLcklaeu6bZFvg3sBuwJ8BhwIHV9XtSX4G/Az4syTvBh4LvHStY1wOPCzJnjTju38KXAb8XpK5C0PfBdw894IkrwFmgQtoLhr9XeCSdvN7gZcmOYnmgsubaS4o/Y2qOqaqKskVwJOSfBu4saoGh7csZIv2fDelGT7zfOBlwF+0fyBI0rLmkBVJWnr+Evgx8H3ggzS93Y+tqtMBquoOmqEqvwt8l6YYf/NaxzgNOAc4F/gJsBNwDM2Fml+imfv7/cB1A6/5FXAUTW/4WTRF/MvamFcA+9MUzF9uj/s6YM3A69/Q5vVjmqJ9WIe0r7kM+DfgIcATq+r9IxxDkjZaqfJ6GUmSJGlS7CGXJEmSJsiCXJIkSZogC3JJkiRpgizIJUmSpAmyIJckSZImyIJckiRJmiALckmSJGmCLMglSZKkCbIglyRJkibIglySJEmaoP8PPYs2Kbvs6n4AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 880x200 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "datasets = performance_df['dataset']\n",
    "acc_diff = performance_df['ucm_acc'] - performance_df['mv_acc']\n",
    "\n",
    "figure(figsize=(11, 2.5), dpi=80)\n",
    "plt.xticks(performance_df['ID'])\n",
    "plt.xlabel('Dataset ID', fontsize=12)\n",
    "plt.ylabel('Accuracy Difference', fontsize=12)\n",
    "plt.ylim(-5, 1)\n",
    "\n",
    "plt.bar(performance_df['ID'], acc_diff, color='#8c9bb5', width=0.95)\n",
    "plt.savefig('accuracy-graph.png', bbox_inches=\"tight\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Comment**: The graph above shows the accuracy difference between UCM and Majority Voting. As most of the bars are below 0, we can say that Majority Voting is the winner."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 23 artists>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 400x640 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# this is the same graph as the one above but shown vertically\n",
    "\n",
    "figure(figsize=(5, 8), dpi=80)\n",
    "plt.xlabel('Accuracy Difference', fontsize=12)\n",
    "plt.yticks(performance_df['ID'])\n",
    "plt.ylabel('Dataset ID', fontsize=12)\n",
    "plt.barh(performance_df['ID'], acc_diff, color='#8c9bb5')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 880x200 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "f1_diff = performance_df['ucm_f1'] - performance_df['mv_f1']\n",
    "\n",
    "figure(figsize=(11, 2.5), dpi=80)\n",
    "plt.xticks(performance_df['ID'])\n",
    "plt.xlabel('Dataset ID', fontsize=12)\n",
    "plt.ylabel('F1 Difference', fontsize=12)\n",
    "plt.ylim(-5, 1)\n",
    "\n",
    "plt.bar(performance_df['ID'], f1_diff, color='#8c9bb5', width=0.95)\n",
    "plt.savefig('f1-graph.png', bbox_inches=\"tight\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Comment**: The graph above shows the $F_1$ difference between UCM and Majority Voting. Regarding this metric, Majority Voting is still the winner on most of the datasets and a very similar pattern to the accuracy difference is observed."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "R^2 score: 0.005220518803246588\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x320 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ucm_mv_acc_diff = performance_df['ucm_acc'] - performance_df['mv_acc']\n",
    "wmv_mv_acc_diff = performance_df['wmv_acc'] - performance_df['mv_acc'] \n",
    "\n",
    "figure(figsize=(8, 4), dpi=80)\n",
    "plt.xlabel('WV Ac - MV Ac', fontsize=12)\n",
    "plt.ylabel('UCM Ac - MV Ac', fontsize=12)\n",
    "plt.scatter(wmv_mv_acc_diff, ucm_mv_acc_diff, color='#8c9bb5')\n",
    "\n",
    "slope, intercept = np.polyfit(wmv_mv_acc_diff, ucm_mv_acc_diff, 1)\n",
    "x_min = wmv_mv_acc_diff.min()\n",
    "y_min = slope*x_min + intercept\n",
    "x_max = wmv_mv_acc_diff.max()\n",
    "y_max = slope*x_max + intercept\n",
    "plt.plot([x_min, x_max], [y_min, y_max], color='red', linestyle='--')\n",
    "plt.savefig('wv-graph.png', bbox_inches=\"tight\")\n",
    "\n",
    "y_true = ucm_mv_acc_diff\n",
    "y_fit = slope*wmv_mv_acc_diff + intercept\n",
    "print(f\"R^2 score: {r2_score(y_true, y_fit)}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Comment**: With the line of best fit being nearly horizontal, the relative performance of Weighted Voting (or WV) has little effect on the relative performance of UCM with respect to Majority Voting (MV) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x7f1eee175990>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x320 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure(figsize=(8, 4), dpi=80)\n",
    "plt.xlabel('Attributes', fontsize=12)\n",
    "plt.ylabel('Accuracy Difference', fontsize=12)\n",
    "plt.ylim(-5, 1)\n",
    "\n",
    "plt.scatter(performance_df['attributes'], acc_diff, color='#8c9bb5')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Comment**: The graph above shows no relationship between the number of attributes and the accuracy difference between UCM and MV."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x7f1eee175550>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x320 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure(figsize=(8, 4), dpi=80)\n",
    "plt.xlabel('Classes', fontsize=12)\n",
    "plt.ylabel('Accuracy Difference', fontsize=12)\n",
    "plt.ylim(-5, 1)\n",
    "\n",
    "plt.scatter(performance_df['classes'], acc_diff, color='#8c9bb5')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Comment**: The graph above shows no relationship between the number of classes and the accuracy difference between UCM and MV."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "R^2 score: -0.08586902513910477\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x320 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure(figsize=(8, 4), dpi=80)\n",
    "plt.xlabel('Log(instances)', fontsize=12)\n",
    "plt.ylabel('Accuracy Difference', fontsize=12)\n",
    "plt.ylim(-5, 1)\n",
    "plt.scatter(np.log(performance_df['instances']), acc_diff, color='#8c9bb5')\n",
    "\n",
    "plt.scatter(np.log(performance_df['instances'][15]), acc_diff[15], s=800, facecolors='none', edgecolors='orange')\n",
    "\n",
    "y_true = acc_diff \n",
    "y_fit = slope*np.log(performance_df['instances']) + intercept \n",
    "print(f\"R^2 score: {r2_score(y_true, y_fit)}\")\n",
    "\n",
    "plt.savefig('instances-acc-graph.png', bbox_inches=\"tight\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Comment**: There seems to be an increasing relationship between the number of instances and the accuracy difference between UCM and MV. However, there is an outlier (circled)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "R^2 score: 0.11255741672134822\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 640x320 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "nolet_df = performance_df.drop(15) # drop the letter dataset\n",
    "nolet_acc_diff = nolet_df['ucm_acc'] - nolet_df['mv_acc']\n",
    "\n",
    "figure(figsize=(8, 4), dpi=80)\n",
    "plt.xlabel('Log(instances)', fontsize=12)\n",
    "plt.ylabel('Accuracy Difference', fontsize=12)\n",
    "plt.ylim(-5, 1)\n",
    "plt.scatter(np.log(nolet_df['instances']), nolet_acc_diff, color='#8c9bb5')\n",
    "\n",
    "slope, intercept = np.polyfit(np.log(nolet_df['instances']), nolet_acc_diff, 1)\n",
    "x_min = np.log(nolet_df['instances']).min()\n",
    "y_min = slope*x_min + intercept\n",
    "x_max = np.log(nolet_df['instances']).max()\n",
    "y_max = slope*x_max + intercept\n",
    "plt.plot([x_min, x_max], [y_min, y_max], color='red', linestyle='--')\n",
    "\n",
    "y_true = nolet_acc_diff \n",
    "y_fit = slope*np.log(nolet_df['instances']) + intercept \n",
    "print(f\"R^2 score: {r2_score(y_true, y_fit)}\")\n",
    "\n",
    "plt.savefig('instances-acc-no-let-graph.png', bbox_inches=\"tight\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Comment**: If we drop this outlier, the line of best fit seems much better and the $R^2$ score is also higher."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}