sklearn scikit machine learning learn guide examples español python machine-learning scipy scikit-learn

python - machine - scikit-learn vs tensorflow



Vecinos más cercanos en Python dada la matriz de distancia (3)

Tengo que aplicar Vecinos más cercanos en Python, y estoy buscando las scikit-learn y scipy , que requieren los datos como entrada, luego calcularán las distancias y aplicarán el algoritmo.

En mi caso, tuve que calcular una distancia no convencional, por lo tanto, me gustaría saber si hay una forma de alimentar directamente la matriz de distancia.



Deberá crear un objeto DistanceMetric que proporcione su propia función como argumento:

metric = sklearn.neighbors.DistanceMetric.get_metric(''pyfunc'', func=func)

De los documentos:

Aquí func es una función que toma dos matrices numpy unidimensionales y devuelve una distancia. Tenga en cuenta que para ser utilizado dentro del BallTree, la distancia debe ser una métrica verdadera: es decir, debe cumplir las siguientes propiedades

  • No negatividad: d (x, y)> = 0
  • Identidad: d (x, y) = 0 si y solo si x == y
  • Simetría: d (x, y) = d (y, x)
  • Desigualdad del triángulo: d (x, y) + d (y, z)> = d (x, z)

A continuación, puede crear su clasificador con metric=metric como argumento de palabra clave y lo usará al calcular distancias.


Desea agregar a la respuesta de ford que tiene que hacer así

metric = DistanceMetric.get_metric (''pyfunc'', func = / su nombre de función /)

No puedes simplemente poner tu propia función como el segundo argumento, debes nombrar el argumento como "func"