我有两个班级:
x={-3,-2,1} //represented by *
y={0,5,6,7} //represented by x
如果k = 3,您如何确定决策边界?
* * x * x x x
| | | | | | | | | | | | |
-5 -4 -3 -2 -1 0 1 2 3 4 5 6 7
据说正确的答案是1.5,1到2之间。它是如何工作的?
答案 0 :(得分:1)
KNN算法通过查看K个最近邻居,查看其标签,并将大多数(最受欢迎的)标签分配给新观察来对新观察进行分类。
对于K = 3的KNN,任何< 1.5将被归类为*
和任何> 1.5将被归类为x
。
您可以通过尝试一些示例来看到这一点。假设您需要将值 1 分类。最近的三个邻居是 1 的*
, 0 的x
和 -2的*
即可。由于有两个*
和一个x
, 1 将被归类为*
。
现在假设您要对 2 进行分类。在这里,三个最近的邻居是 0 的x
, 1 的*
和的x
5 即可。因此 2 会被归类为x
。
KNN过程隐含地定义了决策边界。确定我所知道的最好的方法是尝试一系列示例并寻找过渡边界,其中观察分类从一个类变为另一个类。在您的示例中,这将如下所示:
-5 - > *
-4 - > *
-3 - > *
-2 - > *
-1 - > *
0 - > *
1 - > *
2 - > x
3 - > x
4 - > x
你可以在你的例子中看到这一点 - 决策边界介于1和2之间。因此1.5答案。