Ah, that helped me a lot!!!

So i just write my own function that returns an skalar. This function is
used in the metric parameter of the kNN function.

Thank you!!!


On 9 January 2016 at 03:41, Sebastian Raschka <se.rasc...@gmail.com> wrote:

> You could just need “regular" Python function that outputs a scalar. For
> example, consider the following example:
>
> >>> from sklearn.neighbors import NearestNeighbors
> >>> import numpy as np
> >>> X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
> >>> nbrs = NearestNeighbors(n_neighbors=2, algorithm='ball_tree').fit(X)
> >>> distances, indices = nbrs.kneighbors(X)
> >>> distances
> array([[ 0.        ,  1.        ],
>        [ 0.        ,  1.        ],
>        [ 0.        ,  1.41421356],
>        [ 0.        ,  1.        ],
>        [ 0.        ,  1.        ],
>        [ 0.        ,  1.41421356]])
>
> (note that I am using the NearestNeighbors class here, but the same
> applies to the KNeighborsClassifier)
>
> For example, to compute the distances between samples as Euclidean
> distance (the default) you could just define a Python function
>
> >>> def eucldist(x, y):
> ...    return np.sqrt(np.sum((x-y)**2))
> >>> nbrs = NearestNeighbors(n_neighbors=2, algorithm='ball_tree',
> metric=eucldist).fit(X)
> >>> distances, indices = nbrs.kneighbors(X)
> >>> distances
> array([[ 0.        ,  1.        ],
>        [ 0.        ,  1.        ],
>        [ 0.        ,  1.41421356],
>        [ 0.        ,  1.        ],
>        [ 0.        ,  1.        ],
>        [ 0.        ,  1.41421356]])
>
> (alt. you could provide it as lambda function)
>
> Best,
> Sebastian
>
> > On Jan 8, 2016, at 9:19 PM, A neuman <themagenta...@gmail.com> wrote:
> >
> > Hello everyone,
> >
> > I actually want to use the KNeighboursClassifier, with my own distances.
> >
> > in the Documentation stands the following:
> >
> > [callable] : a user-defined function which accepts an array of
> distances, and returns an array of the same shape containing the weights.
> >
> > I just dont know, how should the array looks like?
> >
> > For example, if I have 100 Samples, the array has a size 100*100?
> > So for every samples there is a distance to the other 99 samples.
> >
> > [[0.4, 0.2, ...],[0.3,0.1,...]........[0.9,0.6,...]]   something like
> this?
> >
> > I would appreciate your help.
> >
> > best,
> >
> >
> >
> ------------------------------------------------------------------------------
> > Site24x7 APM Insight: Get Deep Visibility into Application Performance
> > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
> > Monitor end-to-end web transactions and take corrective actions now
> > Troubleshoot faster and improve end-user experience. Signup Now!
> >
> http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140_______________________________________________
> > Scikit-learn-general mailing list
> > Scikit-learn-general@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
>
>
>
> ------------------------------------------------------------------------------
> Site24x7 APM Insight: Get Deep Visibility into Application Performance
> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
> Monitor end-to-end web transactions and take corrective actions now
> Troubleshoot faster and improve end-user experience. Signup Now!
> http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
> _______________________________________________
> Scikit-learn-general mailing list
> Scikit-learn-general@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
>
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
Scikit-learn-general mailing list
Scikit-learn-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general

Reply via email to