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