È possibile utilizzare qualcosa come la somiglianza 1 - cosine con KNeighborsClassifier di scikit learn?Utilizzo della distanza coseno con scikit learn KNeighborsClassifier
This risposta dice no, ma su documentation per KNeighborsClassifier, si dice che le metriche menzionate in DistanceMetrics sono disponibili. Le metriche di distanza non includono una distanza del coseno esplicita, probabilmente perché non è realmente una distanza, ma presumibilmente è possibile inserire una funzione nella metrica. Ho provato ad inserire lo scikit per imparare il kernel lineare in KNeighborsClassifier, ma mi dà un errore che la funzione ha bisogno di due array come argomenti. Qualcun altro ha provato questo?
È probabile che il classificatore KNN utilizzi alcune ottimizzazioni basate sulla disuguaglianza triangolare. La metrica coseno non obbedisce, quindi non è garantito il corretto comportamento di KNN. –
@ Barmaley.exe la metrica coseno può essere fatta per obbedire alla disuguaglianza triangolare, e lo stesso ordinamento può essere ottenuto senza una implementazione esplicita comunque. Vedi la mia risposta per i dettagli –