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(默认值),则使用欧几里得距离。