What distance metric can I use for comparing image features in a nearest neighbour algorithm?

I use Nearest Neighbour function of Scikit learn module in python for training and compare an image set (https://docs.google.com/file/d/0B6zJ3_hrkW40U182SWNWX3o4dE0/edit?usp=sharing&pli=1) By deafult NN function use euclidean distance, but in these way it mixes all feature without giving a weight.

I use feature like solidity, and Humoment that are rotation and scale invariant.

my features:
[[solidity,1sthumoment,2ndhumoment, 3rdhumoment, 4thhumoment, 5thhumoment,6thhumoment,7thhumoment][...]...]

[[0.87044372948387361, 0.063642083932879651, 0.12356758667941924, 0.0079915727336300653, 0.0002061055245765021, 0.0019832214511596759, 0.000143483068555641, 0.17750220723974636]
[0.43762295557263098, 0.032602517700434798, 0.0045084338591890975, 0.00040343031030726695, -4.3220757761746937e-07, 4.1662265592274961e-05, -3.3048990436934407e-07, 2.83559235524301e-05]
[0.67217292360607472, 0.21411359416298198, 0.038240138048085716, 0.00056521478226677867, 1.6126276972407056e-06, 0.00020982069131408694, -2.0746983237760103e-06, 0.00030014256771966684]
[0.51893243284454049, 0.14486098229876093, 0.007011404157031503, 0.00042653374379056195, -6.0947207554547829e-07, 0.00015935932421697882, -4.1548384524149294e-07, 0.0013995801259622112]
[0.72398269966588791, 0.31689878513436764, 0.00089365579831210602, 0.00022784188716352421, 6.83376830706894e-08, -5.1956738361704706e-05, 7.6810569991291178e-08, 0.0005244526025960404]
...]


Which are the best similarity metrics i could use for that image set, with that features ?

Here (http://scikit-learn.org/dev/modules/generated/sklearn.neighbors.KNeighborsClassifier.html) i saw Minkowski metric,manhattan_distance, euclidean_distance

"Parameter for the Minkowski metric from sklearn.metrics.pairwise.pairwise_distances. When p = 1, this is equivalent to using manhattan_distance (l1), and euclidean_distance (l2) for p = 2. For arbitrary p, minkowski_distance (l_p) is used"

or maybe:" a user-defined function which accepts an array of distances, and returns an array of the same shape containing the weights."

-
It's very difficult to read you post. I realize you probably don't have enough reputation to insert images, etc. Is there a way I can help you edit it for the sake of better formatting and readability? – Phonon Feb 13 '13 at 8:32
Hard to say with only 4 rows, but these columns don't look normalized. I don't know if scikit does that for you, otherwise it could explain bad performance. Try dividing each column by its standard deviation. – nikie Feb 13 '13 at 8:59
Also normalized i think i couldn't give priority to feature than another, or not? What you need, all the value features? here there are image samples: docs.google.com/file/d/0ByS6Z5WRz-h2NDgySmJ6NnpId0U/edit, docs.google.com/file/d/0ByS6Z5WRz-h2WHEzNnJucDlRR2s/edit – postgres Feb 13 '13 at 9:42