Skip to content

Instantly share code, notes, and snippets.

@mr-eyes
Last active October 28, 2019 16:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mr-eyes/b9fe58c65e251131520636277d8bea6f to your computer and use it in GitHub Desktop.
Save mr-eyes/b9fe58c65e251131520636277d8bea6f to your computer and use it in GitHub Desktop.
ML-Lab3-LeastSquares
3.2596 1.4977 -1
3.9733 1.2995 -1
2.0559 1.5692 -1
2.0003 2.4876 -1
-1.433 4.1727 -1
2.736 1.4522 -1
3.2213 1.8164 -1
1.1169 2.7368 -1
3.0756 1.876 -1
4.233 1.8611 -1
1.7545 1.3696 -1
-0.013697 3.4021 -1
-1.8125 3.7279 -1
3.1985 1.4717 -1
3.7219 1.6497 -1
6.5987 -0.90453 -1
1.6526 2.5429 -1
3.411 0.80101 -1
1.4463 1.1633 -1
-0.40609 2.9147 -1
-2.3464 4.0932 -1
3.5569 0.88555 -1
1.3775 2.1822 -1
1.8302 2.1668 -1
1.2729 2.5786 -1
3.8178 0.9253 -1
-0.1874 3.1409 -1
4.4543 1.8561 -1
3.8682 0.38504 -1
3.8808 0.70663 -1
4.3979 0.63303 -1
-0.84319 3.6321 -1
2.9111 2.1483 -1
2.8468 1.7678 -1
3.4103 0.73863 -1
0.85554 2.2335 -1
1.041 1.6109 -1
1.3735 2.41 -1
-1.6788 4.1465 -1
0.30509 2.5557 -1
-1.4886 2.9386 -1
-0.055809 2.7711 -1
6.4104 1.1708 -1
-1.8625 3.762 -1
2.5482 2.4398 -1
3.1559 1.213 -1
2.627 1.178 -1
1.7082 2.2861 -1
3.5674 2.0486 -1
3.9152 1.3076 -1
4.6491 0.75631 -1
5.6708 0.52511 -1
0.061791 3.0318 -1
1.2081 2.5924 -1
6.9007 -0.69261 -1
0.72671 2.3956 -1
2.1009 1.1804 -1
3.8696 1.8903 -1
5.0801 0.49566 -1
0.054071 2.9494 -1
1.0256 1.6037 -1
0.92011 2.383 -1
-0.081168 3.714 -1
-0.57223 3.5472 -1
1.8969 1.7443 -1
-3.6016 4.2363 -1
-0.79873 2.4659 -1
0.71875 2.4494 -1
3.99 0.21419 -1
-1.639 3.9712 -1
1.2183 2.6337 -1
0.60314 2.3337 -1
2.7394 1.3204 -1
1.7908 1.6519 -1
-1.5971 4.2292 -1
2.5919 1.8414 -1
-1.0325 2.8065 -1
4.3466 1.123 -1
0.19167 3.3291 -1
1.5514 1.9774 -1
4.0268 1.7344 -1
3.3673 1.6003 -1
6.0591 -0.030592 -1
1.0617 1.9497 -1
5.0557 0.10459 -1
3.5683 1.5205 -1
4.7118 1.0197 -1
-3.259 3.5108 -1
1.7142 1.9381 -1
2.0577 1.6351 -1
1.1802 3.0966 -1
0.33617 2.474 -1
2.1626 1.7231 -1
2.5487 1.483 -1
4.0608 1.8411 -1
2.3562 2.2061 -1
2.4336 2.1022 -1
1.8124 1.8966 -1
3.7776 2.1659 -1
1.9765 1.6886 -1
6.1651 0.80369 -1
3.4169 1.2154 -1
-0.91572 2.6547 -1
1.1091 2.7592 -1
3.8067 1.5126 -1
5.2402 0.55267 -1
0.18143 1.8273 -1
6.4031 0.54552 -1
-1.7688 3.6445 -1
1.0665 3.5298 -1
3.5366 1.5701 -1
3.8043 1.4031 -1
2.703 2.2049 -1
0.85146 2.1109 -1
-0.288 3.5905 -1
2.0769 1.2497 -1
0.72522 2.8044 -1
3.0195 1.6271 -1
9.1435 0.25636 -1
4.0408 1.8423 -1
1.57 1.5989 -1
1.3054 2.8856 -1
-1.5694 2.8133 -1
0.32345 3.0523 -1
8.5686 -0.44213 -1
4.7302 1.2808 -1
3.0037 1.1209 -1
2.9213 1.6484 -1
3.927 1.2207 -1
3.3318 2.1718 -1
0.45837 2.2085 -1
-0.27142 3.0778 -1
-0.53464 2.9259 -1
-1.0691 3.7854 -1
-0.80165 3.3673 -1
-0.0091185 2.8976 -1
1.6784 1.537 -1
0.8265 2.6076 -1
2.0895 1.5409 -1
-4.5622 4.6912 -1
1.6451 1.7955 -1
2.4177 0.92337 -1
3.7099 1.1682 -1
0.1347 3.0934 -1
-0.69734 3.1461 -1
-0.3834 3.768 -1
2.5188 2.0461 -1
2.5551 2.7181 -1
2.7738 1.5726 -1
2.288 1.7471 -1
1.275 1.9679 -1
2.8029 1.897 -1
2.1869 1.3896 -1
0.98959 2.758 -1
4.3783 1.1905 -1
4.012 0.74658 -1
3.6898 0.96074 -1
-0.63827 2.7346 -1
0.55278 1.7296 -1
2.6477 1.9921 -1
1.548 2.3376 -1
6.2476 1.3856 -1
4.9361 0.82851 -1
1.5275 2.734 -1
3.7968 1.5993 -1
-0.20401 2.8887 -1
-0.60766 3.5565 -1
-2.4544 4.6459 -1
6.1753 0.65561 -1
1.462 1.5224 -1
1.2788 1.7182 -1
0.69773 3.2284 -1
-1.3313 3.3359 -1
2.8656 1.8622 -1
0.055828 3.3782 -1
1.7329 1.9762 -1
2.9074 1.6337 -1
1.4859 2.497 -1
3.0949 2.0886 -1
1.403 1.9166 -1
2.7825 1.5582 -1
5.2978 1.6466 -1
3.3678 1.3463 -1
2.7314 1.6303 -1
1.5585 2.258 -1
1.125 2.2904 -1
2.2791 3.206 -1
4.6553 1.0661 -1
0.42596 3.1298 -1
-0.80863 2.2694 -1
6.5763 1.0289 -1
-1.7898 3.3465 -1
1.3871 1.5378 -1
3.0447 1.6575 -1
1.6984 2.0985 -1
1.5248 1.9833 -1
5.017 -0.063551 -1
6.9956 0.045253 -1
-1.7684 3.6197 -1
-0.53967 2.1401 -1
-0.58911 3.7919 -1
2.4061 1.7586 -1
-0.57023 2.2668 -1
2.7327 1.2357 -1
2.6428 1.841 -1
3.8394 0.77481 -1
3.852 1.125 -1
0.4426 2.3872 -1
4.0176 1.6338 -1
3.1172 1.5216 -1
4.0005 1.0059 -1
1.8809 1.6102 -1
4.9416 1.2291 -1
-1.2883 3.4094 -1
-0.20147 2.5874 -1
1.2979 1.9405 -1
0.91817 2.6499 -1
3.1539 1.3323 -1
-0.57755 3.1788 -1
3.2623 2.3255 -1
4.7789 1.1704 -1
-0.0092509 3.1482 -1
2.8535 1.6163 -1
-2.7215 3.7484 -1
0.64936 2.7812 -1
3.9986 1.8364 -1
1.3341 1.9238 -1
2.2753 1.0273 -1
2.5126 1.8208 -1
2.1538 2.7713 -1
1.2947 2.4363 -1
1.7948 2.2612 -1
3.7603 1.1013 -1
2.2897 2.2435 -1
2.3143 1.279 -1
3.5386 1.0849 -1
2.0321 2.0891 -1
-2.7237 3.8434 -1
0.93038 1.5339 -1
-0.51576 3.675 -1
2.1692 1.3902 -1
3.0882 2.3496 -1
0.47709 2.2856 -1
3.5522 0.43305 -1
6.2601 0.16305 -1
-0.7818 3.2004 -1
-3.5492 4.3132 -1
6.4112 0.37552 -1
5.945 0.52009 -1
-2.9737 3.9205 -1
-1.0487 4.0308 -1
2.7087 2.2723 -1
6.9422 0.2987 -1
3.3871 1.5648 -1
-0.17959 3.1195 -1
4.5854 1.509 -1
1.4807 1.7865 -1
3.0202 1.8545 -1
0.43809 2.7346 -1
-0.4877 2.9023 -1
3.1718 1.7571 -1
7.4648 0.16487 -1
3.5188 1.9715 -1
0.11998 2.3055 -1
-3.9754 4.3974 -1
6.425 0.10096 -1
1.2653 1.9913 -1
0.50639 2.5126 -1
-1.9908 3.0226 -1
2.5945 0.89947 -1
-3.8516 4.5469 -1
-1.127 3.3453 -1
1.1914 1.898 -1
4.6307 1.4715 -1
1.1503 2.8188 -1
4.4385 1.0307 -1
0.47004 2.603 -1
2.4437 1.5911 -1
2.5044 2.7222 -1
4.2104 1.0665 -1
3.4524 5.3391 1
5.4961 4.5956 1
3.3677 5.7413 1
7.4584 4.2353 1
5.7991 3.8204 1
5.3679 4.3165 1
5.0249 4.3488 1
3.993 5.6203 1
3.8134 5.6184 1
5.3334 4.3927 1
6.234 4.1923 1
4.9594 4.8412 1
0.20162 6.8311 1
3.6001 6.3684 1
7.517 4.1921 1
5.1714 5.1186 1
2.2792 6.6096 1
2.2639 6.0741 1
4.5493 5.5086 1
7.4607 3.6943 1
6.3708 4.101 1
1.0732 6.7836 1
4.8514 4.2932 1
8.4282 3.7607 1
4.8289 5.6787 1
2.7656 6.6416 1
9.6382 3.1322 1
3.3823 5.848 1
3.5083 4.2946 1
4.9775 4.944 1
7.1541 4.5525 1
5.3265 4.6113 1
8.5162 3.0998 1
5.7766 5.0142 1
5.321 4.9729 1
4.121 5.1186 1
6.0782 5.437 1
2.0367 6.4738 1
6.235 4.769 1
5.7771 4.3448 1
7.9614 3.24 1
6.4453 4.0661 1
11.922 3.4631 1
6.1838 4.2973 1
4.267 5.2905 1
3.3546 6.4592 1
3.9808 5.1357 1
6.0764 4.1851 1
3.5275 6.3767 1
4.8244 5.009 1
3.2872 5.4917 1
7.4131 3.2937 1
5.23 5.4316 1
3.2515 5.9001 1
7.0115 3.9292 1
10.676 2.8009 1
0.57432 7.2764 1
3.6092 5.0065 1
1.025 6.6749 1
4.0116 5.4651 1
5.0577 4.782 1
5.3097 5.8656 1
6.8309 4.9507 1
3.2744 5.9119 1
6.9589 4.2771 1
4.2714 4.9175 1
4.7722 5.3008 1
1.7061 6.8176 1
4.1307 6.2577 1
3.2411 5.8393 1
2.1422 5.5024 1
6.5228 3.7192 1
0.82951 6.8021 1
5.7184 5.4298 1
5.6814 5.6594 1
4.2226 5.0647 1
5.1408 4.895 1
5.9496 5.1891 1
-0.50609 6.9062 1
2.5012 6.5357 1
4.9346 5.2388 1
9.955 3.3945 1
3.2998 5.4848 1
2.6396 5.3706 1
5.9833 4.7951 1
6.7097 3.9809 1
3.3665 5.5539 1
7.5009 3.9402 1
6.3153 4.5489 1
6.3414 3.6925 1
2.9864 5.5083 1
5.5473 3.9782 1
9.4753 2.6895 1
0.26478 7.0154 1
4.1363 5.5252 1
12.321 2.0471 1
7.9455 2.9563 1
8.2202 4.2198 1
5.4412 4.7523 1
4.5568 4.9259 1
6.3263 4.7921 1
7.5633 3.6249 1
0.58843 7.6646 1
3.0838 5.6087 1
4.3274 6.4322 1
2.4115 6.5395 1
2.9446 5.0847 1
8.5336 4.0969 1
5.5657 4.1205 1
3.604 5.2531 1
3.8944 5.3221 1
3.296 5.6175 1
3.7833 5.3526 1
8.1573 3.6615 1
5.1812 5.2922 1
4.0707 6.0576 1
5.6665 5.5928 1
7.3803 4.4081 1
3.0379 6.6359 1
5.0305 4.6793 1
6.2977 5.2877 1
-2.1629 7.413 1
0.64819 6.864 1
3.5572 5.5644 1
6.8873 4.9467 1
2.7308 4.9638 1
4.6499 5.2399 1
4.7358 5.2546 1
6.1792 4.3325 1
0.64777 6.4099 1
6.806 3.6846 1
6.782 4.5287 1
3.4279 6.3528 1
1.3472 5.8095 1
4.7359 5.8988 1
4.6158 5.6123 1
2.8752 6.3062 1
2.3737 6.419 1
1.4087 6.3133 1
1.734 6.6157 1
4.6285 4.5776 1
3.8793 5.0602 1
8.7602 3.4135 1
-0.32894 7.0239 1
4.9276 5.3901 1
5.529 3.8698 1
6.167 4.712 1
2.4769 6.8148 1
0.30953 6.0783 1
6.2429 4.2198 1
8.5792 3.7605 1
3.442 5.7596 1
5.1254 5.7383 1
0.49319 6.8659 1
4.6729 5.3704 1
8.1846 3.6605 1
1.6371 6.9232 1
6.7922 4.6668 1
8.4103 3.0031 1
7.0491 4.3947 1
2.684 5.7054 1
5.3086 5.029 1
4.4218 5.6979 1
6.6511 3.6992 1
2.0436 6.3848 1
7.2705 4.0474 1
9.405 2.6471 1
7.5595 3.4937 1
6.5959 4.0381 1
7.6708 3.5481 1
4.9431 4.9121 1
6.8133 4.0073 1
2.7194 5.806 1
7.8334 3.7202 1
3.8193 5.3444 1
0.37914 7.3571 1
1.4707 6.124 1
1.8354 6.1979 1
6.5041 4.9576 1
4.2741 5.2856 1
8.9736 3.9276 1
7.0925 4.3401 1
6.3611 4.457 1
7.9629 3.1547 1
8.6836 3.8807 1
6.7471 4.5596 1
4.6211 5.4519 1
4.0587 4.8589 1
5.2936 4.2694 1
6.5707 4.3027 1
7.8484 3.0481 1
1.8254 6.4285 1
6.7852 4.7777 1
5.8818 4.7853 1
3.7992 5.2699 1
3.3383 5.6977 1
6.386 4.7321 1
6.7072 3.8234 1
4.8009 5.3155 1
2.2205 6.6342 1
7.1144 4.4241 1
4.2656 5.6346 1
5.8364 4.9903 1
5.5381 5.1699 1
2.337 6.0983 1
6.3856 3.6929 1
5.9435 4.7274 1
5.0561 5.1141 1
9.837 3.5575 1
0.07623 6.8499 1
5.4793 4.4864 1
4.0025 5.5508 1
4.122 5.068 1
2.7747 5.3032 1
4.4791 4.9878 1
3.1526 5.8502 1
3.7922 6.3944 1
2.5306 5.9021 1
4.2877 5.0857 1
3.7826 4.7613 1
3.7046 5.4106 1
3.7103 5.4726 1
4.1722 5.949 1
4.2002 5.4997 1
5.7728 4.2168 1
2.7742 5.3533 1
5.8553 4.5578 1
6.5441 4.2606 1
2.0685 5.7614 1
5.8239 4.704 1
9.711 2.9963 1
5.3579 4.9877 1
3.7183 5.5565 1
5.2391 5.7322 1
8.8004 3.6932 1
5.2502 5.07 1
5.417 4.7047 1
4.1646 5.6708 1
4.1946 5.6569 1
6.0842 4.5892 1
4.7708 4.9446 1
4.492 4.7404 1
5.0347 5.1081 1
4.5361 5.0663 1
5.48 4.5076 1
4.6817 5.1357 1
4.7089 5.0075 1
7.4441 3.6454 1
7.6222 4.6479 1
4.8007 5.3035 1
5.1351 5.2135 1
4.6921 5.3825 1
7.7607 3.5551 1
4.4268 4.7577 1
4.9009 5.8384 1
5.2268 5.1124 1
5.0979 5.2093 1
9.7598 2.9602 1
3.5885 5.4112 1
4.0326 5.2727 1
7.9136 4.1818 1
5.1087 5.5702 1
5.1772 4.7911 1
1.2409 5.8023 1
4.7968 5.8401 1
4.877 4.5045 1
7.0287 3.4994 1
2.0866 6.1175 1
6.0383 4.5791 1
7.475 4.3295 1
52.441 1.2496 1
48.734 2.7473 1
47.061 3.1187 1
49.93 2.6604 1
48.926 2.2923 1
51.445 1.9836 1
48.746 1.9055 1
47.559 2.7349 1
53.128 0.45482 1
47.088 3.3481 1
3.2596 1.4977 -1
3.9733 1.2995 -1
2.0559 1.5692 -1
2.0003 2.4876 -1
-1.433 4.1727 -1
2.736 1.4522 -1
3.2213 1.8164 -1
1.1169 2.7368 -1
3.0756 1.876 -1
4.233 1.8611 -1
1.7545 1.3696 -1
-0.013697 3.4021 -1
-1.8125 3.7279 -1
3.1985 1.4717 -1
3.7219 1.6497 -1
6.5987 -0.90453 -1
1.6526 2.5429 -1
3.411 0.80101 -1
1.4463 1.1633 -1
-0.40609 2.9147 -1
-2.3464 4.0932 -1
3.5569 0.88555 -1
1.3775 2.1822 -1
1.8302 2.1668 -1
1.2729 2.5786 -1
3.8178 0.9253 -1
-0.1874 3.1409 -1
4.4543 1.8561 -1
3.8682 0.38504 -1
3.8808 0.70663 -1
4.3979 0.63303 -1
-0.84319 3.6321 -1
2.9111 2.1483 -1
2.8468 1.7678 -1
3.4103 0.73863 -1
0.85554 2.2335 -1
1.041 1.6109 -1
1.3735 2.41 -1
-1.6788 4.1465 -1
0.30509 2.5557 -1
-1.4886 2.9386 -1
-0.055809 2.7711 -1
6.4104 1.1708 -1
-1.8625 3.762 -1
2.5482 2.4398 -1
3.1559 1.213 -1
2.627 1.178 -1
1.7082 2.2861 -1
3.5674 2.0486 -1
3.9152 1.3076 -1
4.6491 0.75631 -1
5.6708 0.52511 -1
0.061791 3.0318 -1
1.2081 2.5924 -1
6.9007 -0.69261 -1
0.72671 2.3956 -1
2.1009 1.1804 -1
3.8696 1.8903 -1
5.0801 0.49566 -1
0.054071 2.9494 -1
1.0256 1.6037 -1
0.92011 2.383 -1
-0.081168 3.714 -1
-0.57223 3.5472 -1
1.8969 1.7443 -1
-3.6016 4.2363 -1
-0.79873 2.4659 -1
0.71875 2.4494 -1
3.99 0.21419 -1
-1.639 3.9712 -1
1.2183 2.6337 -1
0.60314 2.3337 -1
2.7394 1.3204 -1
1.7908 1.6519 -1
-1.5971 4.2292 -1
2.5919 1.8414 -1
-1.0325 2.8065 -1
4.3466 1.123 -1
0.19167 3.3291 -1
1.5514 1.9774 -1
4.0268 1.7344 -1
3.3673 1.6003 -1
6.0591 -0.030592 -1
1.0617 1.9497 -1
5.0557 0.10459 -1
3.5683 1.5205 -1
4.7118 1.0197 -1
-3.259 3.5108 -1
1.7142 1.9381 -1
2.0577 1.6351 -1
1.1802 3.0966 -1
0.33617 2.474 -1
2.1626 1.7231 -1
2.5487 1.483 -1
4.0608 1.8411 -1
2.3562 2.2061 -1
2.4336 2.1022 -1
1.8124 1.8966 -1
3.7776 2.1659 -1
1.9765 1.6886 -1
6.1651 0.80369 -1
3.4169 1.2154 -1
-0.91572 2.6547 -1
1.1091 2.7592 -1
3.8067 1.5126 -1
5.2402 0.55267 -1
0.18143 1.8273 -1
6.4031 0.54552 -1
-1.7688 3.6445 -1
1.0665 3.5298 -1
3.5366 1.5701 -1
3.8043 1.4031 -1
2.703 2.2049 -1
0.85146 2.1109 -1
-0.288 3.5905 -1
2.0769 1.2497 -1
0.72522 2.8044 -1
3.0195 1.6271 -1
9.1435 0.25636 -1
4.0408 1.8423 -1
1.57 1.5989 -1
1.3054 2.8856 -1
-1.5694 2.8133 -1
0.32345 3.0523 -1
8.5686 -0.44213 -1
4.7302 1.2808 -1
3.0037 1.1209 -1
2.9213 1.6484 -1
3.927 1.2207 -1
3.3318 2.1718 -1
0.45837 2.2085 -1
-0.27142 3.0778 -1
-0.53464 2.9259 -1
-1.0691 3.7854 -1
-0.80165 3.3673 -1
-0.0091185 2.8976 -1
1.6784 1.537 -1
0.8265 2.6076 -1
2.0895 1.5409 -1
-4.5622 4.6912 -1
1.6451 1.7955 -1
2.4177 0.92337 -1
3.7099 1.1682 -1
0.1347 3.0934 -1
-0.69734 3.1461 -1
-0.3834 3.768 -1
2.5188 2.0461 -1
2.5551 2.7181 -1
2.7738 1.5726 -1
2.288 1.7471 -1
1.275 1.9679 -1
2.8029 1.897 -1
2.1869 1.3896 -1
0.98959 2.758 -1
4.3783 1.1905 -1
4.012 0.74658 -1
3.6898 0.96074 -1
-0.63827 2.7346 -1
0.55278 1.7296 -1
2.6477 1.9921 -1
1.548 2.3376 -1
6.2476 1.3856 -1
4.9361 0.82851 -1
1.5275 2.734 -1
3.7968 1.5993 -1
-0.20401 2.8887 -1
-0.60766 3.5565 -1
-2.4544 4.6459 -1
6.1753 0.65561 -1
1.462 1.5224 -1
1.2788 1.7182 -1
0.69773 3.2284 -1
-1.3313 3.3359 -1
2.8656 1.8622 -1
0.055828 3.3782 -1
1.7329 1.9762 -1
2.9074 1.6337 -1
1.4859 2.497 -1
3.0949 2.0886 -1
1.403 1.9166 -1
2.7825 1.5582 -1
5.2978 1.6466 -1
3.3678 1.3463 -1
2.7314 1.6303 -1
1.5585 2.258 -1
1.125 2.2904 -1
2.2791 3.206 -1
4.6553 1.0661 -1
0.42596 3.1298 -1
-0.80863 2.2694 -1
6.5763 1.0289 -1
-1.7898 3.3465 -1
1.3871 1.5378 -1
3.0447 1.6575 -1
1.6984 2.0985 -1
1.5248 1.9833 -1
5.017 -0.063551 -1
6.9956 0.045253 -1
-1.7684 3.6197 -1
-0.53967 2.1401 -1
-0.58911 3.7919 -1
2.4061 1.7586 -1
-0.57023 2.2668 -1
2.7327 1.2357 -1
2.6428 1.841 -1
3.8394 0.77481 -1
3.852 1.125 -1
0.4426 2.3872 -1
4.0176 1.6338 -1
3.1172 1.5216 -1
4.0005 1.0059 -1
1.8809 1.6102 -1
4.9416 1.2291 -1
-1.2883 3.4094 -1
-0.20147 2.5874 -1
1.2979 1.9405 -1
0.91817 2.6499 -1
3.1539 1.3323 -1
-0.57755 3.1788 -1
3.2623 2.3255 -1
4.7789 1.1704 -1
-0.0092509 3.1482 -1
2.8535 1.6163 -1
-2.7215 3.7484 -1
0.64936 2.7812 -1
3.9986 1.8364 -1
1.3341 1.9238 -1
2.2753 1.0273 -1
2.5126 1.8208 -1
2.1538 2.7713 -1
1.2947 2.4363 -1
1.7948 2.2612 -1
3.7603 1.1013 -1
2.2897 2.2435 -1
2.3143 1.279 -1
3.5386 1.0849 -1
2.0321 2.0891 -1
-2.7237 3.8434 -1
0.93038 1.5339 -1
-0.51576 3.675 -1
2.1692 1.3902 -1
3.0882 2.3496 -1
0.47709 2.2856 -1
3.5522 0.43305 -1
6.2601 0.16305 -1
-0.7818 3.2004 -1
-3.5492 4.3132 -1
6.4112 0.37552 -1
5.945 0.52009 -1
-2.9737 3.9205 -1
-1.0487 4.0308 -1
2.7087 2.2723 -1
6.9422 0.2987 -1
3.3871 1.5648 -1
-0.17959 3.1195 -1
4.5854 1.509 -1
1.4807 1.7865 -1
3.0202 1.8545 -1
0.43809 2.7346 -1
-0.4877 2.9023 -1
3.1718 1.7571 -1
7.4648 0.16487 -1
3.5188 1.9715 -1
0.11998 2.3055 -1
-3.9754 4.3974 -1
6.425 0.10096 -1
1.2653 1.9913 -1
0.50639 2.5126 -1
-1.9908 3.0226 -1
2.5945 0.89947 -1
-3.8516 4.5469 -1
-1.127 3.3453 -1
1.1914 1.898 -1
4.6307 1.4715 -1
1.1503 2.8188 -1
4.4385 1.0307 -1
0.47004 2.603 -1
2.4437 1.5911 -1
2.5044 2.7222 -1
4.2104 1.0665 -1
3.4524 5.3391 1
5.4961 4.5956 1
3.3677 5.7413 1
7.4584 4.2353 1
5.7991 3.8204 1
5.3679 4.3165 1
5.0249 4.3488 1
3.993 5.6203 1
3.8134 5.6184 1
5.3334 4.3927 1
6.234 4.1923 1
4.9594 4.8412 1
0.20162 6.8311 1
3.6001 6.3684 1
7.517 4.1921 1
5.1714 5.1186 1
2.2792 6.6096 1
2.2639 6.0741 1
4.5493 5.5086 1
7.4607 3.6943 1
6.3708 4.101 1
1.0732 6.7836 1
4.8514 4.2932 1
8.4282 3.7607 1
4.8289 5.6787 1
2.7656 6.6416 1
9.6382 3.1322 1
3.3823 5.848 1
3.5083 4.2946 1
4.9775 4.944 1
7.1541 4.5525 1
5.3265 4.6113 1
8.5162 3.0998 1
5.7766 5.0142 1
5.321 4.9729 1
4.121 5.1186 1
6.0782 5.437 1
2.0367 6.4738 1
6.235 4.769 1
5.7771 4.3448 1
7.9614 3.24 1
6.4453 4.0661 1
11.922 3.4631 1
6.1838 4.2973 1
4.267 5.2905 1
3.3546 6.4592 1
3.9808 5.1357 1
6.0764 4.1851 1
3.5275 6.3767 1
4.8244 5.009 1
3.2872 5.4917 1
7.4131 3.2937 1
5.23 5.4316 1
3.2515 5.9001 1
7.0115 3.9292 1
10.676 2.8009 1
0.57432 7.2764 1
3.6092 5.0065 1
1.025 6.6749 1
4.0116 5.4651 1
5.0577 4.782 1
5.3097 5.8656 1
6.8309 4.9507 1
3.2744 5.9119 1
6.9589 4.2771 1
4.2714 4.9175 1
4.7722 5.3008 1
1.7061 6.8176 1
4.1307 6.2577 1
3.2411 5.8393 1
2.1422 5.5024 1
6.5228 3.7192 1
0.82951 6.8021 1
5.7184 5.4298 1
5.6814 5.6594 1
4.2226 5.0647 1
5.1408 4.895 1
5.9496 5.1891 1
-0.50609 6.9062 1
2.5012 6.5357 1
4.9346 5.2388 1
9.955 3.3945 1
3.2998 5.4848 1
2.6396 5.3706 1
5.9833 4.7951 1
6.7097 3.9809 1
3.3665 5.5539 1
7.5009 3.9402 1
6.3153 4.5489 1
6.3414 3.6925 1
2.9864 5.5083 1
5.5473 3.9782 1
9.4753 2.6895 1
0.26478 7.0154 1
4.1363 5.5252 1
12.321 2.0471 1
7.9455 2.9563 1
8.2202 4.2198 1
5.4412 4.7523 1
4.5568 4.9259 1
6.3263 4.7921 1
7.5633 3.6249 1
0.58843 7.6646 1
3.0838 5.6087 1
4.3274 6.4322 1
2.4115 6.5395 1
2.9446 5.0847 1
8.5336 4.0969 1
5.5657 4.1205 1
3.604 5.2531 1
3.8944 5.3221 1
3.296 5.6175 1
3.7833 5.3526 1
8.1573 3.6615 1
5.1812 5.2922 1
4.0707 6.0576 1
5.6665 5.5928 1
7.3803 4.4081 1
3.0379 6.6359 1
5.0305 4.6793 1
6.2977 5.2877 1
-2.1629 7.413 1
0.64819 6.864 1
3.5572 5.5644 1
6.8873 4.9467 1
2.7308 4.9638 1
4.6499 5.2399 1
4.7358 5.2546 1
6.1792 4.3325 1
0.64777 6.4099 1
6.806 3.6846 1
6.782 4.5287 1
3.4279 6.3528 1
1.3472 5.8095 1
4.7359 5.8988 1
4.6158 5.6123 1
2.8752 6.3062 1
2.3737 6.419 1
1.4087 6.3133 1
1.734 6.6157 1
4.6285 4.5776 1
3.8793 5.0602 1
8.7602 3.4135 1
-0.32894 7.0239 1
4.9276 5.3901 1
5.529 3.8698 1
6.167 4.712 1
2.4769 6.8148 1
0.30953 6.0783 1
6.2429 4.2198 1
8.5792 3.7605 1
3.442 5.7596 1
5.1254 5.7383 1
0.49319 6.8659 1
4.6729 5.3704 1
8.1846 3.6605 1
1.6371 6.9232 1
6.7922 4.6668 1
8.4103 3.0031 1
7.0491 4.3947 1
2.684 5.7054 1
5.3086 5.029 1
4.4218 5.6979 1
6.6511 3.6992 1
2.0436 6.3848 1
7.2705 4.0474 1
9.405 2.6471 1
7.5595 3.4937 1
6.5959 4.0381 1
7.6708 3.5481 1
4.9431 4.9121 1
6.8133 4.0073 1
2.7194 5.806 1
7.8334 3.7202 1
3.8193 5.3444 1
0.37914 7.3571 1
1.4707 6.124 1
1.8354 6.1979 1
6.5041 4.9576 1
4.2741 5.2856 1
8.9736 3.9276 1
7.0925 4.3401 1
6.3611 4.457 1
7.9629 3.1547 1
8.6836 3.8807 1
6.7471 4.5596 1
4.6211 5.4519 1
4.0587 4.8589 1
5.2936 4.2694 1
6.5707 4.3027 1
7.8484 3.0481 1
1.8254 6.4285 1
6.7852 4.7777 1
5.8818 4.7853 1
3.7992 5.2699 1
3.3383 5.6977 1
6.386 4.7321 1
6.7072 3.8234 1
4.8009 5.3155 1
2.2205 6.6342 1
7.1144 4.4241 1
4.2656 5.6346 1
5.8364 4.9903 1
5.5381 5.1699 1
2.337 6.0983 1
6.3856 3.6929 1
5.9435 4.7274 1
5.0561 5.1141 1
9.837 3.5575 1
0.07623 6.8499 1
5.4793 4.4864 1
4.0025 5.5508 1
4.122 5.068 1
2.7747 5.3032 1
4.4791 4.9878 1
3.1526 5.8502 1
3.7922 6.3944 1
2.5306 5.9021 1
4.2877 5.0857 1
3.7826 4.7613 1
3.7046 5.4106 1
3.7103 5.4726 1
4.1722 5.949 1
4.2002 5.4997 1
5.7728 4.2168 1
2.7742 5.3533 1
5.8553 4.5578 1
6.5441 4.2606 1
2.0685 5.7614 1
5.8239 4.704 1
9.711 2.9963 1
5.3579 4.9877 1
3.7183 5.5565 1
5.2391 5.7322 1
8.8004 3.6932 1
5.2502 5.07 1
5.417 4.7047 1
4.1646 5.6708 1
4.1946 5.6569 1
6.0842 4.5892 1
4.7708 4.9446 1
4.492 4.7404 1
5.0347 5.1081 1
4.5361 5.0663 1
5.48 4.5076 1
4.6817 5.1357 1
4.7089 5.0075 1
7.4441 3.6454 1
7.6222 4.6479 1
4.8007 5.3035 1
5.1351 5.2135 1
4.6921 5.3825 1
7.7607 3.5551 1
4.4268 4.7577 1
4.9009 5.8384 1
5.2268 5.1124 1
5.0979 5.2093 1
9.7598 2.9602 1
3.5885 5.4112 1
4.0326 5.2727 1
7.9136 4.1818 1
5.1087 5.5702 1
5.1772 4.7911 1
1.2409 5.8023 1
4.7968 5.8401 1
4.877 4.5045 1
7.0287 3.4994 1
2.0866 6.1175 1
6.0383 4.5791 1
7.475 4.3295 1
52.441 1.2496 1
48.734 2.7473 1
47.061 3.1187 1
49.93 2.6604 1
48.926 2.2923 1
51.445 1.9836 1
48.746 1.9055 1
47.559 2.7349 1
53.128 0.45482 1
47.088 3.3481 1
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"<font size=4> Implement the <b>least squares classifier</b>. Train the classifier using the dataset in file <b>“Data1.txt”</b>. Each row in the file represents one input vector. The first 2 columns correspond to the <b>input features (x1 and x2)</b> while the third column corresponds to the<b> target values (t = -1 or t = 1)</b>. Using the classifier trained on “Data1.txt”, classify the test data provided in the file “Test1.txt”. The 2 columns of the file<b> “Test1.txt”</b> correspond to the input features (x1 and x2).</font>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<font color=blue><b>1- Import Needed Packages</b></font> "
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pylab as plt\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Training Phase"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<font color=blue> <b>2- Load Training Data </b></font>"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'numpy.ndarray'>\n",
"(560, 3)\n",
"[[ 3.2596 1.4977 -1. ]\n",
" [ 3.9733 1.2995 -1. ]\n",
" [ 2.0559 1.5692 -1. ]\n",
" ..., \n",
" [ 47.559 2.7349 1. ]\n",
" [ 53.128 0.45482 1. ]\n",
" [ 47.088 3.3481 1. ]]\n"
]
}
],
"source": [
"Data=np.loadtxt('Data1.txt') \n",
"#Some Information about it\n",
"print(type(Data))\n",
"print(Data.shape)\n",
"print(Data)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(560, 2)\n"
]
}
],
"source": [
"X=Data[:,0:2] # To get Only your Input Feature\n",
"print(X.shape)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(560,)\n"
]
}
],
"source": [
"t=Data[:,2] # To get only your Labels\n",
"print(t.shape)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[ 3.2596 1.4977 1. ]\n",
" [ 3.9733 1.2995 1. ]\n",
" [ 2.0559 1.5692 1. ]\n",
" ..., \n",
" [ 47.559 2.7349 1. ]\n",
" [ 53.128 0.45482 1. ]\n",
" [ 47.088 3.3481 1. ]]\n"
]
}
],
"source": [
"Xtilda=np.hstack((X,np.ones((560,1))))# To Add Ones Column\n",
"print(Xtilda)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[ 3.2596 1.4977 1. ]\n",
" [ 3.9733 1.2995 1. ]\n",
" [ 2.0559 1.5692 1. ]\n",
" ..., \n",
" [ 47.559 2.7349 1. ]\n",
" [ 53.128 0.45482 1. ]\n",
" [ 47.088 3.3481 1. ]]\n"
]
}
],
"source": [
"#Another Way to add Ones Column\n",
"Ones_V=np.ones((len(X),1)) # create array of ones (nx1)\n",
"xtilda=np.append(X,Ones_V,axis=1)\n",
"print(xtilda)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<font color=blue><b> 3- Getting Weigth Vector </b></font>"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0.06097988 0.45821013 -1.86029182]\n"
]
}
],
"source": [
"W=np.linalg.inv(xtilda.T@xtilda)@xtilda.T@t # We get W\n",
"print(W)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"-1.86029181553\n"
]
}
],
"source": [
"W_bias=W[2]\n",
"print(W_bias)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"W1=W[0]\n",
"W2=W[1]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<font color=blue><b> 4- Decision Boundary </b></font>"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"-4.5622 53.128\n"
]
}
],
"source": [
"X1_max=np.max(Data[:,0])\n",
"X1_min=np.min(Data[:,0])\n",
"X1_Points=np.array([X1_min,X1_max])\n",
"print(X1_min,X1_max)"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 4.6670601 -3.01051249]\n"
]
}
],
"source": [
"X2_Points=(-W1/W2)*X1_Points-(W_bias/W2)\n",
"print(X2_Points)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<font color=blue><b> 5- Plotting Decision Boundary and Data Points </b><font>"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1bd0bc27160>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"color_cond=['blue' if i==1 else 'green' for i in t ]\n",
"plt.scatter(Data[:,0],Data[:,1],color=color_cond)\n",
"plt.plot(X1_Points,X2_Points,color='r')\n",
"plt.xlabel('X1')\n",
"plt.ylabel('X2')\n",
"plt.title('Data (X1,X2)')\n",
"plt.show()\n",
"plt.savefig('Least Squrae.jpeg')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Testing Phase"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[ 5.9114 0.31865]\n",
" [ 1.4706 2.6502 ]\n",
" [ -0.93066 3.5615 ]\n",
" [ -2.4272 3.8171 ]\n",
" [ 2.9993 1.4877 ]\n",
" [ 7.3897 0.12388]\n",
" [ 0.97881 1.9301 ]\n",
" [ 2.2363 2.5409 ]\n",
" [ 3.3272 1.5701 ]\n",
" [ 2.0631 0.38394]\n",
" [ 2.0709 2.0016 ]\n",
" [ 2.082 2.5281 ]\n",
" [ 2.0026 2.406 ]\n",
" [ 0.72158 2.462 ]\n",
" [ 3.4445 1.594 ]\n",
" [ 0.50737 2.8901 ]\n",
" [ 3.3417 1.1764 ]\n",
" [ 5.5754 1.1987 ]\n",
" [ 4.6996 2.1413 ]\n",
" [ 2.4212 1.3824 ]\n",
" [ 49.656 2.5533 ]\n",
" [ 49.637 1.3862 ]\n",
" [ 50.026 2.5191 ]\n",
" [ 48.686 2.5927 ]\n",
" [ 52.521 0.93793]\n",
" [ 53.887 -0.15672]\n",
" [ 54.098 0.73924]\n",
" [ 48.398 2.4613 ]\n",
" [ 49.098 2.0515 ]\n",
" [ 48.994 2.1361 ]\n",
" [ 47.502 3.2169 ]\n",
" [ 46.779 3.1687 ]\n",
" [ 47.403 3.2001 ]\n",
" [ 46.373 3.6654 ]\n",
" [ 49.69 2.1267 ]\n",
" [ 48.226 2.1527 ]\n",
" [ 47.733 2.6811 ]\n",
" [ 51.132 1.4697 ]\n",
" [ 52.126 1.7297 ]\n",
" [ 49.462 1.8757 ]]\n"
]
}
],
"source": [
"TestData=np.loadtxt('Test1.txt')\n",
"print(TestData)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[ 5.9114 0.31865 1. ]\n",
" [ 1.4706 2.6502 1. ]\n",
" [ -0.93066 3.5615 1. ]\n",
" [ -2.4272 3.8171 1. ]\n",
" [ 2.9993 1.4877 1. ]\n",
" [ 7.3897 0.12388 1. ]\n",
" [ 0.97881 1.9301 1. ]\n",
" [ 2.2363 2.5409 1. ]\n",
" [ 3.3272 1.5701 1. ]\n",
" [ 2.0631 0.38394 1. ]\n",
" [ 2.0709 2.0016 1. ]\n",
" [ 2.082 2.5281 1. ]\n",
" [ 2.0026 2.406 1. ]\n",
" [ 0.72158 2.462 1. ]\n",
" [ 3.4445 1.594 1. ]\n",
" [ 0.50737 2.8901 1. ]\n",
" [ 3.3417 1.1764 1. ]\n",
" [ 5.5754 1.1987 1. ]\n",
" [ 4.6996 2.1413 1. ]\n",
" [ 2.4212 1.3824 1. ]\n",
" [ 49.656 2.5533 1. ]\n",
" [ 49.637 1.3862 1. ]\n",
" [ 50.026 2.5191 1. ]\n",
" [ 48.686 2.5927 1. ]\n",
" [ 52.521 0.93793 1. ]\n",
" [ 53.887 -0.15672 1. ]\n",
" [ 54.098 0.73924 1. ]\n",
" [ 48.398 2.4613 1. ]\n",
" [ 49.098 2.0515 1. ]\n",
" [ 48.994 2.1361 1. ]\n",
" [ 47.502 3.2169 1. ]\n",
" [ 46.779 3.1687 1. ]\n",
" [ 47.403 3.2001 1. ]\n",
" [ 46.373 3.6654 1. ]\n",
" [ 49.69 2.1267 1. ]\n",
" [ 48.226 2.1527 1. ]\n",
" [ 47.733 2.6811 1. ]\n",
" [ 51.132 1.4697 1. ]\n",
" [ 52.126 1.7297 1. ]\n",
" [ 49.462 1.8757 1. ]]\n",
"40\n"
]
}
],
"source": [
"Ones_V=np.ones((len(TestData),1)) # create array of ones (nx1)\n",
"xtilda_test=np.append(TestData,Ones_V,axis=1)\n",
"print(xtilda_test)\n",
"print(len(TestData))"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"W=W.reshape(3,1)\n",
"y_pred=np.dot(W.T,xtilda_test.T)\n",
"#print(W.reshape(3,1))\n",
"#print(y_pred)\n",
"t_test=[]\n",
"for i in range(y_pred.shape[1]):\n",
" if y_pred[:,i] >0:\n",
" t_test.append(1)\n",
" else:\n",
" t_test.append(-1)"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\nAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1bd0bf86eb8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"color_cond=['blue' if i==1 else 'green' for i in t_test ]\n",
"plt.scatter(TestData[:,0],TestData[:,1],color=color_cond)\n",
"plt.plot(X1_Points,X2_Points,color='r')\n",
"plt.xlabel('X1_Test')\n",
"plt.ylabel('X2_Test')\n",
"plt.title('Test Data (X1,X2)')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"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.6.8"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
5.9114 0.31865
1.4706 2.6502
-0.93066 3.5615
-2.4272 3.8171
2.9993 1.4877
7.3897 0.12388
0.97881 1.9301
2.2363 2.5409
3.3272 1.5701
2.0631 0.38394
2.0709 2.0016
2.082 2.5281
2.0026 2.406
0.72158 2.462
3.4445 1.594
0.50737 2.8901
3.3417 1.1764
5.5754 1.1987
4.6996 2.1413
2.4212 1.3824
49.656 2.5533
49.637 1.3862
50.026 2.5191
48.686 2.5927
52.521 0.93793
53.887 -0.15672
54.098 0.73924
48.398 2.4613
49.098 2.0515
48.994 2.1361
47.502 3.2169
46.779 3.1687
47.403 3.2001
46.373 3.6654
49.69 2.1267
48.226 2.1527
47.733 2.6811
51.132 1.4697
52.126 1.7297
49.462 1.8757
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
numpy
pandas
matplotlib
5.9114 0.31865
1.4706 2.6502
-0.93066 3.5615
-2.4272 3.8171
2.9993 1.4877
7.3897 0.12388
0.97881 1.9301
2.2363 2.5409
3.3272 1.5701
2.0631 0.38394
2.0709 2.0016
2.082 2.5281
2.0026 2.406
0.72158 2.462
3.4445 1.594
0.50737 2.8901
3.3417 1.1764
5.5754 1.1987
4.6996 2.1413
2.4212 1.3824
49.656 2.5533
49.637 1.3862
50.026 2.5191
48.686 2.5927
52.521 0.93793
53.887 -0.15672
54.098 0.73924
48.398 2.4613
49.098 2.0515
48.994 2.1361
47.502 3.2169
46.779 3.1687
47.403 3.2001
46.373 3.6654
49.69 2.1267
48.226 2.1527
47.733 2.6811
51.132 1.4697
52.126 1.7297
49.462 1.8757
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment