2.在约会网站上使用k近邻算法

在约会网站上使用k近邻算法

思路步骤:

1. 收集数据:提供文本文件。
2. 准备数据:使用Python解析文本文件。
3. 分析数据:使用Matplotlib画二维扩散图。
4. 训练算法:此步骤不适用于k近邻算法。
5. 测试算法:使用海伦提供的部分数据作为测试样本。
  测试样本和非测试样本的区别在于:测试样本是已经完成分类的数据,如果预测分类与实际类别不同,则标记为一个错误。
6. 使用算法:产生简单的命令行程序,然后海伦可以输入一些特征数据以判断对方是否为自己喜欢的类型。

正式开始:

第1步.收集数据,提供文本文件datingTestSet.txt

 40920    8.326976    0.953952    largeDoses
14488 7.153469 1.673904 smallDoses
26052 1.441871 0.805124 didntLike
75136 13.147394 0.428964 didntLike
38344 1.669788 0.134296 didntLike
72993 10.141740 1.032955 didntLike
35948 6.830792 1.213192 largeDoses
42666 13.276369 0.543880 largeDoses
67497 8.631577 0.749278 didntLike
35483 12.273169 1.508053 largeDoses
50242 3.723498 0.831917 didntLike
63275 8.385879 1.669485 didntLike
5569 4.875435 0.728658 smallDoses
51052 4.680098 0.625224 didntLike
77372 15.299570 0.331351 didntLike
43673 1.889461 0.191283 didntLike
61364 7.516754 1.269164 didntLike
69673 14.239195 0.261333 didntLike
15669 0.000000 1.250185 smallDoses
28488 10.528555 1.304844 largeDoses
6487 3.540265 0.822483 smallDoses
37708 2.991551 0.833920 didntLike
22620 5.297865 0.638306 smallDoses
28782 6.593803 0.187108 largeDoses
19739 2.816760 1.686209 smallDoses
36788 12.458258 0.649617 largeDoses
5741 0.000000 1.656418 smallDoses
28567 9.968648 0.731232 largeDoses
6808 1.364838 0.640103 smallDoses
41611 0.230453 1.151996 didntLike
36661 11.865402 0.882810 largeDoses
43605 0.120460 1.352013 didntLike
15360 8.545204 1.340429 largeDoses
63796 5.856649 0.160006 didntLike
10743 9.665618 0.778626 smallDoses
70808 9.778763 1.084103 didntLike
72011 4.932976 0.632026 didntLike
5914 2.216246 0.587095 smallDoses
14851 14.305636 0.632317 largeDoses
33553 12.591889 0.686581 largeDoses
44952 3.424649 1.004504 didntLike
17934 0.000000 0.147573 smallDoses
27738 8.533823 0.205324 largeDoses
29290 9.829528 0.238620 largeDoses
42330 11.492186 0.263499 largeDoses
36429 3.570968 0.832254 didntLike
39623 1.771228 0.207612 didntLike
32404 3.513921 0.991854 didntLike
27268 4.398172 0.975024 didntLike
5477 4.276823 1.174874 smallDoses
14254 5.946014 1.614244 smallDoses
68613 13.798970 0.724375 didntLike
41539 10.393591 1.663724 largeDoses
7917 3.007577 0.297302 smallDoses
21331 1.031938 0.486174 smallDoses
8338 4.751212 0.064693 smallDoses
5176 3.692269 1.655113 smallDoses
18983 10.448091 0.267652 largeDoses
68837 10.585786 0.329557 didntLike
13438 1.604501 0.069064 smallDoses
48849 3.679497 0.961466 didntLike
12285 3.795146 0.696694 smallDoses
7826 2.531885 1.659173 smallDoses
5565 9.733340 0.977746 smallDoses
10346 6.093067 1.413798 smallDoses
1823 7.712960 1.054927 smallDoses
9744 11.470364 0.760461 largeDoses
16857 2.886529 0.934416 smallDoses
39336 10.054373 1.138351 largeDoses
65230 9.972470 0.881876 didntLike
2463 2.335785 1.366145 smallDoses
27353 11.375155 1.528626 largeDoses
16191 0.000000 0.605619 smallDoses
12258 4.126787 0.357501 smallDoses
42377 6.319522 1.058602 didntLike
25607 8.680527 0.086955 largeDoses
77450 14.856391 1.129823 didntLike
58732 2.454285 0.222380 didntLike
46426 7.292202 0.548607 largeDoses
32688 8.745137 0.857348 largeDoses
64890 8.579001 0.683048 didntLike
8554 2.507302 0.869177 smallDoses
28861 11.415476 1.505466 largeDoses
42050 4.838540 1.680892 didntLike
32193 10.339507 0.583646 largeDoses
64895 6.573742 1.151433 didntLike
2355 6.539397 0.462065 smallDoses
0 2.209159 0.723567 smallDoses
70406 11.196378 0.836326 didntLike
57399 4.229595 0.128253 didntLike
41732 9.505944 0.005273 largeDoses
11429 8.652725 1.348934 largeDoses
75270 17.101108 0.490712 didntLike
5459 7.871839 0.717662 smallDoses
73520 8.262131 1.361646 didntLike
40279 9.015635 1.658555 largeDoses
21540 9.215351 0.806762 largeDoses
17694 6.375007 0.033678 smallDoses
22329 2.262014 1.022169 didntLike
46570 5.677110 0.709469 didntLike
42403 11.293017 0.207976 largeDoses
33654 6.590043 1.353117 didntLike
9171 4.711960 0.194167 smallDoses
28122 8.768099 1.108041 largeDoses
34095 11.502519 0.545097 largeDoses
1774 4.682812 0.578112 smallDoses
40131 12.446578 0.300754 largeDoses
13994 12.908384 1.657722 largeDoses
77064 12.601108 0.974527 didntLike
11210 3.929456 0.025466 smallDoses
6122 9.751503 1.182050 largeDoses
15341 3.043767 0.888168 smallDoses
44373 4.391522 0.807100 didntLike
28454 11.695276 0.679015 largeDoses
63771 7.879742 0.154263 didntLike
9217 5.613163 0.933632 smallDoses
69076 9.140172 0.851300 didntLike
24489 4.258644 0.206892 didntLike
16871 6.799831 1.221171 smallDoses
39776 8.752758 0.484418 largeDoses
5901 1.123033 1.180352 smallDoses
40987 10.833248 1.585426 largeDoses
7479 3.051618 0.026781 smallDoses
38768 5.308409 0.030683 largeDoses
4933 1.841792 0.028099 smallDoses
32311 2.261978 1.605603 didntLike
26501 11.573696 1.061347 largeDoses
37433 8.038764 1.083910 largeDoses
23503 10.734007 0.103715 largeDoses
68607 9.661909 0.350772 didntLike
27742 9.005850 0.548737 largeDoses
11303 0.000000 0.539131 smallDoses
0 5.757140 1.062373 smallDoses
32729 9.164656 1.624565 largeDoses
24619 1.318340 1.436243 didntLike
42414 14.075597 0.695934 largeDoses
20210 10.107550 1.308398 largeDoses
33225 7.960293 1.219760 largeDoses
54483 6.317292 0.018209 didntLike
18475 12.664194 0.595653 largeDoses
33926 2.906644 0.581657 didntLike
43865 2.388241 0.913938 didntLike
26547 6.024471 0.486215 largeDoses
44404 7.226764 1.255329 largeDoses
16674 4.183997 1.275290 smallDoses
8123 11.850211 1.096981 largeDoses
42747 11.661797 1.167935 largeDoses
56054 3.574967 0.494666 didntLike
10933 0.000000 0.107475 smallDoses
18121 7.937657 0.904799 largeDoses
11272 3.365027 1.014085 smallDoses
16297 0.000000 0.367491 smallDoses
28168 13.860672 1.293270 largeDoses
40963 10.306714 1.211594 largeDoses
31685 7.228002 0.670670 largeDoses
55164 4.508740 1.036192 didntLike
17595 0.366328 0.163652 smallDoses
1862 3.299444 0.575152 smallDoses
57087 0.573287 0.607915 didntLike
63082 9.183738 0.012280 didntLike
51213 7.842646 1.060636 largeDoses
6487 4.750964 0.558240 smallDoses
4805 11.438702 1.556334 largeDoses
30302 8.243063 1.122768 largeDoses
68680 7.949017 0.271865 didntLike
17591 7.875477 0.227085 smallDoses
74391 9.569087 0.364856 didntLike
37217 7.750103 0.869094 largeDoses
42814 0.000000 1.515293 didntLike
14738 3.396030 0.633977 smallDoses
19896 11.916091 0.025294 largeDoses
14673 0.460758 0.689586 smallDoses
32011 13.087566 0.476002 largeDoses
58736 4.589016 1.672600 didntLike
54744 8.397217 1.534103 didntLike
29482 5.562772 1.689388 didntLike
27698 10.905159 0.619091 largeDoses
11443 1.311441 1.169887 smallDoses
56117 10.647170 0.980141 largeDoses
39514 0.000000 0.481918 didntLike
26627 8.503025 0.830861 largeDoses
16525 0.436880 1.395314 smallDoses
24368 6.127867 1.102179 didntLike
22160 12.112492 0.359680 largeDoses
6030 1.264968 1.141582 smallDoses
6468 6.067568 1.327047 smallDoses
22945 8.010964 1.681648 largeDoses
18520 3.791084 0.304072 smallDoses
34914 11.773195 1.262621 largeDoses
6121 8.339588 1.443357 smallDoses
38063 2.563092 1.464013 didntLike
23410 5.954216 0.953782 didntLike
35073 9.288374 0.767318 largeDoses
52914 3.976796 1.043109 didntLike
16801 8.585227 1.455708 largeDoses
9533 1.271946 0.796506 smallDoses
16721 0.000000 0.242778 smallDoses
5832 0.000000 0.089749 smallDoses
44591 11.521298 0.300860 largeDoses
10143 1.139447 0.415373 smallDoses
21609 5.699090 1.391892 smallDoses
23817 2.449378 1.322560 didntLike
15640 0.000000 1.228380 smallDoses
8847 3.168365 0.053993 smallDoses
50939 10.428610 1.126257 largeDoses
28521 2.943070 1.446816 didntLike
32901 10.441348 0.975283 largeDoses
42850 12.478764 1.628726 largeDoses
13499 5.856902 0.363883 smallDoses
40345 2.476420 0.096075 didntLike
43547 1.826637 0.811457 didntLike
70758 4.324451 0.328235 didntLike
19780 1.376085 1.178359 smallDoses
44484 5.342462 0.394527 didntLike
54462 11.835521 0.693301 largeDoses
20085 12.423687 1.424264 largeDoses
42291 12.161273 0.071131 largeDoses
47550 8.148360 1.649194 largeDoses
11938 1.531067 1.549756 smallDoses
40699 3.200912 0.309679 didntLike
70908 8.862691 0.530506 didntLike
73989 6.370551 0.369350 didntLike
11872 2.468841 0.145060 smallDoses
48463 11.054212 0.141508 largeDoses
15987 2.037080 0.715243 smallDoses
70036 13.364030 0.549972 didntLike
32967 10.249135 0.192735 largeDoses
63249 10.464252 1.669767 didntLike
42795 9.424574 0.013725 largeDoses
14459 4.458902 0.268444 smallDoses
19973 0.000000 0.575976 smallDoses
5494 9.686082 1.029808 largeDoses
67902 13.649402 1.052618 didntLike
25621 13.181148 0.273014 largeDoses
27545 3.877472 0.401600 didntLike
58656 1.413952 0.451380 didntLike
7327 4.248986 1.430249 smallDoses
64555 8.779183 0.845947 didntLike
8998 4.156252 0.097109 smallDoses
11752 5.580018 0.158401 smallDoses
76319 15.040440 1.366898 didntLike
27665 12.793870 1.307323 largeDoses
67417 3.254877 0.669546 didntLike
21808 10.725607 0.588588 largeDoses
15326 8.256473 0.765891 smallDoses
20057 8.033892 1.618562 largeDoses
79341 10.702532 0.204792 didntLike
15636 5.062996 1.132555 smallDoses
35602 10.772286 0.668721 largeDoses
28544 1.892354 0.837028 didntLike
57663 1.019966 0.372320 didntLike
78727 15.546043 0.729742 didntLike
68255 11.638205 0.409125 didntLike
14964 3.427886 0.975616 smallDoses
21835 11.246174 1.475586 largeDoses
7487 0.000000 0.645045 smallDoses
8700 0.000000 1.424017 smallDoses
26226 8.242553 0.279069 largeDoses
65899 8.700060 0.101807 didntLike
6543 0.812344 0.260334 smallDoses
46556 2.448235 1.176829 didntLike
71038 13.230078 0.616147 didntLike
47657 0.236133 0.340840 didntLike
19600 11.155826 0.335131 largeDoses
37422 11.029636 0.505769 largeDoses
1363 2.901181 1.646633 smallDoses
26535 3.924594 1.143120 didntLike
47707 2.524806 1.292848 didntLike
38055 3.527474 1.449158 didntLike
6286 3.384281 0.889268 smallDoses
10747 0.000000 1.107592 smallDoses
44883 11.898890 0.406441 largeDoses
56823 3.529892 1.375844 didntLike
68086 11.442677 0.696919 didntLike
70242 10.308145 0.422722 didntLike
11409 8.540529 0.727373 smallDoses
67671 7.156949 1.691682 didntLike
61238 0.720675 0.847574 didntLike
17774 0.229405 1.038603 smallDoses
53376 3.399331 0.077501 didntLike
30930 6.157239 0.580133 didntLike
28987 1.239698 0.719989 didntLike
13655 6.036854 0.016548 smallDoses
7227 5.258665 0.933722 smallDoses
40409 12.393001 1.571281 largeDoses
13605 9.627613 0.935842 smallDoses
26400 11.130453 0.597610 largeDoses
13491 8.842595 0.349768 largeDoses
30232 10.690010 1.456595 largeDoses
43253 5.714718 1.674780 largeDoses
55536 3.052505 1.335804 didntLike
8807 0.000000 0.059025 smallDoses
25783 9.945307 1.287952 largeDoses
22812 2.719723 1.142148 didntLike
77826 11.154055 1.608486 didntLike
38172 2.687918 0.660836 didntLike
31676 10.037847 0.962245 largeDoses
74038 12.404762 1.112080 didntLike
44738 10.237305 0.633422 largeDoses
17410 4.745392 0.662520 smallDoses
5688 4.639461 1.569431 smallDoses
36642 3.149310 0.639669 didntLike
29956 13.406875 1.639194 largeDoses
60350 6.068668 0.881241 didntLike
23758 9.477022 0.899002 largeDoses
25780 3.897620 0.560201 smallDoses
11342 5.463615 1.203677 smallDoses
36109 3.369267 1.575043 didntLike
14292 5.234562 0.825954 smallDoses
11160 0.000000 0.722170 smallDoses
23762 12.979069 0.504068 largeDoses
39567 5.376564 0.557476 didntLike
25647 13.527910 1.586732 largeDoses
14814 2.196889 0.784587 smallDoses
73590 10.691748 0.007509 didntLike
35187 1.659242 0.447066 didntLike
49459 8.369667 0.656697 largeDoses
31657 13.157197 0.143248 largeDoses
6259 8.199667 0.908508 smallDoses
33101 4.441669 0.439381 largeDoses
27107 9.846492 0.644523 largeDoses
17824 0.019540 0.977949 smallDoses
43536 8.253774 0.748700 largeDoses
67705 6.038620 1.509646 didntLike
35283 6.091587 1.694641 largeDoses
71308 8.986820 1.225165 didntLike
31054 11.508473 1.624296 largeDoses
52387 8.807734 0.713922 largeDoses
40328 0.000000 0.816676 didntLike
34844 8.889202 1.665414 largeDoses
11607 3.178117 0.542752 smallDoses
64306 7.013795 0.139909 didntLike
32721 9.605014 0.065254 largeDoses
33170 1.230540 1.331674 didntLike
37192 10.412811 0.890803 largeDoses
13089 0.000000 0.567161 smallDoses
66491 9.699991 0.122011 didntLike
15941 0.000000 0.061191 smallDoses
4272 4.455293 0.272135 smallDoses
48812 3.020977 1.502803 didntLike
28818 8.099278 0.216317 largeDoses
35394 1.157764 1.603217 didntLike
71791 10.105396 0.121067 didntLike
40668 11.230148 0.408603 largeDoses
39580 9.070058 0.011379 largeDoses
11786 0.566460 0.478837 smallDoses
19251 0.000000 0.487300 smallDoses
56594 8.956369 1.193484 largeDoses
54495 1.523057 0.620528 didntLike
11844 2.749006 0.169855 smallDoses
45465 9.235393 0.188350 largeDoses
31033 10.555573 0.403927 largeDoses
16633 6.956372 1.519308 smallDoses
13887 0.636281 1.273984 smallDoses
52603 3.574737 0.075163 didntLike
72000 9.032486 1.461809 didntLike
68497 5.958993 0.023012 didntLike
35135 2.435300 1.211744 didntLike
26397 10.539731 1.638248 largeDoses
7313 7.646702 0.056513 smallDoses
91273 20.919349 0.644571 didntLike
24743 1.424726 0.838447 didntLike
31690 6.748663 0.890223 largeDoses
15432 2.289167 0.114881 smallDoses
58394 5.548377 0.402238 didntLike
33962 6.057227 0.432666 didntLike
31442 10.828595 0.559955 largeDoses
31044 11.318160 0.271094 largeDoses
29938 13.265311 0.633903 largeDoses
9875 0.000000 1.496715 smallDoses
51542 6.517133 0.402519 largeDoses
11878 4.934374 1.520028 smallDoses
69241 10.151738 0.896433 didntLike
37776 2.425781 1.559467 didntLike
68997 9.778962 1.195498 didntLike
67416 12.219950 0.657677 didntLike
59225 7.394151 0.954434 didntLike
29138 8.518535 0.742546 largeDoses
5962 2.798700 0.662632 smallDoses
10847 0.637930 0.617373 smallDoses
70527 10.750490 0.097415 didntLike
9610 0.625382 0.140969 smallDoses
64734 10.027968 0.282787 didntLike
25941 9.817347 0.364197 largeDoses
2763 0.646828 1.266069 smallDoses
55601 3.347111 0.914294 didntLike
31128 11.816892 0.193798 largeDoses
5181 0.000000 1.480198 smallDoses
69982 10.945666 0.993219 didntLike
52440 10.244706 0.280539 largeDoses
57350 2.579801 1.149172 didntLike
57869 2.630410 0.098869 didntLike
56557 11.746200 1.695517 largeDoses
42342 8.104232 1.326277 largeDoses
15560 12.409743 0.790295 largeDoses
34826 12.167844 1.328086 largeDoses
8569 3.198408 0.299287 smallDoses
77623 16.055513 0.541052 didntLike
78184 7.138659 0.158481 didntLike
7036 4.831041 0.761419 smallDoses
69616 10.082890 1.373611 didntLike
21546 10.066867 0.788470 largeDoses
36715 8.129538 0.329913 largeDoses
20522 3.012463 1.138108 smallDoses
42349 3.720391 0.845974 didntLike
9037 0.773493 1.148256 smallDoses
26728 10.962941 1.037324 largeDoses
587 0.177621 0.162614 smallDoses
48915 3.085853 0.967899 didntLike
9824 8.426781 0.202558 smallDoses
4135 1.825927 1.128347 smallDoses
9666 2.185155 1.010173 smallDoses
59333 7.184595 1.261338 didntLike
36198 0.000000 0.116525 didntLike
34909 8.901752 1.033527 largeDoses
47516 2.451497 1.358795 didntLike
55807 3.213631 0.432044 didntLike
14036 3.974739 0.723929 smallDoses
42856 9.601306 0.619232 largeDoses
64007 8.363897 0.445341 didntLike
59428 6.381484 1.365019 didntLike
13730 0.000000 1.403914 smallDoses
41740 9.609836 1.438105 largeDoses
63546 9.904741 0.985862 didntLike
30417 7.185807 1.489102 largeDoses
69636 5.466703 1.216571 didntLike
64660 0.000000 0.915898 didntLike
14883 4.575443 0.535671 smallDoses
7965 3.277076 1.010868 smallDoses
68620 10.246623 1.239634 didntLike
8738 2.341735 1.060235 smallDoses
7544 3.201046 0.498843 smallDoses
6377 6.066013 0.120927 smallDoses
36842 8.829379 0.895657 largeDoses
81046 15.833048 1.568245 didntLike
67736 13.516711 1.220153 didntLike
32492 0.664284 1.116755 didntLike
39299 6.325139 0.605109 largeDoses
77289 8.677499 0.344373 didntLike
33835 8.188005 0.964896 largeDoses
71890 9.414263 0.384030 didntLike
32054 9.196547 1.138253 largeDoses
38579 10.202968 0.452363 largeDoses
55984 2.119439 1.481661 didntLike
72694 13.635078 0.858314 didntLike
42299 0.083443 0.701669 didntLike
26635 9.149096 1.051446 largeDoses
8579 1.933803 1.374388 smallDoses
37302 14.115544 0.676198 largeDoses
22878 8.933736 0.943352 largeDoses
4364 2.661254 0.946117 smallDoses
4985 0.988432 1.305027 smallDoses
37068 2.063741 1.125946 didntLike
41137 2.220590 0.690754 didntLike
67759 6.424849 0.806641 didntLike
11831 1.156153 1.613674 smallDoses
34502 3.032720 0.601847 didntLike
4088 3.076828 0.952089 smallDoses
15199 0.000000 0.318105 smallDoses
17309 7.750480 0.554015 largeDoses
42816 10.958135 1.482500 largeDoses
43751 10.222018 0.488678 largeDoses
58335 2.367988 0.435741 didntLike
75039 7.686054 1.381455 didntLike
42878 11.464879 1.481589 largeDoses
42770 11.075735 0.089726 largeDoses
8848 3.543989 0.345853 smallDoses
31340 8.123889 1.282880 largeDoses
41413 4.331769 0.754467 largeDoses
12731 0.120865 1.211961 smallDoses
22447 6.116109 0.701523 largeDoses
33564 7.474534 0.505790 largeDoses
48907 8.819454 0.649292 largeDoses
8762 6.802144 0.615284 smallDoses
46696 12.666325 0.931960 largeDoses
36851 8.636180 0.399333 largeDoses
67639 11.730991 1.289833 didntLike
171 8.132449 0.039062 smallDoses
26674 10.296589 1.496144 largeDoses
8739 7.583906 1.005764 smallDoses
66668 9.777806 0.496377 didntLike
68732 8.833546 0.513876 didntLike
69995 4.907899 1.518036 didntLike
82008 8.362736 1.285939 didntLike
25054 9.084726 1.606312 largeDoses
33085 14.164141 0.560970 largeDoses
41379 9.080683 0.989920 largeDoses
39417 6.522767 0.038548 largeDoses
12556 3.690342 0.462281 smallDoses
39432 3.563706 0.242019 didntLike
38010 1.065870 1.141569 didntLike
69306 6.683796 1.456317 didntLike
38000 1.712874 0.243945 didntLike
46321 13.109929 1.280111 largeDoses
66293 11.327910 0.780977 didntLike
22730 4.545711 1.233254 didntLike
5952 3.367889 0.468104 smallDoses
72308 8.326224 0.567347 didntLike
60338 8.978339 1.442034 didntLike
13301 5.655826 1.582159 smallDoses
27884 8.855312 0.570684 largeDoses
11188 6.649568 0.544233 smallDoses
56796 3.966325 0.850410 didntLike
8571 1.924045 1.664782 smallDoses
4914 6.004812 0.280369 smallDoses
10784 0.000000 0.375849 smallDoses
39296 9.923018 0.092192 largeDoses
13113 2.389084 0.119284 smallDoses
70204 13.663189 0.133251 didntLike
46813 11.434976 0.321216 largeDoses
11697 0.358270 1.292858 smallDoses
44183 9.598873 0.223524 largeDoses
2225 6.375275 0.608040 smallDoses
29066 11.580532 0.458401 largeDoses
4245 5.319324 1.598070 smallDoses
34379 4.324031 1.603481 didntLike
44441 2.358370 1.273204 didntLike
2022 0.000000 1.182708 smallDoses
26866 12.824376 0.890411 largeDoses
57070 1.587247 1.456982 didntLike
32932 8.510324 1.520683 largeDoses
51967 10.428884 1.187734 largeDoses
44432 8.346618 0.042318 largeDoses
67066 7.541444 0.809226 didntLike
17262 2.540946 1.583286 smallDoses
79728 9.473047 0.692513 didntLike
14259 0.352284 0.474080 smallDoses
6122 0.000000 0.589826 smallDoses
76879 12.405171 0.567201 didntLike
11426 4.126775 0.871452 smallDoses
2493 0.034087 0.335848 smallDoses
19910 1.177634 0.075106 smallDoses
10939 0.000000 0.479996 smallDoses
17716 0.994909 0.611135 smallDoses
31390 11.053664 1.180117 largeDoses
20375 0.000000 1.679729 smallDoses
26309 2.495011 1.459589 didntLike
33484 11.516831 0.001156 largeDoses
45944 9.213215 0.797743 largeDoses
4249 5.332865 0.109288 smallDoses
6089 0.000000 1.689771 smallDoses
7513 0.000000 1.126053 smallDoses
27862 12.640062 1.690903 largeDoses
39038 2.693142 1.317518 didntLike
19218 3.328969 0.268271 smallDoses
62911 7.193166 1.117456 didntLike
77758 6.615512 1.521012 didntLike
27940 8.000567 0.835341 largeDoses
2194 4.017541 0.512104 smallDoses
37072 13.245859 0.927465 largeDoses
15585 5.970616 0.813624 smallDoses
25577 11.668719 0.886902 largeDoses
8777 4.283237 1.272728 smallDoses
29016 10.742963 0.971401 largeDoses
21910 12.326672 1.592608 largeDoses
12916 0.000000 0.344622 smallDoses
10976 0.000000 0.922846 smallDoses
79065 10.602095 0.573686 didntLike
36759 10.861859 1.155054 largeDoses
50011 1.229094 1.638690 didntLike
1155 0.410392 1.313401 smallDoses
71600 14.552711 0.616162 didntLike
30817 14.178043 0.616313 largeDoses
54559 14.136260 0.362388 didntLike
29764 0.093534 1.207194 didntLike
69100 10.929021 0.403110 didntLike
47324 11.432919 0.825959 largeDoses
73199 9.134527 0.586846 didntLike
44461 5.071432 1.421420 didntLike
45617 11.460254 1.541749 largeDoses
28221 11.620039 1.103553 largeDoses
7091 4.022079 0.207307 smallDoses
6110 3.057842 1.631262 smallDoses
79016 7.782169 0.404385 didntLike
18289 7.981741 0.929789 largeDoses
43679 4.601363 0.268326 didntLike
22075 2.595564 1.115375 didntLike
23535 10.049077 0.391045 largeDoses
25301 3.265444 1.572970 smallDoses
32256 11.780282 1.511014 largeDoses
36951 3.075975 0.286284 didntLike
31290 1.795307 0.194343 didntLike
38953 11.106979 0.202415 largeDoses
35257 5.994413 0.800021 didntLike
25847 9.706062 1.012182 largeDoses
32680 10.582992 0.836025 largeDoses
62018 7.038266 1.458979 didntLike
9074 0.023771 0.015314 smallDoses
33004 12.823982 0.676371 largeDoses
44588 3.617770 0.493483 didntLike
32565 8.346684 0.253317 largeDoses
38563 6.104317 0.099207 didntLike
75668 16.207776 0.584973 didntLike
9069 6.401969 1.691873 smallDoses
53395 2.298696 0.559757 didntLike
28631 7.661515 0.055981 largeDoses
71036 6.353608 1.645301 didntLike
71142 10.442780 0.335870 didntLike
37653 3.834509 1.346121 didntLike
76839 10.998587 0.584555 didntLike
9916 2.695935 1.512111 smallDoses
38889 3.356646 0.324230 didntLike
39075 14.677836 0.793183 largeDoses
48071 1.551934 0.130902 didntLike
7275 2.464739 0.223502 smallDoses
41804 1.533216 1.007481 didntLike
35665 12.473921 0.162910 largeDoses
67956 6.491596 0.032576 didntLike
41892 10.506276 1.510747 largeDoses
38844 4.380388 0.748506 didntLike
74197 13.670988 1.687944 didntLike
14201 8.317599 0.390409 smallDoses
3908 0.000000 0.556245 smallDoses
2459 0.000000 0.290218 smallDoses
32027 10.095799 1.188148 largeDoses
12870 0.860695 1.482632 smallDoses
9880 1.557564 0.711278 smallDoses
72784 10.072779 0.756030 didntLike
17521 0.000000 0.431468 smallDoses
50283 7.140817 0.883813 largeDoses
33536 11.384548 1.438307 largeDoses
9452 3.214568 1.083536 smallDoses
37457 11.720655 0.301636 largeDoses
17724 6.374475 1.475925 largeDoses
43869 5.749684 0.198875 largeDoses
264 3.871808 0.552602 smallDoses
25736 8.336309 0.636238 largeDoses
39584 9.710442 1.503735 largeDoses
31246 1.532611 1.433898 didntLike
49567 9.785785 0.984614 largeDoses
7052 2.633627 1.097866 smallDoses
35493 9.238935 0.494701 largeDoses
10986 1.205656 1.398803 smallDoses
49508 3.124909 1.670121 didntLike
5734 7.935489 1.585044 smallDoses
65479 12.746636 1.560352 didntLike
77268 10.732563 0.545321 didntLike
28490 3.977403 0.766103 didntLike
13546 4.194426 0.450663 smallDoses
37166 9.610286 0.142912 largeDoses
16381 4.797555 1.260455 smallDoses
10848 1.615279 0.093002 smallDoses
35405 4.614771 1.027105 didntLike
15917 0.000000 1.369726 smallDoses
6131 0.608457 0.512220 smallDoses
67432 6.558239 0.667579 didntLike
30354 12.315116 0.197068 largeDoses
69696 7.014973 1.494616 didntLike
33481 8.822304 1.194177 largeDoses
43075 10.086796 0.570455 largeDoses
38343 7.241614 1.661627 largeDoses
14318 4.602395 1.511768 smallDoses
5367 7.434921 0.079792 smallDoses
37894 10.467570 1.595418 largeDoses
36172 9.948127 0.003663 largeDoses
40123 2.478529 1.568987 didntLike
10976 5.938545 0.878540 smallDoses
12705 0.000000 0.948004 smallDoses
12495 5.559181 1.357926 smallDoses
35681 9.776654 0.535966 largeDoses
46202 3.092056 0.490906 didntLike
11505 0.000000 1.623311 smallDoses
22834 4.459495 0.538867 didntLike
49901 8.334306 1.646600 largeDoses
71932 11.226654 0.384686 didntLike
13279 3.904737 1.597294 smallDoses
49112 7.038205 1.211329 largeDoses
77129 9.836120 1.054340 didntLike
37447 1.990976 0.378081 didntLike
62397 9.005302 0.485385 didntLike
0 1.772510 1.039873 smallDoses
15476 0.458674 0.819560 smallDoses
40625 10.003919 0.231658 largeDoses
36706 0.520807 1.476008 didntLike
28580 10.678214 1.431837 largeDoses
25862 4.425992 1.363842 didntLike
63488 12.035355 0.831222 didntLike
33944 10.606732 1.253858 largeDoses
30099 1.568653 0.684264 didntLike
13725 2.545434 0.024271 smallDoses
36768 10.264062 0.982593 largeDoses
64656 9.866276 0.685218 didntLike
14927 0.142704 0.057455 smallDoses
43231 9.853270 1.521432 largeDoses
66087 6.596604 1.653574 didntLike
19806 2.602287 1.321481 smallDoses
41081 10.411776 0.664168 largeDoses
10277 7.083449 0.622589 smallDoses
7014 2.080068 1.254441 smallDoses
17275 0.522844 1.622458 smallDoses
31600 10.362000 1.544827 largeDoses
59956 3.412967 1.035410 didntLike
42181 6.796548 1.112153 largeDoses
51743 4.092035 0.075804 didntLike
5194 2.763811 1.564325 smallDoses
30832 12.547439 1.402443 largeDoses
7976 5.708052 1.596152 smallDoses
14602 4.558025 0.375806 smallDoses
41571 11.642307 0.438553 largeDoses
55028 3.222443 0.121399 didntLike
5837 4.736156 0.029871 smallDoses
39808 10.839526 0.836323 largeDoses
20944 4.194791 0.235483 smallDoses
22146 14.936259 0.888582 largeDoses
42169 3.310699 1.521855 didntLike
7010 2.971931 0.034321 smallDoses
3807 9.261667 0.537807 smallDoses
29241 7.791833 1.111416 largeDoses
52696 1.480470 1.028750 didntLike
42545 3.677287 0.244167 didntLike
24437 2.202967 1.370399 didntLike
16037 5.796735 0.935893 smallDoses
8493 3.063333 0.144089 smallDoses
68080 11.233094 0.492487 didntLike
59016 1.965570 0.005697 didntLike
11810 8.616719 0.137419 smallDoses
68630 6.609989 1.083505 didntLike
7629 1.712639 1.086297 smallDoses
71992 10.117445 1.299319 didntLike
13398 0.000000 1.104178 smallDoses
26241 9.824777 1.346821 largeDoses
11160 1.653089 0.980949 smallDoses
76701 18.178822 1.473671 didntLike
32174 6.781126 0.885340 largeDoses
45043 8.206750 1.549223 largeDoses
42173 10.081853 1.376745 largeDoses
69801 6.288742 0.112799 didntLike
41737 3.695937 1.543589 didntLike
46979 6.726151 1.069380 largeDoses
79267 12.969999 1.568223 didntLike
4615 2.661390 1.531933 smallDoses
32907 7.072764 1.117386 largeDoses
37444 9.123366 1.318988 largeDoses
569 3.743946 1.039546 smallDoses
8723 2.341300 0.219361 smallDoses
6024 0.541913 0.592348 smallDoses
52252 2.310828 1.436753 didntLike
8358 6.226597 1.427316 smallDoses
26166 7.277876 0.489252 largeDoses
18471 0.000000 0.389459 smallDoses
3386 7.218221 1.098828 smallDoses
41544 8.777129 1.111464 largeDoses
10480 2.813428 0.819419 smallDoses
5894 2.268766 1.412130 smallDoses
7273 6.283627 0.571292 smallDoses
22272 7.520081 1.626868 largeDoses
31369 11.739225 0.027138 largeDoses
10708 3.746883 0.877350 smallDoses
69364 12.089835 0.521631 didntLike
37760 12.310404 0.259339 largeDoses
13004 0.000000 0.671355 smallDoses
37885 2.728800 0.331502 didntLike
52555 10.814342 0.607652 largeDoses
38997 12.170268 0.844205 largeDoses
69698 6.698371 0.240084 didntLike
11783 3.632672 1.643479 smallDoses
47636 10.059991 0.892361 largeDoses
15744 1.887674 0.756162 smallDoses
69058 8.229125 0.195886 didntLike
33057 7.817082 0.476102 largeDoses
28681 12.277230 0.076805 largeDoses
34042 10.055337 1.115778 largeDoses
29928 3.596002 1.485952 didntLike
9734 2.755530 1.420655 smallDoses
7344 7.780991 0.513048 smallDoses
7387 0.093705 0.391834 smallDoses
33957 8.481567 0.520078 largeDoses
9936 3.865584 0.110062 smallDoses
36094 9.683709 0.779984 largeDoses
39835 10.617255 1.359970 largeDoses
64486 7.203216 1.624762 didntLike
0 7.601414 1.215605 smallDoses
39539 1.386107 1.417070 didntLike
66972 9.129253 0.594089 didntLike
15029 1.363447 0.620841 smallDoses
44909 3.181399 0.359329 didntLike
38183 13.365414 0.217011 largeDoses
37372 4.207717 1.289767 didntLike
0 4.088395 0.870075 smallDoses
17786 3.327371 1.142505 smallDoses
39055 1.303323 1.235650 didntLike
37045 7.999279 1.581763 largeDoses
6435 2.217488 0.864536 smallDoses
72265 7.751808 0.192451 didntLike
28152 14.149305 1.591532 largeDoses
25931 8.765721 0.152808 largeDoses
7538 3.408996 0.184896 smallDoses
1315 1.251021 0.112340 smallDoses
12292 6.160619 1.537165 smallDoses
49248 1.034538 1.585162 didntLike
9025 0.000000 1.034635 smallDoses
13438 2.355051 0.542603 smallDoses
69683 6.614543 0.153771 didntLike
25374 10.245062 1.450903 largeDoses
55264 3.467074 1.231019 didntLike
38324 7.487678 1.572293 largeDoses
69643 4.624115 1.185192 didntLike
44058 8.995957 1.436479 largeDoses
41316 11.564476 0.007195 largeDoses
29119 3.440948 0.078331 didntLike
51656 1.673603 0.732746 didntLike
3030 4.719341 0.699755 smallDoses
35695 10.304798 1.576488 largeDoses
1537 2.086915 1.199312 smallDoses
9083 6.338220 1.131305 smallDoses
47744 8.254926 0.710694 largeDoses
71372 16.067108 0.974142 didntLike
37980 1.723201 0.310488 didntLike
42385 3.785045 0.876904 didntLike
22687 2.557561 0.123738 didntLike
39512 9.852220 1.095171 largeDoses
11885 3.679147 1.557205 smallDoses
4944 9.789681 0.852971 smallDoses
73230 14.958998 0.526707 didntLike
17585 11.182148 1.288459 largeDoses
68737 7.528533 1.657487 didntLike
13818 5.253802 1.378603 smallDoses
31662 13.946752 1.426657 largeDoses
86686 15.557263 1.430029 didntLike
43214 12.483550 0.688513 largeDoses
24091 2.317302 1.411137 didntLike
52544 10.069724 0.766119 largeDoses
61861 5.792231 1.615483 didntLike
47903 4.138435 0.475994 didntLike
37190 12.929517 0.304378 largeDoses
6013 9.378238 0.307392 smallDoses
27223 8.361362 1.643204 largeDoses
69027 7.939406 1.325042 didntLike
78642 10.735384 0.705788 didntLike
30254 11.592723 0.286188 largeDoses
21704 10.098356 0.704748 largeDoses
34985 9.299025 0.545337 largeDoses
31316 11.158297 0.218067 largeDoses
76368 16.143900 0.558388 didntLike
27953 10.971700 1.221787 largeDoses
152 0.000000 0.681478 smallDoses
9146 3.178961 1.292692 smallDoses
75346 17.625350 0.339926 didntLike
26376 1.995833 0.267826 didntLike
35255 10.640467 0.416181 largeDoses
19198 9.628339 0.985462 largeDoses
12518 4.662664 0.495403 smallDoses
25453 5.754047 1.382742 smallDoses
12530 0.000000 0.037146 smallDoses
62230 9.334332 0.198118 didntLike
9517 3.846162 0.619968 smallDoses
71161 10.685084 0.678179 didntLike
1593 4.752134 0.359205 smallDoses
33794 0.697630 0.966786 didntLike
39710 10.365836 0.505898 largeDoses
16941 0.461478 0.352865 smallDoses
69209 11.339537 1.068740 didntLike
4446 5.420280 0.127310 smallDoses
9347 3.469955 1.619947 smallDoses
55635 8.517067 0.994858 largeDoses
65889 8.306512 0.413690 didntLike
10753 2.628690 0.444320 smallDoses
7055 0.000000 0.802985 smallDoses
7905 0.000000 1.170397 smallDoses
53447 7.298767 1.582346 largeDoses
9194 7.331319 1.277988 smallDoses
61914 9.392269 0.151617 didntLike
15630 5.541201 1.180596 smallDoses
79194 15.149460 0.537540 didntLike
12268 5.515189 0.250562 smallDoses
33682 7.728898 0.920494 largeDoses
26080 11.318785 1.510979 largeDoses
19119 3.574709 1.531514 smallDoses
30902 7.350965 0.026332 largeDoses
63039 7.122363 1.630177 didntLike
51136 1.828412 1.013702 didntLike
35262 10.117989 1.156862 largeDoses
42776 11.309897 0.086291 largeDoses
64191 8.342034 1.388569 didntLike
15436 0.241714 0.715577 smallDoses
14402 10.482619 1.694972 smallDoses
6341 9.289510 1.428879 smallDoses
14113 4.269419 0.134181 smallDoses
6390 0.000000 0.189456 smallDoses
8794 0.817119 0.143668 smallDoses
43432 1.508394 0.652651 didntLike
38334 9.359918 0.052262 largeDoses
34068 10.052333 0.550423 largeDoses
30819 11.111660 0.989159 largeDoses
22239 11.265971 0.724054 largeDoses
28725 10.383830 0.254836 largeDoses
57071 3.878569 1.377983 didntLike
72420 13.679237 0.025346 didntLike
28294 10.526846 0.781569 largeDoses
9896 0.000000 0.924198 smallDoses
65821 4.106727 1.085669 didntLike
7645 8.118856 1.470686 smallDoses
71289 7.796874 0.052336 didntLike
5128 2.789669 1.093070 smallDoses
13711 6.226962 0.287251 smallDoses
22240 10.169548 1.660104 largeDoses
15092 0.000000 1.370549 smallDoses
5017 7.513353 0.137348 smallDoses
10141 8.240793 0.099735 smallDoses
35570 14.612797 1.247390 largeDoses
46893 3.562976 0.445386 didntLike
8178 3.230482 1.331698 smallDoses
55783 3.612548 1.551911 didntLike
1148 0.000000 0.332365 smallDoses
10062 3.931299 0.487577 smallDoses
74124 14.752342 1.155160 didntLike
66603 10.261887 1.628085 didntLike
11893 2.787266 1.570402 smallDoses
50908 15.112319 1.324132 largeDoses
39891 5.184553 0.223382 largeDoses
65915 3.868359 0.128078 didntLike
65678 3.507965 0.028904 didntLike
62996 11.019254 0.427554 didntLike
36851 3.812387 0.655245 didntLike
36669 11.056784 0.378725 largeDoses
38876 8.826880 1.002328 largeDoses
26878 11.173861 1.478244 largeDoses
46246 11.506465 0.421993 largeDoses
12761 7.798138 0.147917 largeDoses
35282 10.155081 1.370039 largeDoses
68306 10.645275 0.693453 didntLike
31262 9.663200 1.521541 largeDoses
34754 10.790404 1.312679 largeDoses
13408 2.810534 0.219962 smallDoses
30365 9.825999 1.388500 largeDoses
10709 1.421316 0.677603 smallDoses
24332 11.123219 0.809107 largeDoses
45517 13.402206 0.661524 largeDoses
6178 1.212255 0.836807 smallDoses
10639 1.568446 1.297469 smallDoses
29613 3.343473 1.312266 didntLike
22392 5.400155 0.193494 didntLike
51126 3.818754 0.590905 didntLike
53644 7.973845 0.307364 largeDoses
51417 9.078824 0.734876 largeDoses
24859 0.153467 0.766619 didntLike
61732 8.325167 0.028479 didntLike
71128 7.092089 1.216733 didntLike
27276 5.192485 1.094409 largeDoses
30453 10.340791 1.087721 largeDoses
18670 2.077169 1.019775 smallDoses
70600 10.151966 0.993105 didntLike
12683 0.046826 0.809614 smallDoses
81597 11.221874 1.395015 didntLike
69959 14.497963 1.019254 didntLike
8124 3.554508 0.533462 smallDoses
18867 3.522673 0.086725 smallDoses
80886 14.531655 0.380172 didntLike
55895 3.027528 0.885457 didntLike
31587 1.845967 0.488985 didntLike
10591 10.226164 0.804403 largeDoses
70096 10.965926 1.212328 didntLike
53151 2.129921 1.477378 didntLike
11992 0.000000 1.606849 smallDoses
33114 9.489005 0.827814 largeDoses
7413 0.000000 1.020797 smallDoses
10583 0.000000 1.270167 smallDoses
58668 6.556676 0.055183 didntLike
35018 9.959588 0.060020 largeDoses
70843 7.436056 1.479856 didntLike
14011 0.404888 0.459517 smallDoses
35015 9.952942 1.650279 largeDoses
70839 15.600252 0.021935 didntLike
3024 2.723846 0.387455 smallDoses
5526 0.513866 1.323448 smallDoses
5113 0.000000 0.861859 smallDoses
20851 7.280602 1.438470 smallDoses
40999 9.161978 1.110180 largeDoses
15823 0.991725 0.730979 smallDoses
35432 7.398380 0.684218 largeDoses
53711 12.149747 1.389088 largeDoses
64371 9.149678 0.874905 didntLike
9289 9.666576 1.370330 smallDoses
60613 3.620110 0.287767 didntLike
18338 5.238800 1.253646 smallDoses
22845 14.715782 1.503758 largeDoses
74676 14.445740 1.211160 didntLike
34143 13.609528 0.364240 largeDoses
14153 3.141585 0.424280 smallDoses
9327 0.000000 0.120947 smallDoses
18991 0.454750 1.033280 smallDoses
9193 0.510310 0.016395 smallDoses
2285 3.864171 0.616349 smallDoses
9493 6.724021 0.563044 smallDoses
2371 4.289375 0.012563 smallDoses
13963 0.000000 1.437030 smallDoses
2299 3.733617 0.698269 smallDoses
5262 2.002589 1.380184 smallDoses
4659 2.502627 0.184223 smallDoses
17582 6.382129 0.876581 smallDoses
27750 8.546741 0.128706 largeDoses
9868 2.694977 0.432818 smallDoses
18333 3.951256 0.333300 smallDoses
3780 9.856183 0.329181 smallDoses
18190 2.068962 0.429927 smallDoses
11145 3.410627 0.631838 smallDoses
68846 9.974715 0.669787 didntLike
26575 10.650102 0.866627 largeDoses
48111 9.134528 0.728045 largeDoses
43757 7.882601 1.332446 largeDoses

1.2把文本文件初步处理,分类换成数字datingTestSet2.txt:

40920    8.326976    0.953952    3
14488 7.153469 1.673904 2
26052 1.441871 0.805124 1
75136 13.147394 0.428964 1
38344 1.669788 0.134296 1
72993 10.141740 1.032955 1
35948 6.830792 1.213192 3
42666 13.276369 0.543880 3
67497 8.631577 0.749278 1
35483 12.273169 1.508053 3
50242 3.723498 0.831917 1
63275 8.385879 1.669485 1
5569 4.875435 0.728658 2
51052 4.680098 0.625224 1
77372 15.299570 0.331351 1
43673 1.889461 0.191283 1
61364 7.516754 1.269164 1
69673 14.239195 0.261333 1
15669 0.000000 1.250185 2
28488 10.528555 1.304844 3
6487 3.540265 0.822483 2
37708 2.991551 0.833920 1
22620 5.297865 0.638306 2
28782 6.593803 0.187108 3
19739 2.816760 1.686209 2
36788 12.458258 0.649617 3
5741 0.000000 1.656418 2
28567 9.968648 0.731232 3
6808 1.364838 0.640103 2
41611 0.230453 1.151996 1
36661 11.865402 0.882810 3
43605 0.120460 1.352013 1
15360 8.545204 1.340429 3
63796 5.856649 0.160006 1
10743 9.665618 0.778626 2
70808 9.778763 1.084103 1
72011 4.932976 0.632026 1
5914 2.216246 0.587095 2
14851 14.305636 0.632317 3
33553 12.591889 0.686581 3
44952 3.424649 1.004504 1
17934 0.000000 0.147573 2
27738 8.533823 0.205324 3
29290 9.829528 0.238620 3
42330 11.492186 0.263499 3
36429 3.570968 0.832254 1
39623 1.771228 0.207612 1
32404 3.513921 0.991854 1
27268 4.398172 0.975024 1
5477 4.276823 1.174874 2
14254 5.946014 1.614244 2
68613 13.798970 0.724375 1
41539 10.393591 1.663724 3
7917 3.007577 0.297302 2
21331 1.031938 0.486174 2
8338 4.751212 0.064693 2
5176 3.692269 1.655113 2
18983 10.448091 0.267652 3
68837 10.585786 0.329557 1
13438 1.604501 0.069064 2
48849 3.679497 0.961466 1
12285 3.795146 0.696694 2
7826 2.531885 1.659173 2
5565 9.733340 0.977746 2
10346 6.093067 1.413798 2
1823 7.712960 1.054927 2
9744 11.470364 0.760461 3
16857 2.886529 0.934416 2
39336 10.054373 1.138351 3
65230 9.972470 0.881876 1
2463 2.335785 1.366145 2
27353 11.375155 1.528626 3
16191 0.000000 0.605619 2
12258 4.126787 0.357501 2
42377 6.319522 1.058602 1
25607 8.680527 0.086955 3
77450 14.856391 1.129823 1
58732 2.454285 0.222380 1
46426 7.292202 0.548607 3
32688 8.745137 0.857348 3
64890 8.579001 0.683048 1
8554 2.507302 0.869177 2
28861 11.415476 1.505466 3
42050 4.838540 1.680892 1
32193 10.339507 0.583646 3
64895 6.573742 1.151433 1
2355 6.539397 0.462065 2
0 2.209159 0.723567 2
70406 11.196378 0.836326 1
57399 4.229595 0.128253 1
41732 9.505944 0.005273 3
11429 8.652725 1.348934 3
75270 17.101108 0.490712 1
5459 7.871839 0.717662 2
73520 8.262131 1.361646 1
40279 9.015635 1.658555 3
21540 9.215351 0.806762 3
17694 6.375007 0.033678 2
22329 2.262014 1.022169 1
46570 5.677110 0.709469 1
42403 11.293017 0.207976 3
33654 6.590043 1.353117 1
9171 4.711960 0.194167 2
28122 8.768099 1.108041 3
34095 11.502519 0.545097 3
1774 4.682812 0.578112 2
40131 12.446578 0.300754 3
13994 12.908384 1.657722 3
77064 12.601108 0.974527 1
11210 3.929456 0.025466 2
6122 9.751503 1.182050 3
15341 3.043767 0.888168 2
44373 4.391522 0.807100 1
28454 11.695276 0.679015 3
63771 7.879742 0.154263 1
9217 5.613163 0.933632 2
69076 9.140172 0.851300 1
24489 4.258644 0.206892 1
16871 6.799831 1.221171 2
39776 8.752758 0.484418 3
5901 1.123033 1.180352 2
40987 10.833248 1.585426 3
7479 3.051618 0.026781 2
38768 5.308409 0.030683 3
4933 1.841792 0.028099 2
32311 2.261978 1.605603 1
26501 11.573696 1.061347 3
37433 8.038764 1.083910 3
23503 10.734007 0.103715 3
68607 9.661909 0.350772 1
27742 9.005850 0.548737 3
11303 0.000000 0.539131 2
0 5.757140 1.062373 2
32729 9.164656 1.624565 3
24619 1.318340 1.436243 1
42414 14.075597 0.695934 3
20210 10.107550 1.308398 3
33225 7.960293 1.219760 3
54483 6.317292 0.018209 1
18475 12.664194 0.595653 3
33926 2.906644 0.581657 1
43865 2.388241 0.913938 1
26547 6.024471 0.486215 3
44404 7.226764 1.255329 3
16674 4.183997 1.275290 2
8123 11.850211 1.096981 3
42747 11.661797 1.167935 3
56054 3.574967 0.494666 1
10933 0.000000 0.107475 2
18121 7.937657 0.904799 3
11272 3.365027 1.014085 2
16297 0.000000 0.367491 2
28168 13.860672 1.293270 3
40963 10.306714 1.211594 3
31685 7.228002 0.670670 3
55164 4.508740 1.036192 1
17595 0.366328 0.163652 2
1862 3.299444 0.575152 2
57087 0.573287 0.607915 1
63082 9.183738 0.012280 1
51213 7.842646 1.060636 3
6487 4.750964 0.558240 2
4805 11.438702 1.556334 3
30302 8.243063 1.122768 3
68680 7.949017 0.271865 1
17591 7.875477 0.227085 2
74391 9.569087 0.364856 1
37217 7.750103 0.869094 3
42814 0.000000 1.515293 1
14738 3.396030 0.633977 2
19896 11.916091 0.025294 3
14673 0.460758 0.689586 2
32011 13.087566 0.476002 3
58736 4.589016 1.672600 1
54744 8.397217 1.534103 1
29482 5.562772 1.689388 1
27698 10.905159 0.619091 3
11443 1.311441 1.169887 2
56117 10.647170 0.980141 3
39514 0.000000 0.481918 1
26627 8.503025 0.830861 3
16525 0.436880 1.395314 2
24368 6.127867 1.102179 1
22160 12.112492 0.359680 3
6030 1.264968 1.141582 2
6468 6.067568 1.327047 2
22945 8.010964 1.681648 3
18520 3.791084 0.304072 2
34914 11.773195 1.262621 3
6121 8.339588 1.443357 2
38063 2.563092 1.464013 1
23410 5.954216 0.953782 1
35073 9.288374 0.767318 3
52914 3.976796 1.043109 1
16801 8.585227 1.455708 3
9533 1.271946 0.796506 2
16721 0.000000 0.242778 2
5832 0.000000 0.089749 2
44591 11.521298 0.300860 3
10143 1.139447 0.415373 2
21609 5.699090 1.391892 2
23817 2.449378 1.322560 1
15640 0.000000 1.228380 2
8847 3.168365 0.053993 2
50939 10.428610 1.126257 3
28521 2.943070 1.446816 1
32901 10.441348 0.975283 3
42850 12.478764 1.628726 3
13499 5.856902 0.363883 2
40345 2.476420 0.096075 1
43547 1.826637 0.811457 1
70758 4.324451 0.328235 1
19780 1.376085 1.178359 2
44484 5.342462 0.394527 1
54462 11.835521 0.693301 3
20085 12.423687 1.424264 3
42291 12.161273 0.071131 3
47550 8.148360 1.649194 3
11938 1.531067 1.549756 2
40699 3.200912 0.309679 1
70908 8.862691 0.530506 1
73989 6.370551 0.369350 1
11872 2.468841 0.145060 2
48463 11.054212 0.141508 3
15987 2.037080 0.715243 2
70036 13.364030 0.549972 1
32967 10.249135 0.192735 3
63249 10.464252 1.669767 1
42795 9.424574 0.013725 3
14459 4.458902 0.268444 2
19973 0.000000 0.575976 2
5494 9.686082 1.029808 3
67902 13.649402 1.052618 1
25621 13.181148 0.273014 3
27545 3.877472 0.401600 1
58656 1.413952 0.451380 1
7327 4.248986 1.430249 2
64555 8.779183 0.845947 1
8998 4.156252 0.097109 2
11752 5.580018 0.158401 2
76319 15.040440 1.366898 1
27665 12.793870 1.307323 3
67417 3.254877 0.669546 1
21808 10.725607 0.588588 3
15326 8.256473 0.765891 2
20057 8.033892 1.618562 3
79341 10.702532 0.204792 1
15636 5.062996 1.132555 2
35602 10.772286 0.668721 3
28544 1.892354 0.837028 1
57663 1.019966 0.372320 1
78727 15.546043 0.729742 1
68255 11.638205 0.409125 1
14964 3.427886 0.975616 2
21835 11.246174 1.475586 3
7487 0.000000 0.645045 2
8700 0.000000 1.424017 2
26226 8.242553 0.279069 3
65899 8.700060 0.101807 1
6543 0.812344 0.260334 2
46556 2.448235 1.176829 1
71038 13.230078 0.616147 1
47657 0.236133 0.340840 1
19600 11.155826 0.335131 3
37422 11.029636 0.505769 3
1363 2.901181 1.646633 2
26535 3.924594 1.143120 1
47707 2.524806 1.292848 1
38055 3.527474 1.449158 1
6286 3.384281 0.889268 2
10747 0.000000 1.107592 2
44883 11.898890 0.406441 3
56823 3.529892 1.375844 1
68086 11.442677 0.696919 1
70242 10.308145 0.422722 1
11409 8.540529 0.727373 2
67671 7.156949 1.691682 1
61238 0.720675 0.847574 1
17774 0.229405 1.038603 2
53376 3.399331 0.077501 1
30930 6.157239 0.580133 1
28987 1.239698 0.719989 1
13655 6.036854 0.016548 2
7227 5.258665 0.933722 2
40409 12.393001 1.571281 3
13605 9.627613 0.935842 2
26400 11.130453 0.597610 3
13491 8.842595 0.349768 3
30232 10.690010 1.456595 3
43253 5.714718 1.674780 3
55536 3.052505 1.335804 1
8807 0.000000 0.059025 2
25783 9.945307 1.287952 3
22812 2.719723 1.142148 1
77826 11.154055 1.608486 1
38172 2.687918 0.660836 1
31676 10.037847 0.962245 3
74038 12.404762 1.112080 1
44738 10.237305 0.633422 3
17410 4.745392 0.662520 2
5688 4.639461 1.569431 2
36642 3.149310 0.639669 1
29956 13.406875 1.639194 3
60350 6.068668 0.881241 1
23758 9.477022 0.899002 3
25780 3.897620 0.560201 2
11342 5.463615 1.203677 2
36109 3.369267 1.575043 1
14292 5.234562 0.825954 2
11160 0.000000 0.722170 2
23762 12.979069 0.504068 3
39567 5.376564 0.557476 1
25647 13.527910 1.586732 3
14814 2.196889 0.784587 2
73590 10.691748 0.007509 1
35187 1.659242 0.447066 1
49459 8.369667 0.656697 3
31657 13.157197 0.143248 3
6259 8.199667 0.908508 2
33101 4.441669 0.439381 3
27107 9.846492 0.644523 3
17824 0.019540 0.977949 2
43536 8.253774 0.748700 3
67705 6.038620 1.509646 1
35283 6.091587 1.694641 3
71308 8.986820 1.225165 1
31054 11.508473 1.624296 3
52387 8.807734 0.713922 3
40328 0.000000 0.816676 1
34844 8.889202 1.665414 3
11607 3.178117 0.542752 2
64306 7.013795 0.139909 1
32721 9.605014 0.065254 3
33170 1.230540 1.331674 1
37192 10.412811 0.890803 3
13089 0.000000 0.567161 2
66491 9.699991 0.122011 1
15941 0.000000 0.061191 2
4272 4.455293 0.272135 2
48812 3.020977 1.502803 1
28818 8.099278 0.216317 3
35394 1.157764 1.603217 1
71791 10.105396 0.121067 1
40668 11.230148 0.408603 3
39580 9.070058 0.011379 3
11786 0.566460 0.478837 2
19251 0.000000 0.487300 2
56594 8.956369 1.193484 3
54495 1.523057 0.620528 1
11844 2.749006 0.169855 2
45465 9.235393 0.188350 3
31033 10.555573 0.403927 3
16633 6.956372 1.519308 2
13887 0.636281 1.273984 2
52603 3.574737 0.075163 1
72000 9.032486 1.461809 1
68497 5.958993 0.023012 1
35135 2.435300 1.211744 1
26397 10.539731 1.638248 3
7313 7.646702 0.056513 2
91273 20.919349 0.644571 1
24743 1.424726 0.838447 1
31690 6.748663 0.890223 3
15432 2.289167 0.114881 2
58394 5.548377 0.402238 1
33962 6.057227 0.432666 1
31442 10.828595 0.559955 3
31044 11.318160 0.271094 3
29938 13.265311 0.633903 3
9875 0.000000 1.496715 2
51542 6.517133 0.402519 3
11878 4.934374 1.520028 2
69241 10.151738 0.896433 1
37776 2.425781 1.559467 1
68997 9.778962 1.195498 1
67416 12.219950 0.657677 1
59225 7.394151 0.954434 1
29138 8.518535 0.742546 3
5962 2.798700 0.662632 2
10847 0.637930 0.617373 2
70527 10.750490 0.097415 1
9610 0.625382 0.140969 2
64734 10.027968 0.282787 1
25941 9.817347 0.364197 3
2763 0.646828 1.266069 2
55601 3.347111 0.914294 1
31128 11.816892 0.193798 3
5181 0.000000 1.480198 2
69982 10.945666 0.993219 1
52440 10.244706 0.280539 3
57350 2.579801 1.149172 1
57869 2.630410 0.098869 1
56557 11.746200 1.695517 3
42342 8.104232 1.326277 3
15560 12.409743 0.790295 3
34826 12.167844 1.328086 3
8569 3.198408 0.299287 2
77623 16.055513 0.541052 1
78184 7.138659 0.158481 1
7036 4.831041 0.761419 2
69616 10.082890 1.373611 1
21546 10.066867 0.788470 3
36715 8.129538 0.329913 3
20522 3.012463 1.138108 2
42349 3.720391 0.845974 1
9037 0.773493 1.148256 2
26728 10.962941 1.037324 3
587 0.177621 0.162614 2
48915 3.085853 0.967899 1
9824 8.426781 0.202558 2
4135 1.825927 1.128347 2
9666 2.185155 1.010173 2
59333 7.184595 1.261338 1
36198 0.000000 0.116525 1
34909 8.901752 1.033527 3
47516 2.451497 1.358795 1
55807 3.213631 0.432044 1
14036 3.974739 0.723929 2
42856 9.601306 0.619232 3
64007 8.363897 0.445341 1
59428 6.381484 1.365019 1
13730 0.000000 1.403914 2
41740 9.609836 1.438105 3
63546 9.904741 0.985862 1
30417 7.185807 1.489102 3
69636 5.466703 1.216571 1
64660 0.000000 0.915898 1
14883 4.575443 0.535671 2
7965 3.277076 1.010868 2
68620 10.246623 1.239634 1
8738 2.341735 1.060235 2
7544 3.201046 0.498843 2
6377 6.066013 0.120927 2
36842 8.829379 0.895657 3
81046 15.833048 1.568245 1
67736 13.516711 1.220153 1
32492 0.664284 1.116755 1
39299 6.325139 0.605109 3
77289 8.677499 0.344373 1
33835 8.188005 0.964896 3
71890 9.414263 0.384030 1
32054 9.196547 1.138253 3
38579 10.202968 0.452363 3
55984 2.119439 1.481661 1
72694 13.635078 0.858314 1
42299 0.083443 0.701669 1
26635 9.149096 1.051446 3
8579 1.933803 1.374388 2
37302 14.115544 0.676198 3
22878 8.933736 0.943352 3
4364 2.661254 0.946117 2
4985 0.988432 1.305027 2
37068 2.063741 1.125946 1
41137 2.220590 0.690754 1
67759 6.424849 0.806641 1
11831 1.156153 1.613674 2
34502 3.032720 0.601847 1
4088 3.076828 0.952089 2
15199 0.000000 0.318105 2
17309 7.750480 0.554015 3
42816 10.958135 1.482500 3
43751 10.222018 0.488678 3
58335 2.367988 0.435741 1
75039 7.686054 1.381455 1
42878 11.464879 1.481589 3
42770 11.075735 0.089726 3
8848 3.543989 0.345853 2
31340 8.123889 1.282880 3
41413 4.331769 0.754467 3
12731 0.120865 1.211961 2
22447 6.116109 0.701523 3
33564 7.474534 0.505790 3
48907 8.819454 0.649292 3
8762 6.802144 0.615284 2
46696 12.666325 0.931960 3
36851 8.636180 0.399333 3
67639 11.730991 1.289833 1
171 8.132449 0.039062 2
26674 10.296589 1.496144 3
8739 7.583906 1.005764 2
66668 9.777806 0.496377 1
68732 8.833546 0.513876 1
69995 4.907899 1.518036 1
82008 8.362736 1.285939 1
25054 9.084726 1.606312 3
33085 14.164141 0.560970 3
41379 9.080683 0.989920 3
39417 6.522767 0.038548 3
12556 3.690342 0.462281 2
39432 3.563706 0.242019 1
38010 1.065870 1.141569 1
69306 6.683796 1.456317 1
38000 1.712874 0.243945 1
46321 13.109929 1.280111 3
66293 11.327910 0.780977 1
22730 4.545711 1.233254 1
5952 3.367889 0.468104 2
72308 8.326224 0.567347 1
60338 8.978339 1.442034 1
13301 5.655826 1.582159 2
27884 8.855312 0.570684 3
11188 6.649568 0.544233 2
56796 3.966325 0.850410 1
8571 1.924045 1.664782 2
4914 6.004812 0.280369 2
10784 0.000000 0.375849 2
39296 9.923018 0.092192 3
13113 2.389084 0.119284 2
70204 13.663189 0.133251 1
46813 11.434976 0.321216 3
11697 0.358270 1.292858 2
44183 9.598873 0.223524 3
2225 6.375275 0.608040 2
29066 11.580532 0.458401 3
4245 5.319324 1.598070 2
34379 4.324031 1.603481 1
44441 2.358370 1.273204 1
2022 0.000000 1.182708 2
26866 12.824376 0.890411 3
57070 1.587247 1.456982 1
32932 8.510324 1.520683 3
51967 10.428884 1.187734 3
44432 8.346618 0.042318 3
67066 7.541444 0.809226 1
17262 2.540946 1.583286 2
79728 9.473047 0.692513 1
14259 0.352284 0.474080 2
6122 0.000000 0.589826 2
76879 12.405171 0.567201 1
11426 4.126775 0.871452 2
2493 0.034087 0.335848 2
19910 1.177634 0.075106 2
10939 0.000000 0.479996 2
17716 0.994909 0.611135 2
31390 11.053664 1.180117 3
20375 0.000000 1.679729 2
26309 2.495011 1.459589 1
33484 11.516831 0.001156 3
45944 9.213215 0.797743 3
4249 5.332865 0.109288 2
6089 0.000000 1.689771 2
7513 0.000000 1.126053 2
27862 12.640062 1.690903 3
39038 2.693142 1.317518 1
19218 3.328969 0.268271 2
62911 7.193166 1.117456 1
77758 6.615512 1.521012 1
27940 8.000567 0.835341 3
2194 4.017541 0.512104 2
37072 13.245859 0.927465 3
15585 5.970616 0.813624 2
25577 11.668719 0.886902 3
8777 4.283237 1.272728 2
29016 10.742963 0.971401 3
21910 12.326672 1.592608 3
12916 0.000000 0.344622 2
10976 0.000000 0.922846 2
79065 10.602095 0.573686 1
36759 10.861859 1.155054 3
50011 1.229094 1.638690 1
1155 0.410392 1.313401 2
71600 14.552711 0.616162 1
30817 14.178043 0.616313 3
54559 14.136260 0.362388 1
29764 0.093534 1.207194 1
69100 10.929021 0.403110 1
47324 11.432919 0.825959 3
73199 9.134527 0.586846 1
44461 5.071432 1.421420 1
45617 11.460254 1.541749 3
28221 11.620039 1.103553 3
7091 4.022079 0.207307 2
6110 3.057842 1.631262 2
79016 7.782169 0.404385 1
18289 7.981741 0.929789 3
43679 4.601363 0.268326 1
22075 2.595564 1.115375 1
23535 10.049077 0.391045 3
25301 3.265444 1.572970 2
32256 11.780282 1.511014 3
36951 3.075975 0.286284 1
31290 1.795307 0.194343 1
38953 11.106979 0.202415 3
35257 5.994413 0.800021 1
25847 9.706062 1.012182 3
32680 10.582992 0.836025 3
62018 7.038266 1.458979 1
9074 0.023771 0.015314 2
33004 12.823982 0.676371 3
44588 3.617770 0.493483 1
32565 8.346684 0.253317 3
38563 6.104317 0.099207 1
75668 16.207776 0.584973 1
9069 6.401969 1.691873 2
53395 2.298696 0.559757 1
28631 7.661515 0.055981 3
71036 6.353608 1.645301 1
71142 10.442780 0.335870 1
37653 3.834509 1.346121 1
76839 10.998587 0.584555 1
9916 2.695935 1.512111 2
38889 3.356646 0.324230 1
39075 14.677836 0.793183 3
48071 1.551934 0.130902 1
7275 2.464739 0.223502 2
41804 1.533216 1.007481 1
35665 12.473921 0.162910 3
67956 6.491596 0.032576 1
41892 10.506276 1.510747 3
38844 4.380388 0.748506 1
74197 13.670988 1.687944 1
14201 8.317599 0.390409 2
3908 0.000000 0.556245 2
2459 0.000000 0.290218 2
32027 10.095799 1.188148 3
12870 0.860695 1.482632 2
9880 1.557564 0.711278 2
72784 10.072779 0.756030 1
17521 0.000000 0.431468 2
50283 7.140817 0.883813 3
33536 11.384548 1.438307 3
9452 3.214568 1.083536 2
37457 11.720655 0.301636 3
17724 6.374475 1.475925 3
43869 5.749684 0.198875 3
264 3.871808 0.552602 2
25736 8.336309 0.636238 3
39584 9.710442 1.503735 3
31246 1.532611 1.433898 1
49567 9.785785 0.984614 3
7052 2.633627 1.097866 2
35493 9.238935 0.494701 3
10986 1.205656 1.398803 2
49508 3.124909 1.670121 1
5734 7.935489 1.585044 2
65479 12.746636 1.560352 1
77268 10.732563 0.545321 1
28490 3.977403 0.766103 1
13546 4.194426 0.450663 2
37166 9.610286 0.142912 3
16381 4.797555 1.260455 2
10848 1.615279 0.093002 2
35405 4.614771 1.027105 1
15917 0.000000 1.369726 2
6131 0.608457 0.512220 2
67432 6.558239 0.667579 1
30354 12.315116 0.197068 3
69696 7.014973 1.494616 1
33481 8.822304 1.194177 3
43075 10.086796 0.570455 3
38343 7.241614 1.661627 3
14318 4.602395 1.511768 2
5367 7.434921 0.079792 2
37894 10.467570 1.595418 3
36172 9.948127 0.003663 3
40123 2.478529 1.568987 1
10976 5.938545 0.878540 2
12705 0.000000 0.948004 2
12495 5.559181 1.357926 2
35681 9.776654 0.535966 3
46202 3.092056 0.490906 1
11505 0.000000 1.623311 2
22834 4.459495 0.538867 1
49901 8.334306 1.646600 3
71932 11.226654 0.384686 1
13279 3.904737 1.597294 2
49112 7.038205 1.211329 3
77129 9.836120 1.054340 1
37447 1.990976 0.378081 1
62397 9.005302 0.485385 1
0 1.772510 1.039873 2
15476 0.458674 0.819560 2
40625 10.003919 0.231658 3
36706 0.520807 1.476008 1
28580 10.678214 1.431837 3
25862 4.425992 1.363842 1
63488 12.035355 0.831222 1
33944 10.606732 1.253858 3
30099 1.568653 0.684264 1
13725 2.545434 0.024271 2
36768 10.264062 0.982593 3
64656 9.866276 0.685218 1
14927 0.142704 0.057455 2
43231 9.853270 1.521432 3
66087 6.596604 1.653574 1
19806 2.602287 1.321481 2
41081 10.411776 0.664168 3
10277 7.083449 0.622589 2
7014 2.080068 1.254441 2
17275 0.522844 1.622458 2
31600 10.362000 1.544827 3
59956 3.412967 1.035410 1
42181 6.796548 1.112153 3
51743 4.092035 0.075804 1
5194 2.763811 1.564325 2
30832 12.547439 1.402443 3
7976 5.708052 1.596152 2
14602 4.558025 0.375806 2
41571 11.642307 0.438553 3
55028 3.222443 0.121399 1
5837 4.736156 0.029871 2
39808 10.839526 0.836323 3
20944 4.194791 0.235483 2
22146 14.936259 0.888582 3
42169 3.310699 1.521855 1
7010 2.971931 0.034321 2
3807 9.261667 0.537807 2
29241 7.791833 1.111416 3
52696 1.480470 1.028750 1
42545 3.677287 0.244167 1
24437 2.202967 1.370399 1
16037 5.796735 0.935893 2
8493 3.063333 0.144089 2
68080 11.233094 0.492487 1
59016 1.965570 0.005697 1
11810 8.616719 0.137419 2
68630 6.609989 1.083505 1
7629 1.712639 1.086297 2
71992 10.117445 1.299319 1
13398 0.000000 1.104178 2
26241 9.824777 1.346821 3
11160 1.653089 0.980949 2
76701 18.178822 1.473671 1
32174 6.781126 0.885340 3
45043 8.206750 1.549223 3
42173 10.081853 1.376745 3
69801 6.288742 0.112799 1
41737 3.695937 1.543589 1
46979 6.726151 1.069380 3
79267 12.969999 1.568223 1
4615 2.661390 1.531933 2
32907 7.072764 1.117386 3
37444 9.123366 1.318988 3
569 3.743946 1.039546 2
8723 2.341300 0.219361 2
6024 0.541913 0.592348 2
52252 2.310828 1.436753 1
8358 6.226597 1.427316 2
26166 7.277876 0.489252 3
18471 0.000000 0.389459 2
3386 7.218221 1.098828 2
41544 8.777129 1.111464 3
10480 2.813428 0.819419 2
5894 2.268766 1.412130 2
7273 6.283627 0.571292 2
22272 7.520081 1.626868 3
31369 11.739225 0.027138 3
10708 3.746883 0.877350 2
69364 12.089835 0.521631 1
37760 12.310404 0.259339 3
13004 0.000000 0.671355 2
37885 2.728800 0.331502 1
52555 10.814342 0.607652 3
38997 12.170268 0.844205 3
69698 6.698371 0.240084 1
11783 3.632672 1.643479 2
47636 10.059991 0.892361 3
15744 1.887674 0.756162 2
69058 8.229125 0.195886 1
33057 7.817082 0.476102 3
28681 12.277230 0.076805 3
34042 10.055337 1.115778 3
29928 3.596002 1.485952 1
9734 2.755530 1.420655 2
7344 7.780991 0.513048 2
7387 0.093705 0.391834 2
33957 8.481567 0.520078 3
9936 3.865584 0.110062 2
36094 9.683709 0.779984 3
39835 10.617255 1.359970 3
64486 7.203216 1.624762 1
0 7.601414 1.215605 2
39539 1.386107 1.417070 1
66972 9.129253 0.594089 1
15029 1.363447 0.620841 2
44909 3.181399 0.359329 1
38183 13.365414 0.217011 3
37372 4.207717 1.289767 1
0 4.088395 0.870075 2
17786 3.327371 1.142505 2
39055 1.303323 1.235650 1
37045 7.999279 1.581763 3
6435 2.217488 0.864536 2
72265 7.751808 0.192451 1
28152 14.149305 1.591532 3
25931 8.765721 0.152808 3
7538 3.408996 0.184896 2
1315 1.251021 0.112340 2
12292 6.160619 1.537165 2
49248 1.034538 1.585162 1
9025 0.000000 1.034635 2
13438 2.355051 0.542603 2
69683 6.614543 0.153771 1
25374 10.245062 1.450903 3
55264 3.467074 1.231019 1
38324 7.487678 1.572293 3
69643 4.624115 1.185192 1
44058 8.995957 1.436479 3
41316 11.564476 0.007195 3
29119 3.440948 0.078331 1
51656 1.673603 0.732746 1
3030 4.719341 0.699755 2
35695 10.304798 1.576488 3
1537 2.086915 1.199312 2
9083 6.338220 1.131305 2
47744 8.254926 0.710694 3
71372 16.067108 0.974142 1
37980 1.723201 0.310488 1
42385 3.785045 0.876904 1
22687 2.557561 0.123738 1
39512 9.852220 1.095171 3
11885 3.679147 1.557205 2
4944 9.789681 0.852971 2
73230 14.958998 0.526707 1
17585 11.182148 1.288459 3
68737 7.528533 1.657487 1
13818 5.253802 1.378603 2
31662 13.946752 1.426657 3
86686 15.557263 1.430029 1
43214 12.483550 0.688513 3
24091 2.317302 1.411137 1
52544 10.069724 0.766119 3
61861 5.792231 1.615483 1
47903 4.138435 0.475994 1
37190 12.929517 0.304378 3
6013 9.378238 0.307392 2
27223 8.361362 1.643204 3
69027 7.939406 1.325042 1
78642 10.735384 0.705788 1
30254 11.592723 0.286188 3
21704 10.098356 0.704748 3
34985 9.299025 0.545337 3
31316 11.158297 0.218067 3
76368 16.143900 0.558388 1
27953 10.971700 1.221787 3
152 0.000000 0.681478 2
9146 3.178961 1.292692 2
75346 17.625350 0.339926 1
26376 1.995833 0.267826 1
35255 10.640467 0.416181 3
19198 9.628339 0.985462 3
12518 4.662664 0.495403 2
25453 5.754047 1.382742 2
12530 0.000000 0.037146 2
62230 9.334332 0.198118 1
9517 3.846162 0.619968 2
71161 10.685084 0.678179 1
1593 4.752134 0.359205 2
33794 0.697630 0.966786 1
39710 10.365836 0.505898 3
16941 0.461478 0.352865 2
69209 11.339537 1.068740 1
4446 5.420280 0.127310 2
9347 3.469955 1.619947 2
55635 8.517067 0.994858 3
65889 8.306512 0.413690 1
10753 2.628690 0.444320 2
7055 0.000000 0.802985 2
7905 0.000000 1.170397 2
53447 7.298767 1.582346 3
9194 7.331319 1.277988 2
61914 9.392269 0.151617 1
15630 5.541201 1.180596 2
79194 15.149460 0.537540 1
12268 5.515189 0.250562 2
33682 7.728898 0.920494 3
26080 11.318785 1.510979 3
19119 3.574709 1.531514 2
30902 7.350965 0.026332 3
63039 7.122363 1.630177 1
51136 1.828412 1.013702 1
35262 10.117989 1.156862 3
42776 11.309897 0.086291 3
64191 8.342034 1.388569 1
15436 0.241714 0.715577 2
14402 10.482619 1.694972 2
6341 9.289510 1.428879 2
14113 4.269419 0.134181 2
6390 0.000000 0.189456 2
8794 0.817119 0.143668 2
43432 1.508394 0.652651 1
38334 9.359918 0.052262 3
34068 10.052333 0.550423 3
30819 11.111660 0.989159 3
22239 11.265971 0.724054 3
28725 10.383830 0.254836 3
57071 3.878569 1.377983 1
72420 13.679237 0.025346 1
28294 10.526846 0.781569 3
9896 0.000000 0.924198 2
65821 4.106727 1.085669 1
7645 8.118856 1.470686 2
71289 7.796874 0.052336 1
5128 2.789669 1.093070 2
13711 6.226962 0.287251 2
22240 10.169548 1.660104 3
15092 0.000000 1.370549 2
5017 7.513353 0.137348 2
10141 8.240793 0.099735 2
35570 14.612797 1.247390 3
46893 3.562976 0.445386 1
8178 3.230482 1.331698 2
55783 3.612548 1.551911 1
1148 0.000000 0.332365 2
10062 3.931299 0.487577 2
74124 14.752342 1.155160 1
66603 10.261887 1.628085 1
11893 2.787266 1.570402 2
50908 15.112319 1.324132 3
39891 5.184553 0.223382 3
65915 3.868359 0.128078 1
65678 3.507965 0.028904 1
62996 11.019254 0.427554 1
36851 3.812387 0.655245 1
36669 11.056784 0.378725 3
38876 8.826880 1.002328 3
26878 11.173861 1.478244 3
46246 11.506465 0.421993 3
12761 7.798138 0.147917 3
35282 10.155081 1.370039 3
68306 10.645275 0.693453 1
31262 9.663200 1.521541 3
34754 10.790404 1.312679 3
13408 2.810534 0.219962 2
30365 9.825999 1.388500 3
10709 1.421316 0.677603 2
24332 11.123219 0.809107 3
45517 13.402206 0.661524 3
6178 1.212255 0.836807 2
10639 1.568446 1.297469 2
29613 3.343473 1.312266 1
22392 5.400155 0.193494 1
51126 3.818754 0.590905 1
53644 7.973845 0.307364 3
51417 9.078824 0.734876 3
24859 0.153467 0.766619 1
61732 8.325167 0.028479 1
71128 7.092089 1.216733 1
27276 5.192485 1.094409 3
30453 10.340791 1.087721 3
18670 2.077169 1.019775 2
70600 10.151966 0.993105 1
12683 0.046826 0.809614 2
81597 11.221874 1.395015 1
69959 14.497963 1.019254 1
8124 3.554508 0.533462 2
18867 3.522673 0.086725 2
80886 14.531655 0.380172 1
55895 3.027528 0.885457 1
31587 1.845967 0.488985 1
10591 10.226164 0.804403 3
70096 10.965926 1.212328 1
53151 2.129921 1.477378 1
11992 0.000000 1.606849 2
33114 9.489005 0.827814 3
7413 0.000000 1.020797 2
10583 0.000000 1.270167 2
58668 6.556676 0.055183 1
35018 9.959588 0.060020 3
70843 7.436056 1.479856 1
14011 0.404888 0.459517 2
35015 9.952942 1.650279 3
70839 15.600252 0.021935 1
3024 2.723846 0.387455 2
5526 0.513866 1.323448 2
5113 0.000000 0.861859 2
20851 7.280602 1.438470 2
40999 9.161978 1.110180 3
15823 0.991725 0.730979 2
35432 7.398380 0.684218 3
53711 12.149747 1.389088 3
64371 9.149678 0.874905 1
9289 9.666576 1.370330 2
60613 3.620110 0.287767 1
18338 5.238800 1.253646 2
22845 14.715782 1.503758 3
74676 14.445740 1.211160 1
34143 13.609528 0.364240 3
14153 3.141585 0.424280 2
9327 0.000000 0.120947 2
18991 0.454750 1.033280 2
9193 0.510310 0.016395 2
2285 3.864171 0.616349 2
9493 6.724021 0.563044 2
2371 4.289375 0.012563 2
13963 0.000000 1.437030 2
2299 3.733617 0.698269 2
5262 2.002589 1.380184 2
4659 2.502627 0.184223 2
17582 6.382129 0.876581 2
27750 8.546741 0.128706 3
9868 2.694977 0.432818 2
18333 3.951256 0.333300 2
3780 9.856183 0.329181 2
18190 2.068962 0.429927 2
11145 3.410627 0.631838 2
68846 9.974715 0.669787 1
26575 10.650102 0.866627 3
48111 9.134528 0.728045 3
43757 7.882601 1.332446 3

第2步.准备数据:使用Python解析文本文件,文件名kNN.py

from numpy import * #导入科学计算包
import operator #运算符模块,k近邻算法执行排序操作时将使用这个模块提供的函数 #文件转矩阵函数开始
def file2matrix(filename):
fr=open(filename) #读取文档
arraylines=fr.readlines() #读取每行,结果为列表格式
lengthlines=len(arraylines) #获取列表长度,相当于文档行数
mats=zeros((lengthlines,3)) #创建一个以0填充的矩阵:(lengthlines行,3列)
classLabelVector = [] #创建分类标签列表
i=0 for line in arraylines: #处理列表
line=line.strip() #去除每行列表两边空格、回车等
listFromLine=line.split('\t') #用Tab键 分割列表为:[40920\t8.326976\t0.953952\tlargeDoses](\t千万别写错/t,否则报错:“could not convert string to float:”)
mats[i,:]=listFromLine[0:3] #把列表前3个数字填入mats的矩阵:[40920\t8.326976\t0.953952]
classLabelVector.append(int(listFromLine[-1])) #把列表最后一项添加入classLabelVector列表,顺序为先进排在前面,后进排后面(如果用文件datingTestSet.txt,则原int(listFromLine[-1])去除int,否则报错)
i+=1
return mats,classLabelVector #返回训练矩阵,和对应的分类标签

运行:可以再最下面加入:

if __name__=='__main__':
#groups,labels=createDataSet()
#print(classify0([1,0], groups, labels, 2)) a,b=file2matrix('datingTestSet2.txt')
print(a)
print(b)

运行2:或在命令窗输入:import kNN

>>> import kNN
>>> reload(kNN) #kNN有变化时,重加载
>>> datingDataMat, datingLabels = kNN.file2matrix('datingTestSet2.txt')

第3步. 分析数据:使用Matplotlib画二维扩散图

 3.1 在KNN.py,和datingTestSet.txt 文件夹内,运行命令窗口:

>>> import kNN
>>> datingDataMat, datingLabels = kNN.file2matrix('datingTestSet.txt')
>>> import matplotlib
>>> import matplotlib.pyplot as plt
>>> fig = plt.figure()
>>> ax = fig.add_subplot(111)
>>> ax.scatter(datingDataMat[:,1], datingDataMat[:,2])
>>> plt.show()

得到下图:(x:玩视频游戏所耗时间百分比,y:每周所消费的冰淇淋公升数)

2.在约会网站上使用k近邻算法

3.2 由于没有使用样本分类的特征值,我们很难从图2-3中看到任何有用的数据模式信息。一般来说,我们会采用色彩或其他的记号来标记不同样本分类,以便更好地理解数据信息。

在文件夹下新建一个名为test.py的文件,输入如下代码:

import knn,matplotlib
import matplotlib.pyplot as plt
from numpy import array datingDataMat, datingLabels = knn.file2matrix('datingTestSet.txt') fig = plt.figure()
ax = fig.add_subplot(111)
#ax.scatter(datingDataMat[:,1], datingDataMat[:,2])#没有分类信息的绘图 #以下for循环用于把分类字符串转换成数字:largeDoses=3,smallDoses=2,didntLike=1,(如果用文件datingTestSet2.txt则不用此循环)
labels=[]
for label in datingLabels:
if label=='largeDoses':
labels.append(3)
elif label=='smallDoses':
labels.append(2)
else:
labels.append(1) #以下for循环用于绘图,包含分类信息
ax.scatter(datingDataMat[:,1], datingDataMat[:,2],15.0*array(labels), 15.0*array(labels))
plt.show()

上代码将绘制如下图:

代码解释:上述代码利用变量datingLabels存储的类标签属性,在散点图上绘制了色彩不等、尺寸不同的点。

2.在约会网站上使用k近邻算法

4.准备数据:归一化数值

表2-3】约会网站原始数据改进之后的样本数据:

2.在约会网站上使用k近邻算法

【公式:计算两样本间距离公式】:

