├── 2dms.data ├── README.md ├── horse.data ├── horse.test ├── linear_regression.py ├── logistic_regression.py ├── scaler.py └── test.py /2dms.data: -------------------------------------------------------------------------------- 1 | -0.017612 14.053064 0 2 | -1.395634 4.662541 1 3 | -0.752157 6.538620 0 4 | -1.322371 7.152853 0 5 | 0.423363 11.054677 0 6 | 0.406704 7.067335 1 7 | 0.667394 12.741452 0 8 | -2.460150 6.866805 1 9 | 0.569411 9.548755 0 10 | -0.026632 10.427743 0 11 | 0.850433 6.920334 1 12 | 1.347183 13.175500 0 13 | 1.176813 3.167020 1 14 | -1.781871 9.097953 0 15 | -0.566606 5.749003 1 16 | 0.931635 1.589505 1 17 | -0.024205 6.151823 1 18 | -0.036453 2.690988 1 19 | -0.196949 0.444165 1 20 | 1.014459 5.754399 1 21 | 1.985298 3.230619 1 22 | -1.693453 -0.557540 1 23 | -0.576525 11.778922 0 24 | -0.346811 -1.678730 1 25 | -2.124484 2.672471 1 26 | 1.217916 9.597015 0 27 | -0.733928 9.098687 0 28 | -3.642001 -1.618087 1 29 | 0.315985 3.523953 1 30 | 1.416614 9.619232 0 31 | -0.386323 3.989286 1 32 | 0.556921 8.294984 1 33 | 1.224863 11.587360 0 34 | -1.347803 -2.406051 1 35 | 1.196604 4.951851 1 36 | 0.275221 9.543647 0 37 | 0.470575 9.332488 0 38 | -1.889567 9.542662 0 39 | -1.527893 12.150579 0 40 | -1.185247 11.309318 0 41 | -0.445678 3.297303 1 42 | 1.042222 6.105155 1 43 | -0.618787 10.320986 0 44 | 1.152083 0.548467 1 45 | 0.828534 2.676045 1 46 | -1.237728 10.549033 0 47 | -0.683565 -2.166125 1 48 | 0.229456 5.921938 1 49 | -0.959885 11.555336 0 50 | 0.492911 10.993324 0 51 | 0.184992 8.721488 0 52 | -0.355715 10.325976 0 53 | -0.397822 8.058397 0 54 | 0.824839 13.730343 0 55 | 1.507278 5.027866 1 56 | 0.099671 6.835839 1 57 | -0.344008 10.717485 0 58 | 1.785928 7.718645 1 59 | -0.918801 11.560217 0 60 | -0.364009 4.747300 1 61 | -0.841722 4.119083 1 62 | 0.490426 1.960539 1 63 | -0.007194 9.075792 0 64 | 0.356107 12.447863 0 65 | 0.342578 12.281162 0 66 | -0.810823 -1.466018 1 67 | 2.530777 6.476801 1 68 | 1.296683 11.607559 0 69 | 0.475487 12.040035 0 70 | -0.783277 11.009725 0 71 | 0.074798 11.023650 0 72 | -1.337472 0.468339 1 73 | -0.102781 13.763651 0 74 | -0.147324 2.874846 1 75 | 0.518389 9.887035 0 76 | 1.015399 7.571882 0 77 | -1.658086 -0.027255 1 78 | 1.319944 2.171228 1 79 | 2.056216 5.019981 1 80 | -0.851633 4.375691 1 81 | -1.510047 6.061992 0 82 | -1.076637 -3.181888 1 83 | 1.821096 10.283990 0 84 | 3.010150 8.401766 1 85 | -1.099458 1.688274 1 86 | -0.834872 -1.733869 1 87 | -0.846637 3.849075 1 88 | 1.400102 12.628781 0 89 | 1.752842 5.468166 1 90 | 0.078557 0.059736 1 91 | 0.089392 -0.715300 1 92 | 1.825662 12.693808 0 93 | 0.197445 9.744638 0 94 | 0.126117 0.922311 1 95 | -0.679797 1.220530 1 96 | 0.677983 2.556666 1 97 | 0.761349 10.693862 0 98 | -2.168791 0.143632 1 99 | 1.388610 9.341997 0 100 | 0.317029 14.739025 0 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | regression 2 | ========== 3 | 4 | 机器学习之回归 5 | -------------------------------------------------------------------------------- /horse.data: -------------------------------------------------------------------------------- 1 | 2 1 530101 38.50 66 28 3 3 ? 2 5 4 4 ? ? ? 3 5 45.00 8.40 ? ? 2 2 11300 00000 00000 2 2 | 1 1 534817 39.2 88 20 ? ? 4 1 3 4 2 ? ? ? 4 2 50 85 2 2 3 2 02208 00000 00000 2 3 | 2 1 530334 38.30 40 24 1 1 3 1 3 3 1 ? ? ? 1 1 33.00 6.70 ? ? 1 2 00000 00000 00000 1 4 | 1 9 5290409 39.10 164 84 4 1 6 2 2 4 4 1 2 5.00 3 ? 48.00 7.20 3 5.30 2 1 02208 00000 00000 1 5 | 2 1 530255 37.30 104 35 ? ? 6 2 ? ? ? ? ? ? ? ? 74.00 7.40 ? ? 2 2 04300 00000 00000 2 6 | 2 1 528355 ? ? ? 2 1 3 1 2 3 2 2 1 ? 3 3 ? ? ? ? 1 2 00000 00000 00000 2 7 | 1 1 526802 37.90 48 16 1 1 1 1 3 3 3 1 1 ? 3 5 37.00 7.00 ? ? 1 1 03124 00000 00000 2 8 | 1 1 529607 ? 60 ? 3 ? ? 1 ? 4 2 2 1 ? 3 4 44.00 8.30 ? ? 2 1 02208 00000 00000 2 9 | 2 1 530051 ? 80 36 3 4 3 1 4 4 4 2 1 ? 3 5 38.00 6.20 ? ? 3 1 03205 00000 00000 2 10 | 2 9 5299629 38.30 90 ? 1 ? 1 1 5 3 1 2 1 ? 3 ? 40.00 6.20 1 2.20 1 2 00000 00000 00000 1 11 | 1 1 528548 38.10 66 12 3 3 5 1 3 3 1 2 1 3.00 2 5 44.00 6.00 2 3.60 1 1 02124 00000 00000 1 12 | 2 1 527927 39.10 72 52 2 ? 2 1 2 1 2 1 1 ? 4 4 50.00 7.80 ? ? 1 1 02111 00000 00000 2 13 | 1 1 528031 37.20 42 12 2 1 1 1 3 3 3 3 1 ? 4 5 ? 7.00 ? ? 1 2 04124 00000 00000 2 14 | 2 9 5291329 38.00 92 28 1 1 2 1 1 3 2 3 ? 7.20 1 1 37.00 6.10 1 ? 2 2 00000 00000 00000 1 15 | 1 1 534917 38.2 76 28 3 1 1 1 3 4 1 2 2 ? 4 4 46 81 1 2 1 1 02112 00000 00000 2 16 | 1 1 530233 37.60 96 48 3 1 4 1 5 3 3 2 3 4.50 4 ? 45.00 6.80 ? ? 2 1 03207 00000 00000 2 17 | 1 9 5301219 ? 128 36 3 3 4 2 4 4 3 3 ? ? 4 5 53.00 7.80 3 4.70 2 2 01400 00000 00000 1 18 | 2 1 526639 37.50 48 24 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1 2 00000 00000 00000 2 19 | 1 1 5290481 37.60 64 21 1 1 2 1 2 3 1 1 1 ? 2 5 40.00 7.00 1 ? 1 1 04205 00000 00000 1 20 | 2 1 532110 39.4 110 35 4 3 6 ? ? 3 3 ? ? ? ? ? 55 8.7 ? ? 1 2 00000 00000 00000 2 21 | 1 1 530157 39.90 72 60 1 1 5 2 5 4 4 3 1 ? 4 4 46.00 6.10 2 ? 1 1 02111 00000 00000 2 22 | 2 1 529340 38.40 48 16 1 ? 1 1 1 3 1 2 3 5.50 4 3 49.00 6.80 ? ? 1 2 00000 00000 00000 2 23 | 1 1 521681 38.60 42 34 2 1 4 ? 2 3 1 ? ? ? 1 ? 48.00 7.20 ? ? 1 1 03111 00000 00000 2 24 | 1 9 534998 38.3 130 60 ? 3 ? 1 2 4 ? ? ? ? ? ? 50 70 ? ? 1 1 03111 00000 00000 2 25 | 1 1 533692 38.1 60 12 3 3 3 1 ? 4 3 3 2 2 ? ? 51 65 ? ? 1 1 03111 00000 00000 2 26 | 2 1 529518 37.80 60 42 ? ? ? 1 ? ? ? ? ? ? ? ? ? ? ? ? 1 2 00000 00000 00000 2 27 | 1 1 530526 38.30 72 30 4 3 3 2 3 3 3 2 1 ? 3 5 43.00 7.00 2 3.90 1 1 03111 00000 00000 1 28 | 1 1 528653 37.80 48 12 3 1 1 1 ? 3 2 1 1 ? 1 3 37.00 5.50 2 1.30 1 2 04122 00000 00000 1 29 | 1 1 5279442 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2 2 04300 00000 00000 2 30 | 2 1 535415 37.7 48 ? 2 1 1 1 1 1 1 1 1 ? ? ? 45 76 ? ? 1 2 00000 00000 00000 2 31 | 2 1 529475 37.70 96 30 3 3 4 2 5 4 4 3 2 4.00 4 5 66.00 7.50 ? ? 2 1 04205 00000 00000 2 32 | 2 1 530242 37.20 108 12 3 3 4 2 2 4 2 ? 3 6.00 3 3 52.00 8.20 3 7.40 3 1 02207 00000 00000 1 33 | 1 1 529427 37.20 60 ? 2 1 1 1 3 3 3 2 1 ? 4 5 43.00 6.60 ? ? 1 1 02209 00000 00000 2 34 | 1 1 529663 38.20 64 28 1 1 1 1 3 1 ? ? ? ? 4 4 49.00 8.60 2 6.60 1 1 02208 00000 00000 1 35 | 1 1 529796 ? 100 30 3 3 4 2 5 4 4 3 3 ? 4 4 52.00 6.60 ? ? 1 1 01124 00000 00000 2 36 | 2 1 528812 ? 104 24 4 3 3 2 4 4 3 ? 3 ? ? 2 73.00 8.40 ? ? 3 1 07111 00000 00000 2 37 | 2 1 529493 38.30 112 16 ? 3 5 2 ? ? 1 1 2 ? ? 5 51.00 6.00 2 1.00 3 2 05205 00000 00000 1 38 | 1 1 533847 37.8 72 ? ? 3 ? 1 5 3 1 ? 1 ? 1 1 56 80 1 2 1 1 03111 00000 00000 2 39 | 2 1 528996 38.60 52 ? 1 1 1 1 3 3 2 1 1 ? 1 3 32.00 6.60 1 5.00 1 2 00000 00000 00000 1 40 | 1 9 5277409 39.20 146 96 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2 1 02113 00000 00000 2 41 | 1 1 529498 ? 88 ? 3 3 6 2 5 3 3 1 3 ? 4 5 63.00 6.50 3 ? 2 1 04205 00000 00000 2 42 | 2 9 5288249 39.00 150 72 ? ? ? ? ? ? ? ? ? ? ? ? 47.00 8.50 ? 0.10 1 1 09400 00000 00000 1 43 | 2 1 530301 38.00 60 12 3 1 3 1 3 3 1 1 1 ? 2 2 47.00 7.00 ? ? 1 2 03111 00000 00000 2 44 | 1 1 534069 ? 120 ? 3 4 4 1 4 4 4 1 1 ? ? 5 52 67 2 2 3 1 03205 00000 00000 2 45 | 1 1 535407 35.4 140 24 3 3 4 2 4 4 ? 2 1 ? ? 5 57 69 3 2 3 1 03205 00000 00000 2 46 | 2 1 529827 ? 120 ? 4 3 4 2 5 4 4 1 1 ? 4 5 60.00 6.50 3 ? 2 1 03205 00000 00000 2 47 | 1 1 529888 37.90 60 15 3 ? 4 2 5 4 4 2 2 ? 4 5 65.00 7.50 ? ? 1 1 02305 00000 00000 1 48 | 2 1 529821 37.50 48 16 1 1 1 1 1 1 1 1 1 ? 1 ? 37.00 6.50 ? ? 1 2 00000 00000 00000 2 49 | 1 1 528890 38.90 80 44 3 3 3 2 2 3 3 2 2 7.00 3 1 54.00 6.50 3 ? 2 1 07111 00000 00000 2 50 | 2 1 529642 37.20 84 48 3 3 5 2 4 1 2 1 2 ? 2 1 73.00 5.50 2 4.10 2 2 04300 00000 00000 1 51 | 2 1 529766 38.60 46 ? 1 1 2 1 1 3 2 1 1 ? ? 2 49.00 9.10 1 1.60 1 2 03111 00000 00000 1 52 | 1 1 527706 37.40 84 36 1 ? 3 2 3 3 2 ? ? ? 4 5 ? ? 3 ? 2 1 07209 00000 00000 1 53 | 2 1 529483 ? ? ? 1 1 3 1 1 3 1 ? ? ? 2 2 43.00 7.70 ? ? 1 2 03111 00000 00000 2 54 | 2 1 530544 38.60 40 20 ? ? ? 1 ? ? ? ? ? ? ? ? 41.00 6.40 ? ? 1 2 03111 00000 00000 1 55 | 2 1 529461 40.30 114 36 3 3 1 2 2 3 3 2 1 7.00 1 5 57.00 8.10 3 4.50 3 1 07400 00000 00000 1 56 | 1 9 5282839 38.60 160 20 3 ? 5 1 3 3 4 3 ? ? 4 ? 38.00 ? 2 ? 2 1 07111 00000 00000 1 57 | 1 1 528872 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 24.00 6.70 ? ? 1 1 03112 00000 00000 2 58 | 1 1 529640 ? 64 36 2 ? 2 1 5 3 3 2 2 ? ? ? 42.00 7.70 ? ? 2 1 03209 00000 00000 2 59 | 1 1 528298 ? ? 20 4 3 3 ? 5 4 3 2 ? ? 4 4 53.00 5.90 3 ? 2 1 03205 00000 00000 1 60 | 2 1 528904 ? 96 ? 3 3 3 2 5 4 4 1 2 ? 4 5 60.00 ? ? ? 2 1 04205 00000 00000 2 61 | 2 1 530438 37.80 48 32 1 1 3 1 2 1 ? 1 1 ? 4 5 37.00 6.70 ? ? 1 2 02124 00000 00000 2 62 | 2 1 527957 38.50 60 ? 2 2 1 1 1 2 2 2 1 ? 1 1 44.00 7.70 ? ? 1 2 00000 00000 00000 2 63 | 1 1 528630 37.80 88 22 2 1 2 1 3 ? ? 2 ? ? 4 ? 64.00 8.00 1 6.00 2 1 03205 00000 00000 1 64 | 2 1 534293 38.2 130 16 4 3 4 2 2 4 4 1 1 ? ? ? 65 82 2 2 3 2 02209 01400 00000 2 65 | 1 1 529667 39.00 64 36 3 1 4 2 3 3 2 1 2 7.00 4 5 44.00 7.50 3 5.00 1 1 02113 00000 00000 1 66 | 1 1 534885 ? 60 36 3 1 3 1 3 3 2 1 1 ? 3 4 26 72 2 1 1 1 02208 00000 00000 2 67 | 2 1 534784 37.9 72 ? 1 1 5 2 3 3 1 1 3 2 3 4 58 74 1 2 1 1 02322 00000 00000 2 68 | 2 1 528931 38.40 54 24 1 1 1 1 1 3 1 2 1 ? 3 2 49.00 7.20 1 ? 1 2 03111 00000 00000 1 69 | 2 1 529777 ? 52 16 1 ? 3 1 ? ? ? 2 3 5.50 ? ? 55.00 7.20 ? ? 1 2 02124 00000 00000 2 70 | 2 1 530276 38.00 48 12 1 1 1 1 1 3 ? 1 1 ? 3 2 42.00 6.30 2 4.10 1 2 03111 00000 00000 1 71 | 2 1 528214 37.00 60 20 3 ? ? 1 3 ? 3 2 2 4.50 4 4 43.00 7.60 ? ? 3 1 02209 00000 00000 1 72 | 1 1 529424 37.80 48 28 1 1 1 1 1 2 1 2 ? ? 1 1 46.00 5.90 2 7.00 1 2 00000 00000 00000 1 73 | 1 1 5299253 37.70 56 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2 1 02113 00000 00000 2 74 | 1 1 528469 38.10 52 24 1 1 5 1 4 3 1 2 3 7.00 1 ? 54.00 7.50 2 2.60 2 1 02112 00000 00000 1 75 | 1 9 5292929 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 37.00 4.90 ? ? 2 1 11124 00000 00000 2 76 | 1 9 534092 39.7 100 ? 3 3 5 2 2 3 ? ? ? ? ? ? 48 57 2 2 3 1 01400 00000 00000 2 77 | 1 1 534615 37.6 38 20 3 3 1 1 3 3 2 ? ? ? 3 ? 37 68 ? ? 1 1 03205 00000 00000 2 78 | 2 1 534753 38.7 52 20 2 ? 1 1 1 1 1 1 1 ? 1 1 33 77 ? ? 1 2 00000 00000 00000 2 79 | 1 1 530693 ? ? ? 3 3 3 3 5 3 3 3 2 ? 4 5 46.00 5.90 ? ? 2 1 03025 00000 00000 2 80 | 1 1 527463 37.50 96 18 1 3 6 2 3 4 2 2 3 5.00 ? 4 69.00 8.90 3 ? 1 1 02208 00000 00000 1 81 | 1 1 527518 36.40 98 35 3 3 4 1 4 3 2 ? ? ? 4 4 47.00 6.40 3 3.60 2 1 02205 00000 00000 1 82 | 1 1 534756 37.3 40 ? ? 3 1 1 2 3 2 3 1 ? 3 5 36 ? 3 2 1 1 03111 00000 00000 2 83 | 1 9 5290759 38.10 100 80 3 1 2 1 3 4 1 ? ? ? 1 ? 36.00 5.70 ? ? 1 1 03111 00000 00000 2 84 | 1 1 5279822 38.00 ? 24 3 3 6 2 5 ? 4 1 1 ? ? ? 68.00 7.80 ? ? 2 1 03205 00000 00000 2 85 | 1 1 529849 37.80 60 80 1 3 2 2 2 3 3 ? 2 5.50 4 ? 40.00 4.50 2 ? 1 1 05206 00000 00000 1 86 | 2 1 529304 38.00 54 30 2 3 3 3 3 1 2 2 2 ? ? 4 45.00 6.20 ? ? 1 2 00400 00000 00000 2 87 | 1 1 529388 ? 88 40 3 3 4 2 5 4 3 3 ? ? 4 5 50.00 7.70 3 1.40 2 1 04205 00000 00000 1 88 | 2 1 528006 ? 40 16 ? ? ? 1 ? ? ? ? ? ? ? ? 50.00 7.00 2 3.90 3 1 02208 00000 00000 1 89 | 2 1 529703 39.00 64 40 1 1 5 1 3 3 2 2 1 ? 3 3 42.00 7.50 2 2.30 1 2 05000 00000 00000 1 90 | 2 1 535381 38.3 42 10 1 1 1 1 1 1 1 ? ? ? ? ? 38 61 ? ? 1 2 00000 00000 00000 2 91 | 2 1 534197 38.0 52 16 ? ? ? ? 2 ? ? ? 3 1 1 1 53 86 ? ? 1 1 02322 00000 00000 2 92 | 2 1 529461 40.30 114 36 3 3 1 2 2 3 3 2 1 7.00 1 5 57.00 8.10 3 4.50 2 1 03205 00000 00000 1 93 | 2 1 530251 38.80 50 20 3 1 1 1 1 1 1 2 1 ? 3 1 42.00 6.20 ? ? 1 2 00000 00000 00000 2 94 | 2 1 530310 ? ? ? 3 3 1 1 5 3 3 1 1 ? 4 5 38.00 6.50 ? ? 2 1 03205 00000 00000 2 95 | 2 1 528729 37.50 48 30 4 1 3 1 ? 2 1 1 1 ? 1 1 48.00 8.60 ? ? 1 2 00000 00000 00000 2 96 | 1 1 535158 37.3 48 20 ? 1 2 1 3 3 3 2 1 ? 3 5 41 69 ? ? 1 1 03205 00000 00000 2 97 | 2 1 530319 ? 84 36 ? ? 3 1 ? 3 1 2 1 ? 3 2 44.00 8.50 ? ? 1 1 03111 00000 00000 2 98 | 1 1 534145 38.1 88 32 3 3 4 1 2 3 3 ? 3 1 4 5 55 60 ? ? 3 2 03205 00000 00000 2 99 | 2 1 534135 37.7 44 40 2 1 3 1 1 3 2 1 1 ? 1 5 41 60 ? ? 1 2 00000 00000 00000 2 100 | 2 1 530002 39.60 108 51 3 3 6 2 2 4 3 1 2 ? 3 5 59.00 8.00 2 2.60 1 2 04300 00000 00000 1 101 | 1 1 535364 38.2 40 16 3 3 1 1 1 3 ? ? ? ? 1 1 34 66 ? ? 1 2 00000 00000 00000 2 102 | 1 1 534899 ? 60 20 4 3 4 2 5 4 ? ? 1 ? 4 5 ? ? ? ? 3 1 03205 00000 00000 2 103 | 2 1 534938 38.3 40 16 3 ? 1 1 2 ? ? ? ? ? ? ? 37 57 ? ? 1 2 00000 00000 00000 2 104 | 1 9 5292489 38.00 140 68 1 1 1 1 3 3 2 ? ? ? 2 1 39.00 5.30 ? ? 1 1 07111 00000 00000 2 105 | 1 1 527563 37.80 52 24 1 3 3 1 4 4 1 2 3 5.70 2 5 48.00 6.60 1 3.70 2 1 05400 00000 00000 2 106 | 1 1 530381 ? 70 36 1 ? 3 2 2 3 2 2 ? ? 4 5 36.00 7.30 ? ? 1 1 31110 00000 00000 2 107 | 1 1 528668 38.30 52 96 ? 3 3 1 ? ? ? 1 1 ? 1 ? 43.00 6.10 ? ? 1 1 03209 00000 00000 1 108 | 2 1 529764 37.30 50 32 1 1 3 1 1 3 2 ? ? ? 1 ? 44.00 7.00 ? ? 1 2 00000 00000 00000 2 109 | 1 1 533696 38.7 60 32 4 3 2 2 4 4 4 ? ? ? 4 5 53 64 3 2 3 1 03205 00000 00000 2 110 | 1 9 5297379 38.40 84 40 3 3 2 1 3 3 3 1 1 ? ? ? 36.00 6.60 2 2.80 2 1 02205 00000 00000 1 111 | 1 1 527544 ? 70 16 3 4 5 2 2 3 2 2 1 ? 4 5 60.00 7.50 ? ? 2 1 02112 00000 00000 2 112 | 1 1 533736 38.3 40 16 3 ? ? 1 1 3 2 ? ? ? ? ? 38 58 1 2 1 1 03111 07111 00000 2 113 | 1 1 534963 ? 40 ? 2 1 1 1 1 3 1 1 1 ? ? 5 39 56 ? ? 1 1 03111 00000 00000 2 114 | 1 1 527933 36.80 60 28 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 10.00 2 1 03205 00000 00000 1 115 | 1 1 532349 38.4 44 24 3 ? 4 ? 5 4 3 2 1 ? 4 5 50 77 ? ? 1 1 03205 00000 00000 2 116 | 2 1 533723 ? ? 40 3 1 1 1 3 3 2 ? ? ? ? ? 45 70 ? ? 1 2 00000 00000 00000 2 117 | 1 1 535208 38.0 44 12 1 1 1 1 3 3 3 2 1 ? 4 5 42 65 ? ? 1 1 03205 03111 00000 2 118 | 2 1 5290482 39.50 ? ? 3 3 4 2 3 4 3 ? 3 5.50 4 5 ? 6.70 1 ? 3 1 04205 00000 00000 2 119 | 1 1 533983 36.5 78 30 1 ? 1 1 5 3 1 ? 1 ? ? ? 34 75 2 1 1 1 03112 06112 00000 2 120 | 2 1 535166 38.1 56 20 2 1 2 1 1 3 1 1 1 ? ? ? 46 70 ? ? 1 2 00000 00000 00000 2 121 | 1 1 528682 39.40 54 66 1 1 2 1 2 3 2 1 1 ? 3 4 39.00 6.00 2 ? 1 1 02206 00000 00000 1 122 | 1 1 534556 38.3 80 40 ? ? 6 2 4 3 1 ? 2 ? 1 4 67 10.2 2 1 3 1 02208 00000 00000 2 123 | 2 1 534579 38.7 40 28 2 1 1 1 3 1 1 ? ? ? 1 ? 39 62 1 1 1 2 00000 00000 00000 2 124 | 1 1 530360 38.20 64 24 1 1 3 1 4 4 3 2 1 ? 4 4 45.00 7.50 1 2.00 2 1 03205 00000 00000 1 125 | 2 1 529840 37.60 48 20 3 1 4 1 1 1 3 2 1 ? 1 1 37.00 5.50 ? ? 3 1 02205 00000 00000 2 126 | 1 1 528461 38.00 42 68 4 1 1 1 3 3 2 2 2 ? 4 4 41.00 7.60 ? ? 1 1 02205 00000 00000 2 127 | 1 1 530384 38.70 ? ? 3 1 3 1 5 4 2 ? ? ? ? ? 33.00 6.50 2 ? 1 1 31110 00000 00000 2 128 | 1 1 5262541 37.40 50 32 3 3 ? 1 4 4 1 2 1 ? 1 ? 45.00 7.90 2 1.00 1 1 02208 00000 00000 1 129 | 1 1 535330 37.4 84 20 ? ? 3 1 2 3 3 ? ? ? ? ? 31 61 ? 1 3 2 02208 00000 00000 2 130 | 1 1 527698 38.40 49 ? ? ? 1 1 ? ? 1 2 1 ? ? ? 44.00 7.60 ? ? 1 1 02206 00000 00000 2 131 | 1 1 528964 37.80 30 12 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2 1 02113 00000 00000 2 132 | 2 1 530670 37.60 88 36 3 1 1 1 3 3 2 1 3 1.50 ? ? 44.00 6.00 ? ? 2 1 01400 00000 00000 2 133 | ? 1 534572 38.0 48 20 3 1 3 1 4 3 1 2 1 ? 3 5 43 73 2 1 ? 1 03111 00000 00000 2 134 | 2 1 530294 37.90 40 24 1 1 1 1 2 3 1 ? ? ? ? 3 40.00 5.70 ? ? 1 1 00400 00000 00000 2 135 | 1 1 527524 ? 100 ? 3 ? 4 2 5 4 ? 2 ? ? 2 ? 59.00 6.30 ? ? 2 1 04205 00000 00000 2 136 | 1 9 5287179 38.10 136 48 3 3 3 1 5 1 3 2 2 4.40 2 ? 33.00 4.90 2 2.90 2 1 02205 00000 00000 1 137 | 1 1 530693 ? ? ? 3 3 3 2 5 3 3 3 2 ? 4 5 46.00 5.90 ? ? 2 1 03025 00000 00000 2 138 | 1 1 534324 38 48 ? 1 1 1 1 1 2 4 2 2 ? 4 5 ? ? ? ? 1 1 03111 00000 00000 2 139 | 2 1 532349 38 56 ? 1 2 3 1 1 1 1 1 1 ? 1 1 42 71 ? ? 1 2 00000 00000 00000 2 140 | 2 1 534491 38 60 32 1 1 ? 1 3 3 ? 1 1 ? ? ? 50 7.0 1 1 1 2 00000 00000 00000 2 141 | 1 1 529960 38.10 44 9 3 1 1 1 2 2 1 1 1 ? 4 5 31.00 7.30 ? ? 1 2 05124 00000 00000 2 142 | 2 1 522979 36.00 42 30 ? ? 5 1 ? ? ? ? ? ? ? ? 64.00 6.80 ? ? 2 2 01400 00000 00000 2 143 | 1 1 530402 ? 120 ? 4 3 6 2 5 4 4 ? ? ? 4 5 57.00 4.50 3 3.90 2 1 03205 00000 00000 1 144 | 1 1 529424 37.80 48 28 1 1 1 2 1 2 1 2 ? ? 1 1 46.00 5.90 2 7.00 1 2 00000 00000 00000 1 145 | 1 1 534519 37.1 84 40 3 3 6 1 2 4 4 3 2 2 4 5 75 81 ? ? 3 2 01400 00000 00000 2 146 | 2 1 535246 ? 80 32 3 3 2 1 2 3 3 2 1 ? 3 ? 50 80 ? ? 1 1 00000 00000 00000 2 147 | 1 1 534115 38.2 48 ? 1 3 3 1 3 4 4 1 3 2 4 5 42 71 ? ? 1 1 03111 00000 00000 2 148 | 2 1 530001 38.00 44 12 2 1 3 1 3 4 3 1 2 6.50 1 4 33.00 6.50 ? ? 2 1 02209 00000 00000 2 149 | 1 1 529272 38.30 132 ? ? 3 6 2 2 4 2 2 3 6.20 4 4 57.00 8.00 ? 5.20 1 1 02112 00000 00000 1 150 | 2 1 535314 38.7 48 24 ? ? ? ? 1 1 ? 1 1 ? 1 ? 34 63 ? ? 1 2 00000 00000 00000 2 151 | 2 1 533793 38.9 44 14 3 1 1 1 2 3 2 ? ? ? ? 2 33 64 ? ? 1 2 00000 00000 00000 2 152 | 1 1 529399 39.30 ? ? 4 3 6 2 4 4 2 1 3 4.00 4 4 75.00 ? 3 4.30 2 1 02207 00000 00000 1 153 | 1 1 533836 ? 100 ? 3 3 4 2 ? 4 4 2 1 2 ? ? 68 64 3 2 1 1 02209 00000 00000 2 154 | 2 1 528804 38.60 48 20 3 1 1 1 1 3 2 2 1 ? 3 2 50.00 7.30 1 ? 1 2 03111 00000 00000 1 155 | 2 1 535163 38.8 48 40 1 1 3 1 3 3 4 2 ? ? ? 5 41 65 ? ? 1 1 04124 00000 000000 2 156 | 2 1 528247 38.00 48 20 3 3 4 1 1 4 2 2 ? 5.00 ? 2 49.00 8.30 1 ? 1 2 00400 00000 00000 1 157 | 2 1 528996 38.60 52 20 1 1 1 1 3 3 2 1 1 ? 1 3 36.00 6.60 1 5.00 1 2 00000 00000 00000 1 158 | 1 1 533928 37.8 60 24 1 ? 3 2 ? 4 4 2 3 2 ? 5 52 75 ? ? 3 1 02205 00000 00000 2 159 | 2 1 528248 38.00 42 40 3 1 1 1 3 3 1 ? ? ? ? ? ? ? ? ? 1 2 03111 00000 00000 2 160 | 2 1 528134 ? ? 12 1 1 2 1 2 1 2 3 1 ? 1 3 44.00 7.50 2 ? 1 2 00000 00000 00000 1 161 | 1 1 527916 ? ? ? ? ? ? ? 4 ? ? 1 1 ? ? 5 35 58 2 1 1 1 04205 00000 00000 2 162 | 1 1 530431 38.30 42 24 ? ? ? 1 ? ? ? ? ? ? ? ? 40.00 8.50 ? ? 2 1 07113 00000 00000 2 163 | 2 1 535176 39.5 60 10 3 ? ? 2 3 3 2 2 1 ? 3 ? 38 56 1 ? 1 2 00000 00000 00000 2 164 | 1 1 533942 38 66 20 1 3 3 1 5 3 1 1 1 ? 3 ? 46 46 3 2 3 1 06209 00000 00000 2 165 | 1 1 528523 38.70 76 ? 1 1 5 2 3 3 2 2 2 ? 4 4 50.00 8.00 ? ? 1 1 02208 00000 00000 1 166 | 1 1 534925 39.4 120 48 ? ? 5 1 ? 3 3 1 ? ? 4 ? 56 64 1 2 3 2 01400 00000 00000 2 167 | 1 1 527916 38.30 40 18 1 1 1 1 3 1 1 ? ? ? 2 1 43.00 5.90 1 ? 1 2 00000 00000 00000 1 168 | 2 1 528299 ? 44 24 1 1 1 1 3 3 1 2 1 ? ? 1 ? 6.30 ? ? 1 2 03111 00000 00000 2 169 | 1 1 530254 38.40 104 40 1 1 3 1 2 4 2 2 3 6.50 ? 4 55.00 8.50 ? ? 1 1 02124 00000 00000 2 170 | 1 1 535085 ? 65 24 ? ? ? 2 5 ? 4 3 1 ? ? 5 ? ? ? ? 3 1 03205 00000 00000 2 171 | 2 1 532985 37.5 44 20 1 1 3 1 ? 1 1 ? ? ? 1 ? 35 7.2 ? ? 1 2 00000 00000 00000 2 172 | 2 1 527677 39.00 86 16 3 3 5 ? 3 3 3 ? 2 ? ? ? 68.00 5.80 3 6.00 2 1 05400 00000 00000 1 173 | 1 1 535292 38.5 129 48 3 3 3 1 2 4 3 1 3 2 ? ? 57 66 3 2 1 1 02206 00000 00000 2 174 | 1 1 529729 ? 104 ? 3 3 5 2 2 4 3 ? 3 ? 4 4 69.00 8.60 2 3.40 2 1 02207 00000 00000 1 175 | 2 1 518476 ? ? ? 3 4 6 ? 4 ? 4 ? ? ? ? ? ? ? ? ? 2 1 03400 00000 00000 1 176 | 1 1 527929 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1 1 02208 00000 00000 2 177 | 1 1 535130 38.2 60 30 1 1 3 1 3 3 1 2 1 ? 3 2 48 66 ? ? 1 1 06112 00000 00000 2 178 | 1 1 523190 ? 68 14 ? ? 4 1 4 ? ? ? 1 4.30 ? ? ? ? 2 2.80 2 1 04205 00000 00000 1 179 | 1 1 533968 ? 60 30 3 3 4 2 5 4 4 1 1 ? 4 ? 45 70 3 2 1 1 06111 03111 00000 2 180 | 2 1 528151 38.50 100 ? 3 3 5 2 4 3 4 2 1 ? 4 5 ? ? ? ? 3 2 01111 00000 00000 1 181 | 1 1 530239 38.40 84 30 3 1 5 2 4 3 3 2 3 6.50 4 4 47.00 7.50 3 ? 2 1 02300 00000 00000 2 182 | 2 1 528305 37.80 48 14 ? ? 1 1 3 ? 2 1 3 5.30 1 ? 35.00 7.50 ? ? 1 2 03111 00000 00000 1 183 | 1 1 5279822 38.00 ? 24 3 3 6 2 5 ? 4 1 1 ? ? ? 68.00 7.80 ? ? 2 1 02205 00000 00000 2 184 | 2 1 534857 37.8 56 16 1 1 2 1 2 1 1 2 1 ? 1 ? 44 68 1 1 1 2 00000 00000 00000 2 185 | 2 1 534053 38.2 68 32 2 2 2 1 1 1 1 3 1 ? 1 1 43 65 ? ? 1 2 00000 00000 00000 2 186 | 1 1 534833 38.5 120 60 4 3 6 2 ? 3 ? ? ? ? ? ? 54 ? ? ? 1 1 05400 00000 00000 2 187 | 1 1 5278331 39.30 64 90 2 3 1 1 ? 3 1 1 2 ? ? ? 39.00 6.70 ? ? 1 1 21110 00000 00000 2 188 | 1 1 527365 38.40 80 30 4 3 1 1 3 3 3 3 3 ? 4 5 32.00 6.10 3 4.30 1 1 07209 00000 00000 1 189 | 1 1 533887 38.5 60 ? 1 1 ? 1 ? 1 1 ? ? ? ? ? 33 53 1 ? 1 1 04111 00000 00000 2 190 | 1 1 5299603 38.30 60 16 3 1 1 1 2 1 1 2 2 3.00 1 4 30.00 6.00 1 3.00 1 1 31110 00000 00000 2 191 | 1 1 528742 37.10 40 8 ? 1 4 1 3 3 1 1 1 ? 3 3 23.00 6.70 3 ? 1 1 03133 00000 00000 1 192 | 2 9 5287279 ? 100 44 2 1 1 1 4 1 1 ? ? ? 1 ? 37.00 4.70 ? ? 1 2 07111 00000 00000 2 193 | 1 1 534788 38.2 48 18 1 1 1 1 3 3 3 1 2 ? 4 ? 48 74 1 2 1 1 05111 00000 00000 2 194 | 1 1 529373 ? 60 48 3 3 4 2 4 3 4 ? ? ? ? ? 58.00 7.60 ? ? 2 1 03205 00000 00000 2 195 | 2 1 534163 37.9 88 24 1 1 2 1 2 2 1 ? ? ? 4 1 37 56 ? ? 1 2 00000 00000 00000 2 196 | 2 1 533697 38.0 44 12 3 1 1 ? ? 1 2 ? ? ? 1 ? 42 64 ? ? 1 2 00000 00000 00000 2 197 | 2 1 529628 38.50 60 20 1 1 5 2 2 2 1 2 1 ? 2 3 63.00 7.50 2 2.30 3 2 00300 00000 00000 1 198 | 2 1 521399 38.50 96 36 3 3 ? 2 2 4 2 1 2 ? 4 5 70.00 8.50 ? ? 2 1 01400 00000 00000 1 199 | 2 1 533885 38.3 60 20 1 1 1 2 1 3 1 ? ? ? 3 ? 34 66 ? ? 1 2 00000 00000 00000 2 200 | 2 1 534157 38.5 60 40 3 1 2 1 2 1 2 ? ? ? 3 2 49 59 ? ? 1 2 00000 00000 00000 2 201 | 1 1 528047 37.30 48 12 1 ? 3 1 3 1 3 2 1 ? 3 3 40.00 6.60 2 ? 1 1 03205 00000 00000 1 202 | 1 1 528641 38.50 86 ? 1 1 3 1 4 4 3 2 1 ? 3 5 45.00 7.40 1 3.40 2 1 03209 00000 00000 1 203 | 1 1 534073 37.5 48 40 ? ? ? ? ? ? ? 1 1 ? ? 5 41 55 3 2 3 1 02208 00000 00000 2 204 | 2 1 529685 37.20 36 9 1 1 1 1 2 3 1 2 1 ? 4 1 35.00 5.70 ? ? 1 2 31110 00000 00000 2 205 | 1 1 529528 39.20 ? 23 3 1 3 1 4 4 2 2 ? ? ? ? 36.00 6.60 1 3.00 1 1 03115 00000 00000 1 206 | 2 1 528151 38.50 100 ? 3 3 5 2 4 3 4 2 1 ? 4 5 ? ? ? ? 3 2 04124 00000 00000 2 207 | 1 1 535137 38.5 96 30 2 3 4 2 4 4 3 2 1 ? 3 5 50 65 ? ? 1 1 06111 03112 00000 2 208 | 1 1 530297 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 45.00 8.70 ? ? 2 1 02208 00000 00000 2 209 | 1 1 535338 37.8 88 80 3 3 5 2 ? 3 3 2 3 ? 4 5 64 89 ? ? 3 1 03205 00000 00000 2 210 | 2 1 534478 37.5 44 10 3 1 1 1 3 1 2 2 ? ? 3 3 43 51 1 1 1 2 00000 00000 00000 2 211 | 1 1 530401 37.90 68 20 ? 1 2 1 2 4 2 ? ? ? 1 5 45.00 4.00 3 2.80 2 1 05400 00000 00000 1 212 | 1 1 529893 38.00 86 24 4 3 4 1 2 4 4 1 1 ? 4 5 45.00 5.50 1 10.10 2 1 03111 00000 00000 1 213 | 1 9 5294369 38.90 120 30 1 3 2 2 3 3 3 3 1 3.00 ? ? 47.00 6.30 1 ? 1 2 02124 00000 00000 2 214 | 1 1 528183 37.60 45 12 3 1 3 1 ? 2 2 2 1 ? 1 4 39.00 7.00 2 1.50 1 1 02112 00000 00000 1 215 | 2 1 529183 38.60 56 32 2 1 1 1 1 1 1 2 ? ? 2 ? 40.00 7.00 2 2.10 1 2 00000 00000 00000 1 216 | 1 1 529135 37.80 40 12 1 1 1 1 1 2 1 2 1 ? 1 2 38.00 7.00 ? ? 1 1 03111 00000 00000 2 217 | 2 1 528977 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1 2 00000 00000 00000 2 218 | 1 1 5279441 38.00 76 18 ? ? ? 2 ? ? ? ? ? ? ? ? 71.00 11.00 ? ? 1 1 02209 00000 00000 1 219 | 1 1 535240 38.1 40 36 1 2 2 1 2 2 ? ? ? ? ? ? ? ? ? ? 3 1 03112 00000 00000 2 220 | 1 1 529736 ? 52 28 3 3 4 1 3 4 3 2 1 ? 4 4 37.00 8.10 ? ? 1 1 02111 00000 00000 2 221 | 1 1 535029 39.2 88 58 4 4 ? 2 5 4 ? ? ? ? ? ? ? ? 2 2 3 2 03205 00000 00000 2 222 | 1 1 535031 38.5 92 40 4 3 ? 1 2 4 3 ? ? ? 4 ? 46 67 2 2 1 1 02208 00000 00000 2 223 | 1 1 528800 ? 112 13 4 4 4 1 2 3 1 2 1 4.50 4 4 60.00 6.30 3 ? 1 1 02205 00000 00000 1 224 | 1 1 528178 37.70 66 12 1 1 3 1 3 3 2 2 ? ? 4 4 31.50 6.20 2 1.60 1 1 02208 00000 00000 1 225 | 1 1 535392 38.8 50 14 1 1 1 1 3 1 1 1 1 ? 3 5 38 58 ? ? 1 1 03111 00000 00000 2 226 | 2 1 528931 38.40 54 24 1 1 1 1 1 3 1 2 1 ? 3 2 49.00 7.20 1 8.00 1 2 03111 00000 00000 1 227 | 1 1 528503 39.20 120 20 4 3 5 2 2 3 3 1 3 ? ? 4 60.00 8.80 3 ? 2 1 02205 00000 00000 2 228 | 1 9 5289419 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 45.00 6.50 2 ? 1 1 09000 00000 00000 1 229 | 1 1 535196 37.3 90 40 3 ? 6 2 5 4 3 2 2 ? 1 5 65 50 3 2 3 1 03205 00000 00000 2 230 | 1 9 534597 38.5 120 70 ? ? ? ? ? 1 ? 2 ? ? 1 ? 35 54 1 1 1 1 04205 03111 02209 2 231 | 1 1 534280 38.5 104 40 3 3 ? 1 4 3 4 ? ? ? ? ? ? ? ? ? 1 1 02124 00000 00000 2 232 | 2 1 530028 39.50 92 28 3 3 6 1 5 4 1 ? 3 ? 4 ? 72.00 6.40 ? 3.60 2 2 03300 00000 00000 2 233 | 1 1 5262543 38.50 30 18 ? ? ? ? ? ? ? ? ? ? ? ? 40.00 7.70 ? ? 1 1 02113 00000 00000 2 234 | 1 1 530526 38.30 72 30 4 3 3 2 3 3 3 2 1 ? 3 5 43.00 7.00 2 3.90 1 1 03113 00000 00000 1 235 | 2 1 528729 37.50 48 30 4 1 3 1 ? 2 1 1 1 ? 1 1 48.00 8.60 ? ? 1 2 00400 00000 00000 2 236 | 1 1 528469 38.10 52 24 1 1 5 1 4 3 1 2 3 7.00 1 ? 54.00 7.50 2 2.60 2 1 02206 00000 00000 1 237 | 2 1 528179 38.20 42 26 1 1 1 1 3 1 2 ? ? ? 1 ? 36.00 6.90 ? ? 1 2 03111 00000 00000 2 238 | 2 1 533750 37.9 54 42 2 1 5 1 3 1 1 ? 1 ? ? 2 47 54 3 1 1 2 00000 00000 00000 2 239 | 2 1 528702 36.10 88 ? 3 3 3 1 3 3 2 2 3 ? ? 4 45.00 7.00 3 4.80 3 1 02209 00000 00000 1 240 | 1 1 534183 38.1 70 22 ? 1 ? 1 5 3 ? ? ? ? ? 5 36 65 ? ? 3 1 03205 00000 00000 2 241 | 1 1 529160 38.00 90 30 4 3 4 2 5 4 4 ? ? ? 4 5 55.00 6.10 ? ? 2 1 03205 00000 00000 2 242 | 1 1 529045 38.20 52 16 1 1 2 1 1 2 1 1 1 ? 1 ? 43.00 8.10 ? ? 1 2 00000 00000 00000 1 243 | 1 1 530354 ? 36 32 1 1 4 1 5 3 3 2 3 4.00 ? 4 41.00 5.90 ? ? 2 1 02205 00000 00000 2 244 | 1 1 5281091 38.40 92 20 1 ? ? 2 ? 3 3 ? ? ? 1 ? ? ? ? ? 1 1 02208 00000 00000 1 245 | 1 9 5291409 38.20 124 88 1 3 2 1 2 3 4 ? ? ? ? ? 47.00 8.00 1 ? 1 1 09400 00000 00000 1 246 | 2 1 528904 ? 96 ? 3 3 3 2 5 4 4 ? 1 ? 4 5 60.00 ? ? ? 2 1 41110 00000 00000 2 247 | 1 1 530366 37.60 68 32 3 ? 3 1 4 2 4 2 2 6.50 1 5 47.00 7.20 1 ? 1 1 03209 00000 00000 2 248 | 1 1 530170 38.10 88 24 3 3 4 1 5 4 3 2 1 ? 3 4 41.00 4.60 ? ? 2 1 02209 00000 00000 2 249 | 1 1 527709 38.00 108 60 2 3 4 1 4 3 3 2 ? ? 3 4 ? ? 3 ? 1 1 02205 00000 00000 2 250 | 2 1 528169 38.20 48 ? 2 ? 1 2 3 3 1 2 1 ? ? 2 34.00 6.60 ? ? 1 2 03111 00000 00000 2 251 | 1 1 535043 39.3 100 51 4 4 6 1 2 4 1 1 3 2 ? 4 66 13 3 2 3 1 02113 00000 00000 2 252 | 2 1 527940 36.60 42 18 3 3 2 1 1 4 1 1 1 ? ? 5 52.00 7.10 ? ? 2 1 05111 00000 00000 2 253 | 1 9 5291719 38.80 124 36 3 1 2 1 2 3 4 1 1 ? 4 4 50.00 7.60 3 ? 2 1 02208 00000 00000 1 254 | 2 1 530561 ? 112 24 3 3 4 2 5 4 2 ? ? ? 4 ? 40.00 5.30 3 2.60 1 2 00400 00000 00000 1 255 | 1 1 533738 ? 80 ? 3 3 3 1 4 4 4 ? ? ? 4 5 43 70 ? ? 1 1 03111 00000 00000 2 256 | 1 9 5294539 38.80 184 84 1 ? 1 1 4 1 3 ? ? ? 2 ? 33.00 3.30 ? ? 2 1 07111 00000 00000 2 257 | 1 1 533871 37.5 72 ? 2 1 1 1 2 1 1 1 1 ? 1 ? 35 65 2 2 3 1 07209 00000 00000 2 258 | 1 1 529812 38.70 96 28 3 3 4 1 ? 4 ? ? 3 7.50 ? ? 64.00 9.00 ? ? 2 1 02205 00000 00000 1 259 | 2 1 534719 37.5 52 12 1 1 1 1 2 3 2 2 1 ? 3 5 36 61 1 1 1 2 00000 00000 00000 2 260 | 1 1 527734 40.80 72 42 3 3 1 1 2 3 1 2 1 ? ? ? 54.00 7.40 3 ? 2 1 11400 00000 00000 1 261 | 2 1 534933 38 40 25 ? 1 1 1 4 3 2 1 1 ? 4 ? 37 69 ? ? 1 2 00000 00000 00000 2 262 | 2 1 529296 38.40 48 16 2 1 1 1 1 ? 2 2 1 ? ? 2 39.00 6.50 ? ? 1 2 03111 00000 00000 1 263 | 2 9 5305629 38.60 88 28 ? ? ? ? ? ? ? ? ? ? ? ? 35.00 5.90 ? ? 1 2 00000 00000 00000 2 264 | 1 1 528743 37.10 75 36 ? ? 3 2 4 4 2 2 3 5.00 4 4 48.00 7.40 3 3.20 2 1 12208 00000 00000 1 265 | 1 1 530478 38.30 44 21 3 1 2 1 3 3 3 2 1 ? 1 5 44.00 6.50 2 4.40 1 1 02209 00000 00000 1 266 | 2 1 528590 ? 56 68 3 1 1 1 3 3 1 2 1 ? 1 ? 40.00 6.00 ? ? 3 1 05206 00000 00000 2 267 | 2 1 529865 38.60 68 20 2 1 3 1 3 3 2 1 1 ? 1 5 38.00 6.50 1 ? 1 2 05124 00000 00000 1 268 | 2 1 527829 38.30 54 18 3 1 2 1 2 3 2 ? 3 5.40 ? 4 44.00 7.20 3 ? 1 2 02124 00000 00000 1 269 | 1 1 534403 38.2 42 20 ? ? 1 1 ? 3 ? ? ? ? 3 ? 47 60 ? ? 1 2 00000 00000 00000 2 270 | 1 1 527883 39.30 64 90 2 3 1 1 ? 3 1 1 2 6.50 1 5 39.00 6.70 ? ? 1 1 31110 00000 00000 2 271 | 1 1 528570 37.50 60 50 3 3 1 1 3 3 2 2 2 3.50 3 4 35.00 6.50 ? ? 2 1 02209 00000 00000 2 272 | 1 1 534626 37.7 80 ? 3 3 6 1 5 4 1 2 3 ? 3 1 50 55 3 2 1 1 04206 00000 00000 2 273 | 1 1 529796 ? 100 30 3 3 4 2 5 4 4 3 3 ? 4 4 52.00 6.60 ? ? 1 1 02124 00000 00000 2 274 | 1 1 528638 37.70 120 28 3 3 3 1 5 3 3 1 1 ? ? ? 65.00 7.00 3 ? 2 1 04205 00000 00000 1 275 | 1 1 534624 ? 76 ? ? 3 ? ? ? 4 4 ? ? ? ? 5 ? ? ? ? 3 1 11124 00000 00000 2 276 | 1 9 5297159 38.80 150 50 1 3 6 2 5 3 2 1 1 ? ? ? 50.00 6.20 ? ? 2 1 04207 00000 00000 2 277 | 1 1 534787 38.0 36 16 3 1 1 1 4 2 2 3 3 2 3 ? 37 75 2 1 3 2 03111 00000 00000 2 278 | 2 1 528620 36.90 50 40 2 3 3 1 1 3 2 3 1 7.00 ? ? 37.50 6.50 ? ? 1 2 03111 00000 00000 2 279 | 2 1 528019 37.80 40 16 1 1 1 1 1 1 1 ? ? ? 1 1 37.00 6.80 ? ? 1 2 00000 00000 00000 2 280 | 2 1 529172 38.20 56 40 4 3 1 1 2 4 3 2 2 7.50 ? ? 47.00 7.20 1 2.50 1 2 08300 00000 00000 1 281 | 1 1 534644 38.6 48 12 ? ? 1 ? 1 1 ? ? ? ? ? ? 36 67 ? ? 1 2 00000 00000 00000 2 282 | 2 1 530624 40.00 78 ? 3 3 5 1 2 3 1 1 1 ? 4 1 66.00 6.50 ? ? 2 1 08400 00000 00000 1 283 | 1 1 527544 ? 70 16 3 4 5 2 2 3 2 2 1 ? 4 5 60.00 7.50 ? ? 2 1 01400 00000 00000 2 284 | 1 1 527758 38.20 72 18 ? ? ? ? ? ? ? ? ? ? ? ? 35.00 6.40 ? ? 1 1 03124 00000 00000 2 285 | 2 1 530439 38.50 54 ? 1 1 1 1 3 1 1 2 1 ? 1 ? 40.00 6.80 2 7.00 1 2 00000 00000 00000 1 286 | 1 1 5283431 38.50 66 24 1 1 1 1 3 3 1 2 1 ? 4 5 40.00 6.70 1 ? 1 1 31110 00000 00000 1 287 | 2 1 5275212 37.80 82 12 3 1 1 2 4 ? 3 1 3 ? ? ? 50.00 7.00 ? ? 3 1 02205 00000 00000 2 288 | 2 9 5305129 39.50 84 30 ? ? ? 1 ? ? ? ? ? ? ? ? 28.00 5.00 ? ? 1 2 00000 00000 00000 2 289 | 1 1 529428 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1 1 02124 00000 00000 2 290 | 1 1 529126 38.00 50 36 ? 1 1 1 3 2 2 ? ? ? 3 ? 39.00 6.60 1 5.30 1 1 08400 00000 00000 1 291 | 2 1 535054 38.6 45 16 2 1 2 1 1 1 ? ? ? ? 1 1 43 58 ? ? 1 2 00000 00000 00000 2 292 | 1 1 528890 38.90 80 44 3 3 3 1 2 3 3 2 2 7.00 3 1 54.00 6.50 3 ? 2 1 07111 00000 00000 2 293 | 1 1 530034 37.00 66 20 1 3 2 1 4 3 3 1 ? ? 1 5 35.00 6.90 2 ? 2 1 31110 00000 00000 2 294 | 1 1 534004 ? 78 24 3 3 3 1 ? 3 ? 2 1 ? ? 4 43 62 ? 2 3 2 02209 00000 00000 2 295 | 2 1 533902 38.5 40 16 1 1 1 1 2 1 1 ? ? ? 3 2 37 67 ? ? 1 2 00000 00000 00000 2 296 | 1 1 533886 ? 120 70 4 ? 4 2 2 4 ? ? ? ? ? 5 55 65 ? ? 3 2 03205 00000 00000 2 297 | 2 1 527702 37.20 72 24 3 2 4 2 4 3 3 3 1 ? 4 4 44.00 ? 3 3.30 3 1 02208 00000 00000 1 298 | 1 1 529386 37.50 72 30 4 3 4 1 4 4 3 2 1 ? 3 5 60.00 6.80 ? ? 2 1 03205 00000 00000 2 299 | 1 1 530612 36.50 100 24 3 3 3 1 3 3 3 3 1 ? 4 4 50.00 6.00 3 3.40 1 1 02208 00000 00000 1 300 | 1 1 534618 37.2 40 20 ? ? ? ? ? ? ? ? ? ? 4 1 36 62 1 1 3 2 06112 00000 00000 2 -------------------------------------------------------------------------------- /horse.test: -------------------------------------------------------------------------------- 1 | 2 1 528626 38.50 54 20 ? 1 2 2 3 4 1 2 2 5.90 ? 2 42.00 6.30 ? ? 1 2 03111 00000 00000 1 2 | 2 1 527950 37.60 48 36 ? ? 1 1 ? 3 ? ? ? ? ? ? 44.00 6.30 1 5.00 1 2 03111 00000 00000 1 3 | 1 1 535263 37.7 44 28 ? 4 3 2 5 4 4 1 1 ? 3 5 45 70 3 2 1 1 03205 00000 00000 2 4 | 1 1 534523 37 56 24 3 1 4 2 4 4 3 1 1 ? ? ? 35 61 3 2 3 2 02205 02208 00000 2 5 | 2 1 528926 38.00 42 12 3 ? 3 1 1 ? 1 ? ? ? ? 2 37.00 5.80 ? ? 1 2 03111 00000 00000 2 6 | 1 1 534922 ? 60 40 3 ? 1 1 ? 4 ? 3 2 ? ? 5 42 72 ? ? 1 1 03111 00000 00000 2 7 | 2 1 527642 38.40 80 60 3 2 2 1 3 2 1 2 2 ? 1 1 54.00 6.90 ? ? 1 2 00000 00000 00000 2 8 | 2 1 5279821 37.80 48 12 2 1 2 1 3 ? 1 2 ? ? 2 ? 48.00 7.30 1 ? 1 2 00000 00000 00000 1 9 | ? 1 534790 38.0 65 40 ? 1 4 2 2 ? ? ? ? ? ? 5 ? ? ? ? ? 1 03111 03205 00000 2 10 | 2 1 5275211 37.90 45 36 3 3 3 2 2 3 1 2 1 ? 3 ? 33.00 5.70 3 ? 1 1 02205 00000 00000 1 11 | 2 1 5278332 39.00 84 12 3 1 5 1 2 4 2 1 2 7.00 ? 4 62.00 5.90 2 2.20 2 1 02208 00000 00000 1 12 | 2 1 528959 38.20 60 24 3 1 3 2 3 3 2 3 3 ? 4 4 53.00 7.50 2 1.40 1 2 01124 00000 00000 1 13 | 1 1 534921 ? 140 ? ? ? 4 2 5 4 4 1 1 ? ? 5 30 69 ? ? 2 2 06112 00000 00000 2 14 | 1 1 528999 37.90 120 60 3 3 3 1 5 4 4 2 2 7.50 4 5 52.00 6.60 3 1.80 2 1 03205 00000 00000 1 15 | 2 1 528067 38.00 72 36 1 1 3 1 3 ? 2 2 1 ? 3 5 38.00 6.80 2 2.00 1 2 03124 00000 00000 1 16 | 2 9 5291329 38.00 92 28 1 1 2 1 1 3 2 3 ? 7.20 ? ? 37.00 6.10 1 1.10 1 2 00000 00000 00000 1 17 | 1 1 529478 38.30 66 30 2 3 1 1 2 4 3 3 2 8.50 4 5 37.00 6.00 ? ? 1 1 05111 00000 00000 2 18 | 2 1 529991 37.50 48 24 3 1 1 1 2 1 ? 1 1 ? 3 2 43.00 6.00 1 2.80 1 2 07111 00000 00000 1 19 | 1 1 530033 37.50 88 20 2 3 3 1 4 3 3 ? ? ? ? ? 35.00 6.40 1 ? 2 1 02205 00000 00000 2 20 | 2 9 5299049 ? 150 60 4 4 4 2 5 4 4 ? ? ? ? ? ? ? ? ? 2 1 01400 00000 00000 2 21 | 1 1 534497 39.7 100 30 ? ? 6 2 4 4 3 1 ? ? 4 5 65 75 ? ? 3 1 03205 00000 00000 2 22 | 1 1 528369 38.30 80 ? 3 3 4 2 5 4 3 2 1 ? 4 4 45.00 7.50 2 4.60 1 1 03209 00000 00000 1 23 | 2 1 530107 37.50 40 32 3 1 3 1 3 2 3 2 1 ? ? 5 32.00 6.40 1 1.10 1 1 03124 00000 00000 1 24 | 1 1 530239 38.40 84 30 3 1 5 2 4 3 3 2 3 6.50 4 4 47.00 7.50 3 ? 2 1 06111 00000 00000 2 25 | 1 1 530505 38.10 84 44 4 ? 4 2 5 3 1 1 3 5.00 ? 4 60.00 6.80 ? 5.70 2 1 02209 00000 00000 1 26 | 2 1 529567 38.70 52 ? 1 1 1 1 1 3 1 ? ? ? 1 3 4.00 74.00 ? ? 1 2 00000 00000 00000 2 27 | 2 1 529597 38.10 44 40 2 1 3 1 3 3 1 ? ? ? 1 3 35.00 6.80 ? ? 1 2 00000 00000 00000 2 28 | 2 1 534429 38.4 52 20 2 1 3 1 1 3 2 2 1 ? 3 5 41 63 1 1 1 2 00000 00000 00000 2 29 | 1 1 529629 38.20 60 ? 1 ? 3 1 2 1 1 1 1 ? 4 4 43.00 6.20 2 3.90 1 1 02206 00000 00000 1 30 | 2 1 528382 37.70 40 18 1 1 1 ? 3 2 1 1 1 ? 3 3 36.00 3.50 ? ? 1 2 00400 00000 00000 2 31 | 1 1 534898 39.1 60 10 ? 1 1 ? 2 3 ? ? ? ? 4 4 ? ? ? ? 1 1 02113 00000 00000 2 32 | 2 1 529615 37.80 48 16 1 1 1 1 ? 1 1 2 1 ? 4 3 43.00 7.50 ? ? 1 2 00000 00000 00000 2 33 | 1 1 526090 39.00 120 ? 4 3 5 2 2 4 3 2 3 8.00 ? ? 65.00 8.20 3 4.60 1 2 05110 00000 00000 2 34 | 1 1 529765 38.20 76 ? 2 3 2 1 5 3 3 1 2 6.00 1 5 35.00 6.50 2 0.90 1 1 03205 00000 00000 1 35 | 2 1 528310 38.30 88 ? ? ? 6 ? ? ? ? ? ? ? ? ? ? ? ? ? 2 2 02300 00000 00000 2 36 | 1 1 529925 38.00 80 30 3 3 3 1 ? ? ? ? ? 6.00 ? ? 48.00 8.30 ? 4.30 1 1 02111 00000 00000 2 37 | 1 1 527807 ? ? ? 3 1 1 1 2 3 3 1 3 6.00 4 4 ? ? 2 ? 2 1 02113 00000 00000 1 38 | 1 1 5281441 37.60 40 ? 1 1 1 1 1 1 1 ? ? ? 1 1 ? ? 2 2.10 1 1 31110 00000 00000 1 39 | 2 1 530695 37.50 44 ? 1 1 1 1 3 3 2 ? ? ? ? ? 45.00 5.80 2 1.40 1 2 03111 00000 00000 1 40 | 2 1 533889 38.2 42 16 1 1 3 1 1 3 1 ? ? ? 1 ? 35 60 1 1 1 2 00000 00000 00000 2 41 | 2 1 533815 38 56 44 3 3 3 ? ? 1 1 2 1 ? 4 ? 47 70 2 1 1 2 00000 00000 00000 2 42 | 2 1 527664 38.30 45 20 3 3 2 2 2 4 1 2 ? ? 4 ? ? ? ? ? 1 2 00000 00000 00000 2 43 | 1 1 5262542 ? 48 96 1 1 3 1 ? 4 1 2 1 ? 1 4 42.00 8.00 1 ? 1 1 02208 00000 00000 2 44 | 1 1 528268 37.70 55 28 2 1 2 1 2 3 3 ? 3 5.00 4 5 ? ? ? ? 1 1 03209 00000 00000 2 45 | 2 1 528919 36.00 100 20 4 3 6 2 2 4 3 1 1 ? 4 5 74.00 5.70 2 2.50 3 1 03205 00000 00000 1 46 | 1 1 527494 37.10 60 20 2 ? 4 1 3 ? 3 ? 2 5.00 3 4 64.00 8.50 2 ? 1 1 07111 00000 00000 1 47 | 2 1 529980 37.10 114 40 3 ? 3 2 2 2 1 ? ? ? ? 3 32.00 ? 3 6.50 1 2 00400 00000 00000 2 48 | 1 1 533954 38.1 72 30 3 3 3 1 4 4 3 2 1 ? 3 5 37 56 3 1 1 1 04206 00000 00000 2 49 | 1 1 5281092 37.00 44 12 3 1 1 2 1 1 1 ? ? ? 4 2 40.00 6.70 3 8.00 1 1 02208 00000 00000 2 50 | 1 1 534686 38.6 48 20 3 1 1 1 4 3 1 ? ? ? 3 ? 37 75 ? ? 1 1 03111 00000 00000 2 51 | 1 1 534475 ? 82 72 3 1 4 1 2 3 3 ? 3 ? 4 4 53 65 3 2 3 1 02209 03205 00000 2 52 | 1 9 5274919 38.20 78 60 4 4 6 ? 3 3 3 ? ? ? 1 ? 59.00 5.80 3 3.10 2 1 01400 00000 00000 1 53 | 2 1 533815 37.8 60 16 1 1 3 1 2 3 2 1 2 ? 3 ? 41 73 ? ? 3 2 04124 00000 00000 2 54 | 1 1 534156 38.7 34 30 2 ? 3 1 2 3 ? ? ? ? ? ? 33 69 ? 2 3 1 07113 00000 00000 2 55 | 1 1 514279 ? 36 12 1 1 1 1 1 2 1 1 1 ? 1 5 44.00 ? ? ? 1 1 31110 00000 00000 1 56 | 2 1 528433 38.30 44 60 ? ? 1 1 ? ? ? ? ? ? ? ? 6.40 36.00 ? ? 1 1 00000 00000 00000 2 57 | 2 1 527465 37.40 54 18 3 ? 1 1 3 4 3 2 2 ? 4 5 30.00 7.10 2 ? 1 1 07111 00000 00000 1 58 | 1 1 534268 ? ? ? 4 3 ? 2 2 4 1 ? ? ? ? ? 54 76 3 2 1 1 08405 00000 00000 2 59 | 1 1 535337 36.6 48 16 3 1 3 1 4 1 1 1 1 ? ? ? 27 56 ? ? 3 1 04206 00000 00000 2 60 | 1 1 534111 38.5 90 ? 1 1 3 1 3 3 3 2 3 2 4 5 47 79 ? ? 1 1 06112 00000 00000 2 61 | 1 1 530576 ? 75 12 1 1 4 1 5 3 3 ? 3 5.80 ? ? 58.00 8.50 1 ? 1 1 02209 00000 00000 1 62 | 2 1 529930 38.20 42 ? 3 1 1 1 1 1 2 2 1 ? 3 2 35.00 5.90 2 ? 1 2 03113 00000 00000 2 63 | 1 9 5274919 38.20 78 60 4 4 6 ? 3 3 3 ? ? ? 1 ? 59.00 5.80 3 3.10 2 1 02205 00000 00000 1 64 | 2 1 529695 38.60 60 30 1 1 3 1 4 2 2 1 1 ? ? ? 40.00 6.00 1 ? 1 1 03205 00000 00000 2 65 | 2 1 528452 37.80 42 40 1 1 1 1 1 3 1 ? ? ? 3 3 36.00 6.20 ? ? 1 2 04124 00000 00000 2 66 | 1 1 534783 38 60 12 1 1 2 1 2 1 1 1 1 ? 1 4 44 65 3 2 3 1 02209 00000 00000 2 67 | 2 1 528926 38.00 42 12 3 ? 3 1 1 1 1 ? ? ? ? 1 37.00 5.80 ? ? 1 2 03111 00000 00000 2 68 | 2 1 530670 37.60 88 36 3 1 1 1 3 3 2 1 3 1.50 ? ? 44.00 6.00 ? ? 2 1 02112 00000 00000 2 69 | -------------------------------------------------------------------------------- /linear_regression.py: -------------------------------------------------------------------------------- 1 | import matplotlib.pyplot as plt 2 | import random 3 | from numpy import * 4 | from scaler import * 5 | 6 | 7 | class SGDRegressor(object): 8 | 9 | def __init__(self, alpha=0.1, n_iter=20, scaler=None): 10 | self.alpha = alpha 11 | self.n_iter = n_iter 12 | self.scaler = scaler 13 | 14 | def fit(self, X, Y): 15 | self.X = self.scaler.fit_transform(X) if self.scaler else X 16 | self.Y = Y 17 | self.W = ones((shape(self.X)[1], 1)) 18 | self.intercept = 0 19 | 20 | for n in xrange(self.n_iter): 21 | for x, y in zip(self.X, Y): 22 | update = self.formula(x) - y 23 | self.intercept -= self.alpha * update * 1. 24 | self.W -= self.alpha * \ 25 | x.transpose() * update 26 | 27 | def predict(self, X): 28 | X = self.scaler.transform(X) if self.scaler else X 29 | return [float(x * self.W + self.intercept) for x in X] 30 | 31 | def formula(self, x): 32 | return x * self.W + self.intercept 33 | 34 | def cost(self, X, Y): 35 | X = self.scaler.transform(X) if self.scaler else X 36 | return sum([float(x * self.W + self.intercept - float(y)) ** 2 for x, y in zip(X, Y)]) / len(X) 37 | -------------------------------------------------------------------------------- /logistic_regression.py: -------------------------------------------------------------------------------- 1 | from numpy import * 2 | import numpy as np 3 | from scaler import * 4 | 5 | 6 | class LogisticRegressor(): 7 | 8 | def __init__(self, alpha=0.1, n_iter=20, scaler=None): 9 | self.alpha = alpha 10 | self.n_iter = n_iter 11 | self.scaler = scaler 12 | 13 | def fit(self, X, Y): 14 | self.X = self.scaler.fit_transform(X) if self.scaler else X 15 | self.Y = Y 16 | self.W = ones((shape(self.X)[1], 1)) 17 | self.intercept = 0 18 | for n in xrange(self.n_iter): 19 | for x, y in zip(self.X, Y): 20 | update = y - self.sigmod(x * self.W + self.intercept) 21 | self.intercept += self.alpha * update * 1. 22 | self.W += self.alpha * \ 23 | x.transpose() * update 24 | 25 | def predict(self, X): 26 | X = self.scaler.transform(X) if self.scaler else X 27 | return [self.sigmod(x * self.W + self.intercept) for x in X] 28 | 29 | def sigmod(self, z): 30 | return 1. / (1. + exp(-z)) 31 | 32 | def likelihood(self): 33 | l = 1.0 34 | for x, y in zip(self.X, self.Y): 35 | l *= self.sigmod(x * self.W) ** int( 36 | y) * (1 - self.sigmod(x * self.W)) ** (1 - int(y)) 37 | return float(l) 38 | -------------------------------------------------------------------------------- /scaler.py: -------------------------------------------------------------------------------- 1 | from numpy import * 2 | 3 | 4 | class MinMaxScaler(): 5 | 6 | def __init__(self): 7 | self.min = None 8 | self.max = None 9 | 10 | def fit_transform(self, X): 11 | self.max = mat([float(max(X[:, i])) for i in xrange(shape(X)[1])]) 12 | self.min = mat([float(min(X[:, i])) for i in xrange(shape(X)[1])]) 13 | return self.transform(X) 14 | 15 | def transform(self, X): 16 | X_ = X.copy() 17 | m, n = shape(X_) 18 | V = self.max - self.min 19 | 20 | for i in xrange(m): 21 | for j in xrange(n): 22 | if V[0, j] == 0.: 23 | X_[i, j] = 0. 24 | else: 25 | X_[i, j] = (X_[i, j] - self.min[0, j]) / V[0, j] 26 | return X_ 27 | -------------------------------------------------------------------------------- /test.py: -------------------------------------------------------------------------------- 1 | from numpy import * 2 | from logistic_regression import * 3 | from scaler import * 4 | from linear_regression import * 5 | import unittest 6 | 7 | 8 | class LinearRegressorTest(unittest.TestCase): 9 | 10 | def test_linear_regression(self): 11 | X = mat([[i, i ** 2] for i in linspace(-150, 150, 1000)]) 12 | Y = mat( 13 | [0.8134 * x[0, 0] + 0.11 * x[0, 1] + 100 for x in X]).transpose() 14 | 15 | test_X = mat([[i, i ** 2] for i in linspace(-150, 150, 130)]) 16 | test_Y = mat( 17 | [0.8134 * x[0, 0] + 0.11 * x[0, 1] + 100 for x in test_X]).transpose() 18 | 19 | regressor = SGDRegressor(alpha=0.1, n_iter=60, scaler=MinMaxScaler()) 20 | regressor.fit(X, Y) 21 | cost = regressor.cost(test_X, test_Y) 22 | if cost > 2: 23 | raise Exception('the cost ' + str(cost) + ' is to0 much...') 24 | print 'cost function result:', cost 25 | 26 | 27 | class LogisticRegressorTest(unittest.TestCase): 28 | 29 | def test_horse_colic(self): 30 | 31 | X = mat([map(lambda x: float(x), x.replace('?', '0').strip().split(' ')[0:-1]) 32 | for x in open('horse.data')]) 33 | Y = mat( 34 | [int(x.strip().split(' ')[-1]) - 1 for x in open('horse.data')]).transpose() 35 | regressor = LogisticRegressor( 36 | alpha=0.02, n_iter=20, scaler=MinMaxScaler()) 37 | regressor.fit(X, Y) 38 | 39 | test_X = mat([map(lambda x: float(x), x.replace('?', '0').strip().split(' ')[0:-1]) 40 | for x in open('horse.test')]) 41 | test_Y = Y = mat( 42 | [int(x.strip().split(' ')[-1]) - 1 for x in open('horse.test')]).transpose() 43 | 44 | result = [(float(x), float(y)) 45 | for x, y in zip(regressor.predict(test_X), test_Y)] 46 | 47 | print 'horse colic predict:', 'error:', len([x for x in result if abs(x[0] - x[1]) >= 0.5]), 'total', len(test_X) 48 | 49 | def test_2_dimensions_dataset(self): 50 | 51 | X = mat([[float(x) for x in line.strip().split(' ')[0:-1]] 52 | for line in open('2dms.data')]) 53 | Y = mat([float(line.strip().split(' ')[-1]) 54 | for line in open('2dms.data')]).transpose() 55 | 56 | regressor = LogisticRegressor( 57 | alpha=0.01, n_iter=40, scaler=MinMaxScaler()) 58 | regressor.fit(X, Y) 59 | result = [(float(x), float(y)) 60 | for x, y in zip(regressor.predict(X), Y)] 61 | print '2_dimesions_dataset:', 'error:', len([x for x in result if abs(x[0] - x[1]) >= 0.5]), 'total:', len(X) 62 | 63 | if __name__ == '__main__': 64 | unittest.main() 65 | --------------------------------------------------------------------------------