Python 利用 sklearn 实现 knn
# 导入数据集生成器 from sklearn.datasets import make_blobs # 导入 <span class="wp_keywordlink_affiliate"><a href="https://www.168seo.cn/tag/knn" title="View all posts in knn" target="_blank">knn</a></span> 分类器 from sklearn.neighbors import KNeighborsClassifier # 导入画图工具 import matplotlib.pyplot as plt # 导入数据集拆分 from sklearn.model_selection import train_test_split
1
2
3
4
5
6
7
8
9
|
# 导入数据集生成器
from
sklearn
.
datasets
import
make_blobs
# 导入 knn 分类器
from
sklearn
.
neighbors
import
KNeighborsClassifier
# 导入画图工具
import
matplotlib
.
pyplot
as
plt
# 导入数据集拆分
from
sklearn
.
model_selection
import
train_test
_split
|
make_blobs?? # 在学习机器学习的过程中,常常遇到random_state这个参数,下面来简单叙述一下它的作用。 # 作用:控制随机状态。
1
2
3
4
5
|
make_blobs
?
?
# 在学习机器学习的过程中,常常遇到random_state这个参数,下面来简单叙述一下它的作用。
# 作用:控制随机状态。
|
datas= make_blobs(n_samples=200,centers=2,random_state=8)
1
2
|
datas
=
make_blobs
(
n_samples
=
200
,
centers
=
2
,
random_state
=
8
)
|
from pprint import pprint pprint(datas)
1
2
3
|
from
pprint
import
pprint
pprint
(
datas
)
|
(array([[ 6.75445054, 9.74531933], [ 6.80526026, -0.2909292 ], [ 7.07978644, 7.81427747], [ 6.87472003, -0.16069949], [ 8.20316159, 12.01375618], [ 6.97321804, 2.576281 ], [ 6.42049196, 0.26683712], [ 7.40783871, 6.93633083], [ 6.54464509, 0.89987351], [ 7.58423725, 10.70124388], [ 8.80002143, 8.54323521], [ 7.1847723 , 2.22950427], [ 7.80361128, 9.74561264], [ 7.96481592, 8.03914659], [ 6.6571269 , 7.72756233], [ 7.29433984, 9.79486468], [ 7.237824 , 1.70291874], [ 8.37153676, 0.98810496], [ 6.49932355, 0.24955722], [ 9.02255525, 10.06777901], [ 7.61227907, 9.4463627 ], [ 8.89464606, 10.29806397], [ 7.01747287, -1.22016798], [ 8.10434971, 1.83659293], [ 7.68373899, 1.5632695 ], [ 9.43042008, 0.68726533], [ 6.26211747, 1.577057 ], [ 9.59017028, 0.58441955], [ 7.82182216, 0.52633087], [ 7.6025272 , 8.98962387], [ 8.48011698, 0.69122126], [ 7.63890536, -0.06731493], [ 5.84965451, 0.72241791], [ 7.46996922, 8.44935323], [ 6.8117005 , 10.8840413 ], [ 8.67502392, 0.37561206], [ 8.12519495, 1.67159478], [ 5.07337492, 10.52482973], [ 7.48665378, 0.21345453], [ 8.11950967, 0.56120493], [ 6.15895483, 8.70208685], [ 7.94310647, 8.20622208], [ 7.95311372, 8.36897664], [ 4.96938735, 1.32531048], [ 8.8583269 , -0.34648253], [10.01367527, 10.52089453], [ 8.99334153, 9.7313491 ], [ 8.22871505, 1.23014656], [ 6.19407512, -0.03183561], [ 7.26697254, 9.87045836], [ 7.94970781, -0.37340645], [ 5.62803952, 9.77585443], [ 8.50049461, 9.12147855], [ 7.31054144, 0.39102866], [ 7.49814373, 9.29677019], [ 8.32245091, 9.67819196], [ 8.32813617, 9.14002426], [ 7.56475962, 11.24762868], [ 7.92129785, 0.78018447], [ 8.00236864, 10.1691733 ], [ 4.33366829, 10.51034676], [ 6.02937898, 10.31974057], [ 6.88953097, 0.80526874], [ 7.51239046, 2.06597042], [ 9.17061801, 10.37690696], [ 7.63027116, 8.69797933], [ 8.35312192, 0.20325714], [ 8.72578696, 10.34691678], [ 5.44099009, 1.59585563], [ 7.56093115, -0.51702689], [ 6.02376341, -0.52025947], ), array([0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1]))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
(
array
(
[
[
6.75445054
,
9.74531933
]
,
[
6.80526026
,
-
0.2909292
]
,
[
7.07978644
,
7.81427747
]
,
[
6.87472003
,
-
0.16069949
]
,
[
8.20316159
,
12.01375618
]
,
[
6.97321804
,
2.576281
]
,
[
6.42049196
,
0.26683712
]
,
[
7.40783871
,
6.93633083
]
,
[
6.54464509
,
0.89987351
]
,
[
7.58423725
,
10.70124388
]
,
[
8.80002143
,
8.54323521
]
,
[
7.1847723
,
2.22950427
]
,
[
7.80361128
,
9.74561264
]
,
[
7.96481592
,
8.03914659
]
,
[
6.6571269
,
7.72756233
]
,
[
7.29433984
,
9.79486468
]
,
[
7.237824
,
1.70291874
]
,
[
8.37153676
,
0.98810496
]
,
[
6.49932355
,
0.24955722
]
,
[
9.02255525
,
10.06777901
]
,
[
7.61227907
,
9.4463627
]
,
[
8.89464606
,
10.29806397
]
,
[
7.01747287
,
-
1.22016798
]
,
[
8.10434971
,
1.83659293
]
,
[
7.68373899
,
1.5632695
]
,
[
9.43042008
,
0.68726533
]
,
[
6.26211747
,
1.577057
]
,
[
9.59017028
,
0.58441955
]
,
[
7.82182216
,
0.52633087
]
,
[
7.6025272
,
8.98962387
]
,
[
8.48011698
,
0.69122126
]
,
[
7.63890536
,
-
0.06731493
]
,
[
5.84965451
,
0.72241791
]
,
[
7.46996922
,
8.44935323
]
,
[
6.8117005
,
10.8840413
]
,
[
8.67502392
,
0.37561206
]
,
[
8.12519495
,
1.67159478
]
,
[
5.07337492
,
10.52482973
]
,
[
7.48665378
,
0.21345453
]
,
[
8.11950967
,
0.56120493
]
,
[
6.15895483
,
8.70208685
]
,
[
7.94310647
,
8.20622208
]
,
[
7.95311372
,
8.36897664
]
,
[
4.96938735
,
1.32531048
]
,
[
8.8583269
,
-
0.34648253
]
,
[
10.01367527
,
10.52089453
]
,
[
8.99334153
,
9.7313491
]
,
[
8.22871505
,
1.23014656
]
,
[
6.19407512
,
-
0.03183561
]
,
[
7.26697254
,
9.87045836
]
,
[
7.94970781
,
-
0.37340645
]
,
[
5.62803952
,
9.77585443
]
,
[
8.50049461
,
9.12147855
]
,
[
7.31054144
,
0.39102866
]
,
[
7.49814373
,
9.29677019
]
,
[
8.32245091
,
9.67819196
]
,
[
8.32813617
,
9.14002426
]
,
[
7.56475962
,
11.24762868
]
,
[
7.92129785
,
0.78018447
]
,
[
8.00236864
,
10.1691733
]
,
[
4.33366829
,
10.51034676
]
,
[
6.02937898
,
10.31974057
]
,
[
6.88953097
,
0.80526874
]
,
[
7.51239046
,
2.06597042
]
,
[
9.17061801
,
10.37690696
]
,
[
7.63027116
,
8.69797933
]
,
[
8.35312192
,
0.20325714
]
,
[
8.72578696
,
10.34691678
]
,
[
5.44099009
,
1.59585563
]
,
[
7.56093115
,
-
0.51702689
]
,
[
6.02376341
,
-
0.52025947
]
,
)
,
array
(
[
0
,
1
,
0
,
1
,
0
,
0
,
1
,
0
,
0
,
1
,
1
,
1
,
0
,
0
,
1
,
1
,
0
,
0
,
1
,
0
,
0
,
1
,
1
,
0
,
1
,
0
,
1
,
1
,
1
,
0
,
1
,
1
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
1
,
1
,
0
,
1
,
0
,
0
,
0
,
1
,
0
,
1
,
1
,
0
,
1
,
1
,
1
,
0
,
1
,
0
,
0
,
1
,
0
,
1
,
0
,
1
,
0
,
1
,
0
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
1
,
1
,
1
,
1
,
0
,
1
,
0
,
1
,
1
,
0
,
1
,
1
,
0
,
1
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
1
,
1
,
1
,
0
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
1
,
1
,
1
,
0
,
0
,
1
,
1
,
0
,
1
,
1
,
0
,
0
,
0
,
1
,
1
,
0
,
0
,
1
,
1
,
0
,
1
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
1
,
1
,
0
,
0
,
1
,
0
,
1
,
1
,
1
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
1
,
1
,
1
,
0
,
1
,
0
,
1
,
1
,
0
,
1
,
0
,
0
,
0
,
0
,
0
,
1
]
)
)
|
x,y = datas
1
2
|
x
,
y
=
datas
|
plt.scatter(x[:,0],x[:,1],c=y,cmap=plt.cm.spring,edgecolors='k')
1
2
|
plt
.
scatter
(
x
[
:
,
0
]
,
x
[
:
,
1
]
,
c
=
y
,
cmap
=
plt
.
cm
.
spring
,
edgecolors
=
'k'
)
|

x[:,0]
1
2
|
x
[
:
,
0
]
|
array([ 6.75445054, 6.80526026, 7.07978644, 6.87472003, 8.06164078, 7.4934131 , 4.69777002, 9.19642422, 8.80996213, 7.5952749 , 8.20330317, 8.59258191, 6.89228905, 8.00405631, 8.14715032, 7.06363179, 6.34526126, 5.28435774, 6.62257531, 7.40314915, 7.27423265, 8.77188508, 6.39995999, 7.44636985, 7.74488453, 9.10088858, 8.10044749, 8.73747674, 6.51876894, 7.16251356, 6.57119411, 7.1354011 , 7.31294296, 7.52733204, 6.0160163 , 6.73117031, 6.11962018, 7.88579276, 7.32112244, 7.62051584, 6.96767867, 8.51730001, 7.92672195, 5.52161775, 6.93568163, 7.89765814, 7.40292703, 8.28827095, 7.33912656, 5.27801757, 5.57550594, 8.67425268, 7.55303352, 6.84661976, 6.26977193, 7.09962807, 5.5987887 , 8.0060449 , 6.85769503, 6.19399963, 8.68173394, 5.82259795, 5.30528133, 6.89703841, 5.9389756 , 7.13760133, 7.51718983, 8.08034605, 6.89078889, 6.95802459, 8.91111219, 7.57818277, 6.24007751, 7.79924692, 7.49985237, 9.94109903, 7.07232613, 7.50126258, 6.63110319, 6.6060513 , 8.81545663, 6.5688005 , 9.15668309, 7.45637594, 7.29548244, 8.20316159, 6.97321804, 6.42049196, 7.40783871, 6.54464509, 7.58423725, 8.80002143, 7.1847723 , 7.80361128, 7.96481592, 6.6571269 , 7.29433984, 7.237824 , 8.37153676, 6.49932355, 9.02255525, 7.61227907, 8.89464606, 7.01747287, 8.10434971, 7.68373899, 9.43042008, 6.26211747, 9.59017028, 7.82182216, 7.6025272 , 8.48011698, 7.63890536, 5.84965451, 7.46996922, 6.8117005 , 8.67502392, 8.12519495, 5.07337492, 7.48665378, 8.11950967, 6.15895483, 7.94310647, 7.95311372, 4.96938735, 8.8583269 , 10.01367527, 8.99334153, 8.22871505, 6.19407512, 7.26697254, 7.94970781, 5.62803952, 8.50049461, 7.31054144, 7.49814373, 8.32245091, 8.32813617, 7.56475962, 7.92129785, 8.00236864, 4.33366829, 6.02937898, 6.88953097, 7.51239046, 9.17061801, 7.63027116, 8.35312192, 8.72578696, 5.44099009, 7.56093115, 6.02376341, 7.15013321, 7.56833386, 7.09022949, 5.94356564, 6.25817082, 5.94205586, 7.82510107, 5.88994248, 6.40269472, 7.64534862, 6.8830708 , 7.24044576, 9.4035308 , 6.55819206, 6.58341965, 7.83939881, 7.22095192, 7.8440213 , 7.39634594, 9.10772988, 6.93540782, 7.9465776 , 7.92430026, 6.79156708, 6.28516091, 7.54257819, 7.40565933, 7.51463404, 6.40863862, 6.5342397 , 5.17209648, 5.49953213, 9.86936252, 7.84725158, 8.14330144, 7.28724996, 6.0888764 , 7.59635095, 6.71388804, 7.3307687 , 8.18240421, 8.53178848, 6.91511696, 7.82944816, 6.09382282, 7.24211001, 8.2634157 , 8.39800148])
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
array
(
[
6.75445054
,
6.80526026
,
7.07978644
,
6.87472003
,
8.06164078
,
7.4934131
,
4.69777002
,
9.19642422
,
8.80996213
,
7.5952749
,
8.20330317
,
8.59258191
,
6.89228905
,
8.00405631
,
8.14715032
,
7.06363179
,
6.34526126
,
5.28435774
,
6.62257531
,
7.40314915
,
7.27423265
,
8.77188508
,
6.39995999
,
7.44636985
,
7.74488453
,
9.10088858
,
8.10044749
,
8.73747674
,
6.51876894
,
7.16251356
,
6.57119411
,
7.1354011
,
7.31294296
,
7.52733204
,
6.0160163
,
6.73117031
,
6.11962018
,
7.88579276
,
7.32112244
,
7.62051584
,
6.96767867
,
8.51730001
,
7.92672195
,
5.52161775
,
6.93568163
,
7.89765814
,
7.40292703
,
8.28827095
,
7.33912656
,
5.27801757
,
5.57550594
,
8.67425268
,
7.55303352
,
6.84661976
,
6.26977193
,
7.09962807
,
5.5987887
,
8.0060449
,
6.85769503
,
6.19399963
,
8.68173394
,
5.82259795
,
5.30528133
,
6.89703841
,
5.9389756
,
7.13760133
,
7.51718983
,
8.08034605
,
6.89078889
,
6.95802459
,
8.91111219
,
7.57818277
,
6.24007751
,
7.79924692
,
7.49985237
,
9.94109903
,
7.07232613
,
7.50126258
,
6.63110319
,
6.6060513
,
8.81545663
,
6.5688005
,
9.15668309
,
7.45637594
,
7.29548244
,
8.20316159
,
6.97321804
,
6.42049196
,
7.40783871
,
6.54464509
,
7.58423725
,
8.80002143
,
7.1847723
,
7.80361128
,
7.96481592
,
6.6571269
,
7.29433984
,
7.237824
,
8.37153676
,
6.49932355
,
9.02255525
,
7.61227907
,
8.89464606
,
7.01747287
,
8.10434971
,
7.68373899
,
9.43042008
,
6.26211747
,
9.59017028
,
7.82182216
,
7.6025272
,
8.48011698
,
7.63890536
,
5.84965451
,
7.46996922
,
6.8117005
,
8.67502392
,
8.12519495
,
5.07337492
,
7.48665378
,
8.11950967
,
6.15895483
,
7.94310647
,
7.95311372
,
4.96938735
,
8.8583269
,
10.01367527
,
8.99334153
,
8.22871505
,
6.19407512
,
7.26697254
,
7.94970781
,
5.62803952
,
8.50049461
,
7.31054144
,
7.49814373
,
8.32245091
,
8.32813617
,
7.56475962
,
7.92129785
,
8.00236864
,
4.33366829
,
6.02937898
,
6.88953097
,
7.51239046
,
9.17061801
,
7.63027116
,
8.35312192
,
8.72578696
,
5.44099009
,
7.56093115
,
6.02376341
,
7.15013321
,
7.56833386
,
7.09022949
,
5.94356564
,
6.25817082
,
5.94205586
,
7.82510107
,
5.88994248
,
6.40269472
,
7.64534862
,
6.8830708
,
7.24044576
,
9.4035308
,
6.55819206
,
6.58341965
,
7.83939881
,
7.22095192
,
7.8440213
,
7.39634594
,
9.10772988
,
6.93540782
,
7.9465776
,
7.92430026
,
6.79156708
,
6.28516091
,
7.54257819
,
7.40565933
,
7.51463404
,
6.40863862
,
6.5342397
,
5.17209648
,
5.49953213
,
9.86936252
,
7.84725158
,
8.14330144
,
7.28724996
,
6.0888764
,
7.59635095
,
6.71388804
,
7.3307687
,
8.18240421
,
8.53178848
,
6.91511696
,
7.82944816
,
6.09382282
,
7.24211001
,
8.2634157
,
8.39800148
]
)
|
import numpy as np
1
2
|
import
numpy
as
np
|
a = np.zeros((2,3))
1
2
|
a
=
np
.
zeros
(
(
2
,
3
)
)
|
a[0]
1
2
|
a
[
0
]
|
array([0., 0., 0.])
1
2
|
array
(
[
0.
,
0.
,
0.
]
)
|
a[0] = range(1,4)
1
2
|
a
[
0
]
=
range
(
1
,
4
)
|
a
1
2
|
a
|
array([[1., 2., 3.], [0., 0., 0.]])
1
2
3
|
array
(
[
[
1.
,
2.
,
3.
]
,
[
0.
,
0.
,
0.
]
]
)
|
# 分片操作,选取二维数组的第一列,第二列
1
2
|
# 分片操作,选取二维数组的第一列,第二列
|
a[:,0]
1
2
|
a
[
:
,
0
]
|
array([1., 0.])
1
2
|
array
(
[
1.
,
0.
]
)
|
a[:,1]
1
2
|
a
[
:
,
1
]
|
array([2., 0.])
1
2
|
array
(
[
2.
,
0.
]
)
|
# 获取第一行 第二行
1
2
|
# 获取第一行 第二行
|
a[0]
1
2
|
a
[
0
]
|
array([1., 2., 3.])
1
2
|
array
(
[
1.
,
2.
,
3.
]
)
|
a[1]
1
2
|
a
[
1
]
|
array([0., 0., 0.])
1
2
|
array
(
[
0.
,
0.
,
0.
]
)
|
<br />
1
|
<
br
/
>
|