2.在约会网站上使用k近邻算法

 多个样本同样适用:

2.在约会网站上使用k近邻算法

 例】对于本例,计算样本3、4间距离是

2.在约会网站上使用k近邻算法

为什么要数值规一】:上面方程中数字差值最大的属性对计算结果的影响最大,也就是说,每年获取的飞行常客里程数对于计算结果的影响将远远大于表2-3中其他两个特征——玩视频游戏的和每周消费冰淇淋公升数——的影响。而产生这种现象的唯一原因,仅仅是因为飞行常客里程数远大于其他特征值。但海伦认为这三种特征是同等重要的,因此作为三个等权重的特征之一,飞行常客里程数并不应该如此严重地影响到计算结果。

常用规一方式】我们通常采用的方法是将数值归一化,如将取值范围处理为0到1或者-1到1之间。

【规一公式】:newValue = (oldValue-min)/(max-min)

规一公式解释:

  min:数据集中的 每一列 的 最小特征值,

  max:数据集中的 每一列 的 最大特征值

  newValue:要求的最终规一值

  oldvalue:要换成规一值的值

最终函数如下,也写在knn.py里:

from numpy import * #导入科学计算包
import operator #运算符模块,k近邻算法执行排序操作时将使用这个模块提供的函数 #规一化大数值函数:用于处理部分数值太大情形
def autoNorm(dataSet):
minVals = dataSet.min(0) #返回每一列的最小值组成的列表,结果[0. 0. 0.00156]
maxVals = dataSet.max(0) #返回每一列的最大值组成的列表,结果[9.1273000e+04 2.0919349e+01 1.6955170e+00](e+04表示:9.1273*1000)
ranges = maxVals - minVals #返回最大-最小差值,结果[9.1273000e+04 2.0919349e+01 1.6943610e+00]
normDataSet = zeros(shape(dataSet)) #=zero(shape(1000,3))=1000行3列以0填充的矩阵
m = dataSet.shape[0] #获取维度的第一个数据即行数,m=1000
normDataSet = dataSet - tile(minVals, (m, 1)) #原数矩阵-最小数集矩阵(把最小列表转换成1000行1列与输入集一样的矩阵后才能运算)
normDataSet = normDataSet / tile(ranges, (m, 1)) # ❶ 特征值相除 (完成规一运算(oldValue-min)/(max-min))
return normDataSet, ranges, minVals #返回:规一值,(max-min),最小值 #运行函数部分
if __name__=='__main__':
datingDataMat, datingLabels = file2matrix('datingTestSet.txt')
normMat, ranges, minVals = autoNorm(datingDataMat)

