Bio.kNN 模块

用于执行 k 近邻分类(已弃用)。

k 近邻是一种监督学习算法,它根据周围邻域的类别对新观察结果进行分类。

术语表
  • 距离 特征空间中两点之间的距离。

  • 权重 对每个点进行分类的权重。

  • kNN 保存用于最近邻分类的信息。

函数
  • train 训练新的 kNN 分类器。

  • calculate 计算给定观察结果的每个类别的概率。

  • classify 将观察结果分类到一个类别。

权重函数
  • equal_weight 每个示例都给定权重 1。

此模块已弃用,请考虑使用其他替代方案,例如 scikit-learn。

class Bio.kNN.kNN

基类: object

保存执行最近邻分类所需的信息。

属性
  • classes 可能的类集。

  • xs 邻居列表。

  • ys 邻居所属的类列表。

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