Sobes.tech
Middle

Yaxın qonşuları tapmaq üçün hansı kitabxanələr istifadə edilməlidir?

sobes.tech Süni İntellekt

AI-dan cavab

Maşın öyrənmə və məlumatların analizi tapşırıqlarında ən yaxın qonşuları tapmaq üçün tez-tez aşağıdakı kitabxanalar və alətlər istifadə olunur:

  • scikit-learn (Python) — k-Nearest Neighbors (k-NN) alqoritminin tətbiqini ehtiva edir, təsnifat və reqressiya üçün əlverişlidir.
  • Faiss (Facebook AI Similarity Search) — C++ dilində yazılmış, Python üçün bağlaması olan, böyük məlumat dəstələrində sürətli qonşu axtarışına optimallaşdırılmışdır.
  • Annoy (Approximate Nearest Neighbors Oh Yeah) — Spotify tərəfindən hazırlanmış, yaxın qonşuları sürətlə təxmini tapmaq üçün istifadə olunan kitabxana, tövsiyələr üçün uyğundur.
  • HNSWlib — kiçik dünya qrafiklərindən istifadə edərək yaxın qonşuları tapmaq üçün səmərəli kitabxana.
  • FLANN (Fast Library for Approximate Nearest Neighbors) — C++ dilində yazılmış, sürətli və təxmini axtarış üçün kitabxana.

Seçim vəzifəyə bağlıdır:

  • Kiçik və orta ölçülü məlumat dəstləri üçün scikit-learn uyğundur.
  • Çox böyük məlumat həcmi və yüksək performanslı sistemlər üçün Faiss və ya HNSWlib tövsiyə olunur.

scikit-learn istifadə edərək yaxın qonşuları tapma nümunəsi:

from sklearn.neighbors import NearestNeighbors
import numpy as np

X = np.array([[0, 0], [1, 1], [2, 2], [3, 3]])
neigh = NearestNeighbors(n_neighbors=2)
neigh.fit(X)

# [1.5, 1.5] nöqtəsi üçün 2 ən yaxın qonşunu tapın
distances, indices = neigh.kneighbors([[1.5, 1.5]])
print(indices)  # qonşuların indeksləri
print(distances)  # qonşulara olan məsafələr