代码解释:也可以只返回normMat矩阵,但是下一节我们将需要取值范围和最小值归一化测试数据

运行2:或在命令窗口进入knn.py所在目录后运行(记得注释掉if __name__..:以下的内容):

>>> reload(kNN)
>>> normMat, ranges, minVals = kNN.autoNorm(datingDataMat)
>>> normMat
array([[ 0.33060119, 0.58918886, 0.69043973],
[ 0.49199139, 0.50262471, 0.13468257],
[ 0.34858782, 0.68886842, 0.59540619],
...,
[ 0.93077422, 0.52696233, 0.58885466],
[ 0.76626481, 0.44109859, 0.88192528],
[ 0.0975718 , 0.02096883, 0.02443895]])
>>> ranges
array([ 8.78430000e+04, 2.02823930e+01, 1.69197100e+00])
>>> minVals
array([ 0. , 0. , 0.001818])

5.测试算法:作为完整程序验证分类器

程序如下:

#以下函数:找一些数据进行算法测试,算出错误率
def datingClassTest():
hoRatio = 0.1 #取出 10%
datingDataMat,datingLabels = file2matrix('datingTestSet2.txt') #调用之前写的函数将数据转矩阵
normMat, ranges, minVals = autoNorm(datingDataMat) #将数值规一化
m = normMat.shape[0] #求出数值行数,1000
numTestVecs = int(m*hoRatio) #取出百分之十用于测试,1000*0.1=100
errorCount = 0.0 #用于计算错误总数
for i in range(numTestVecs): #循环100个
classifierResult = classify0(normMat[i,:],normMat[numTestVecs:m,:],datingLabels[numTestVecs:m],3) #k值函数(测试集0-99行所有列,学习集100-最后一行所有列,标签从100行开始,k=3
print ("the classifier came back with: %s, the real answer is: %s" % (classifierResult, datingLabels[i])) #括号内(函数算出的结果,标签实际结果)
if (classifierResult != datingLabels[i]): errorCount += 1.0 #如果学习结果!= 实际结果,错误+1
print ("the total error rate is: %f" % (errorCount/float(numTestVecs))) #错误比率=错误数/总测试数
print (errorCount) #输出错误数

