Sobes.tech
Middle

Китобхонаҳои истифодаи барои ҷустуҷӯи ҳамсоягони наздиктар?

sobes.tech AI

Ҷавоб аз AI

Барои ёдгирии мошин ва таҳлили маълумотҳо, одатан китобхонаҳо ва воситаҳои зерин барои ёфтани ҳамсоягони наздиктар истифода мешаванд:

  • scikit-learn (Python) — дорои иҷрои алгоритми k-Nearest Neighbors (k-NN), барои класификатсия ва регрессия мувофиқ аст.
  • Faiss (Facebook AI Similarity Search) — китобхона дар C++ бо пайвастҳои Python, оптимизатсияшуда барои ҷустуҷӯи зудтарини ҳамсоягон дар маҷмӯъҳои маълумоти калон.
  • Annoy (Approximate Nearest Neighbors Oh Yeah) — китобхона аз Spotify барои ҷустуҷӯи зуд ва тақрибании ҳамсоягон, барои тавсияҳо мувофиқ аст.
  • HNSWlib — китобхонаи самараноки ҷустуҷӯи ҳамсоягон бо истифода аз графҳои ҷаҳони хурд.
  • FLANN (Fast Library for Approximate Nearest Neighbors) — китобхона дар C++ барои ҷустуҷӯи зуд ва тақрибанӣ.

Интихоб вобаста ба вазифа:

  • Барои маҷмӯъҳои маълумоти хурду миёна, scikit-learn мувофиқ аст.
  • Барои ҳаҷми маълумоти хеле калон ва системаҳои баландсифат, Faiss ё HNSWlib тавсия дода мешавад.

Маслиҳат барои истифодаи scikit-learn барои ҷустуҷӯи ҳамсоягон:

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)

# Ёфтани 2 ҳамсояи наздик барои нуқтаи [1.5, 1.5]
distances, indices = neigh.kneighbors([[1.5, 1.5]])
print(indices)  # индексҳои ҳамсоягон
print(distances)  # масофаҳо ба ҳамсоягон