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)

返回整數一 (用於等權重的虛擬方法)。

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 (預設值),則使用歐幾里得距離。