运行方法1:在最后加入如下代码:

if __name__=='__main__':
datingClassTest()

运行方法2:在文件夹内打开命令窗口:

import knn
>>> knn.datingClassTest()

6.使用算法:构建完整可用系统

最后总结综合一下函数:

from numpy import * #导入科学计算包
import operator #运算符模块,k近邻算法执行排序操作时将使用这个模块提供的函数 def createDataSet():
group=array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])
labels=['A','A','B','B']
return group,labels #k近邻分类函数
def classify0(inX, dataSet, labels, k):
dataSetSize = dataSet.shape[0]#求数据集的维度
diffMat = tile(inX, (dataSetSize,1)) - dataSet
sqDiffMat = diffMat**2
sqDistances = sqDiffMat.sum(axis=1) #axis=0是按照行求和,axis=1是按照列进行求和
distances = sqDistances**0.5 #开根号
sortedDistIndicies = distances.argsort()#把向量中每个元素进行排序,结果是元素的索引形成的向量
classCount={}
#❷ (以下两行)选择距离最小的k个点
for i in range(k):
voteIlabel = labels[sortedDistIndicies[i]]
classCount[voteIlabel] = classCount.get(voteIlabel,0) + 1 #❸ 排序。 3.5以上版本,原classCount.iteritems()变为classCount.items()
sortedClassCount = sorted(classCount.items(),key=operator.itemgetter(1), reverse=True)
return sortedClassCount[0][0] #文件转矩阵函数开始
def file2matrix(filename):
fr=open(filename) #读取文档
arraylines=fr.readlines() #读取每行,结果为列表格式
lengthlines=len(arraylines) #获取列表长度,相当于文档行数
mats=zeros((lengthlines,3)) #创建一个以0填充的矩阵:(lengthlines行,3列) classLabelVector = [] #创建分类标签列表
i=0
for line in arraylines: #处理列表
line=line.strip() #去除每行列表两边空格、回车等
listFromLine=line.split('\t') #用Tab键 分割列表为:[40920\t8.326976\t0.953952\tlargeDoses](\t千万别写错/t,否则报错:“could not convert string to float:”)
mats[i,:]=listFromLine[0:3] #把列表前3个数字填入mats的矩阵:[40920\t8.326976\t0.953952]
#if listFromLine[-1]=='largeDoses':
classLabelVector.append(int(listFromLine[-1])) #把列表最后一项添加入classLabelVector列表,顺序为先进排在前面,后进排后面(原int()去除,否则报错)
i+=1
# # 以下for循环用于把分类字符串转换成数字:largeDoses=3,smallDoses=2,didntLike=1(用于兼容py3.x以后版本字符不能直接int为数字问题)
# labels = []
# for label in classLabelVector:
# if label == 'largeDoses':
# labels.append(3)
# elif label == 'smallDoses':
# labels.append(2)
# else:
# labels.append(1)
return mats,classLabelVector #返回训练矩阵,和对应的分类标签 #规一化大数值函数:用于处理部分数值太大情形
def autoNorm(dataSet):
minVals = dataSet.min(0) #返回每一列的最小值组成的列表,结果[0. 0. 0.00156]
maxVals = dataSet.max(0) #返回每一列的最大值组成的列表,结果[9.1273000e+04 2.0919349e+01 1.6955170e+00](e+04表示:9.1273*1000)
ranges = maxVals - minVals #返回最大-最小差值,结果[9.1273000e+04 2.0919349e+01 1.6943610e+00]
normDataSet = zeros(shape(dataSet)) #=zero(shape(1000,3))=1000行3列以0填充的矩阵
m = dataSet.shape[0] #获取维度的第一个数据即行数,m=1000
normDataSet = dataSet - tile(minVals, (m, 1)) #原数矩阵-最小数集矩阵(把最小列表转换成1000行1列与输入集一样的矩阵后才能运算)
normDataSet = normDataSet / tile(ranges, (m, 1)) # ❶ 特征值相除 (完成规一运算(oldValue-min)/(max-min))
return normDataSet, ranges, minVals #返回:规一值,(max-min),最小值 #以下函数:找一些数据进行算法测试,算出错误率
def datingClassTest():
hoRatio = 0.1 #取出 10%
datingDataMat,datingLabels = file2matrix('datingTestSet2.txt') #调用之前写的函数将数据转矩阵
normMat, ranges, minVals = autoNorm(datingDataMat) #将数值规一化
m = normMat.shape[0] #求出数值行数,1000
numTestVecs = int(m*hoRatio) #取出百分之十用于测试,1000*0.1=100
errorCount = 0.0 #用于计算错误总数
for i in range(numTestVecs): #循环100个
classifierResult = classify0(normMat[i,:],normMat[numTestVecs:m,:],datingLabels[numTestVecs:m],3) #k值函数(测试集0-99行所有列,学习集100-最后一行所有列,标签从100行开始,k=3
print ("the classifier came back with: %s, the real answer is: %s" % (classifierResult, datingLabels[i])) #括号内(函数算出的结果,标签实际结果)
if (classifierResult != datingLabels[i]): errorCount += 1.0 #如果学习结果!= 实际结果,错误+1
print ("the total error rate is: %f" % (errorCount/float(numTestVecs))) #错误比率=错误数/总测试数
print (errorCount) #输出错误数 #面向个人的函数
def classifyPerson():
resultList = ['一点也不喜欢','有一点点啦', '非常喜欢']
percentTats = float(input("玩电子游戏的时间百分比?"))
ffMiles = float(input("每年获得的飞行常客里程?"))
iceCream = float(input("每年消耗的冰淇淋升数?"))
datingDataMat,datingLabels = file2matrix('datingTestSet2.txt')
normMat, ranges, minVals = autoNorm(datingDataMat)
inArr = array([ffMiles, percentTats, iceCream])
classifierResult = classify0((inArr-minVals)/ranges,normMat,datingLabels,3)
print ("你可能喜欢这个人: ",resultList[classifierResult - 1]) if __name__=='__main__':
classifyPerson()
# matss,labelss=file2matrix('datingTestSet.txt')
# print(matss,labelss)
#datingClassTest() # datingDataMat, datingLabels = file2matrix('datingTestSet.txt')
# normMat, ranges, minVals = autoNorm(datingDataMat) # #groups,labels=createDataSet()
# #print(classify0([1,0], groups, labels, 2))
#
# a,b=file2matrix('datingTestSet.txt')
# print(a)
# print(b)

运行:

runfile('C:/Users/Administrator/Desktop/机学-pdf/机器学习实战/knn.py', wdir='C:/Users/Administrator/Desktop/机学-pdf/机器学习实战')
玩电子游戏的时间百分比?>? 50
每年获得的飞行常客里程?>? 90000
每年消耗的冰淇淋升数?>? 800
你可能喜欢这个人: 非常喜欢

目录内容:

2.在约会网站上使用k近邻算法

上一篇:ASP.NET 5系列教程 (一):领读新特性


下一篇:GridSearchCV网格搜索得到最佳超参数, 在K近邻算法中的应用