Bio.kNN模块¶
进行k近邻分类的代码。
K近邻是一种有监督的学习算法,它基于新观测到的周围邻域中的类对其进行分类。
- 词汇表:
距离要素空间中两点之间的距离。
对每个点的重要性进行加权以进行分类。
- 班级:
KNN保存最近邻分类器的信息。
- 功能:
训练训练一个新的KNN分类器。
计算给出一个观察值,计算每个班级的概率。
分类将观察结果分类为一类。
- 加权函数:
每个示例的权重均为1。
- class Bio.kNN.kNN¶
基类:
object
保存进行最近邻分类所需的信息。
- 属性:
可能的类的类集。
邻居的xs列表。
邻居所属的类的Y列表。
要查看的邻居数量为k。
- __init__()¶
初始化类。
- Bio.kNN.equal_weight(x, y)¶
返回整数1(等权重的伪方法)。
- Bio.kNN.train(xs, ys, k, typecode=None)¶
在训练集上训练k个最近邻分类器。
xs是观察列表,ys是课堂作业列表。因此,xs和ys应该包含相同数量的元素。k是在进行分类时应该检查的邻居数量。
- Bio.kNN.calculate(knn, x, weight_fn=None, distance_fn=None)¶
计算每一类的概率。
- 参数:
X为观测数据。
Weight_fn是一个可选函数,它接受x和一个训练示例,并返回一个权重。
Distance_fn是一个可选函数,可获取两个点并返回它们之间的距离。如果Distance_fn为NONE(默认值),则使用欧几里得距离。
将类的字典返回给类的权重。
- Bio.kNN.classify(knn, x, weight_fn=None, distance_fn=None)¶
将观察结果分成一类。
如果未指定,Weight_fn将为所有邻居赋予相同的权重。Distance_fn是一个可选函数,可获取两个点并返回它们之间的距离。如果Distance_fn为NONE(默认值),则使用欧几里得距离。