Hey,

I Have an another problem,

if I'm using my own metric, there are not only the samples in x and y.
I'm using a 10 fold cv with k-NN Classifier.
My Attributes are only 1's and 0's, but if im printing them out, I'll get:

KNeighborsClassifier(metric=myFunc)

def myFunc(x,y):

    print x,'\n'
    print y,'\n'

I Cutted some values due to the size:

Thats for x:

[ 0.6371319   0.54557285  0.30214217  0.14690307  0.49778446  0.89183238
  0.52445514  0.63379164  0.71873681  0.55008567]

[ 0.6371319   0.54557285  0.30214217  0.14690307  0.49778446  0.89183238
  0.52445514  0.63379164  0.71873681  0.55008567]

[ 0.          0.          0.          0.02358491  0.00471698  0.          0.
  0.          0.          0.00471698  0.00471698  0.00471698  0.02830189
  0.00943396  0.     .............................52358491  0.53773585
  0.63207547  0.51886792  0.66037736  0.75        0.57075472  0.59433962
  0.63679245  0.8490566   0.71698113  0.02358491]

[ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.
  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.
  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.
  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  1.  0.  0.  0.  0.  0.
  1.  0.  1.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.
  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.
  0.  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.
  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  1.  0.  0.  0.  0.
  0.  0.  0.  0.  0.  1.  0.  0.  1.  0.  1.  0.  0.  1.  0.  1.  1.  0.
  1.  1.  1.  1.  0.]



and for y

[ 0.          0.          0.          0.02358491  0.00471698  0.          0.
  0.          0.          0.00471698  0.00471698  0.00471698  0.02830189
  0.          ..........
  0.63207547  0.51886792  0.66037736  0.75        0.57075472  0.59433962
  0.63679245  0.8490566   0.71698113  0.02358491]

[ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.
  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  1.  1.  0.  0.
  0.  0.  0.  0.  0.  0.  1.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.
  0.  1.  0.  0.  1.  0.  1.  1.  0.  0.  0.  0.  0.  1.  0.  0.  1.  0.
  0.  1.  1.  0.  0.  1.  0.  0.  0.  1.  0.  0.  0.  0.  1.  0.  1.  0.
  0.  0.  0.  1.  1.  0.  0.  0.  0.  0.  0.  0.  1.  1.  0.  0.  1.  1.
  0.  0.  0.  0.  1.  0.  0.  0.  0.  1.  0.  0.  0.  0.  1.  0.  1.  0.
  0.  0.  0.  0.  1.  0.  0.  1.  1.  1.  1.  0.  0.  0.  0.  0.  1.  0.
  0.  0.  0.  0.  1.  1.  0.  0.  0.  0.  0.  0.  1.  0.  1.  1.  1.  1.
  1.  1.  1.  1.  0.]


The problem is, I have to count the occurences from 0's and 1's in x and y.
And if there are some other arrays
lik 0.636..... I dont get the right solution. So in general, i only want
the array with 1 and 0

best,













On 9 January 2016 at 03:58, A neuman <themagenta...@gmail.com> wrote:

> 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