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) # հարևանների հեռավորությունները