PANDORE Version 6 GREYC-IMAGE

pknn



Classification selon les K plus proches voisins.





Synopsis

pknn attr_base attr_in attr_out k [col_base|-] [col_in|-] [col_out|-]

Description

L'opépateur pknn effectue une classification selon les K plus proches voisins. Un individu est classé selon la classe majoritaire parmi ses K plus proches voisins de l'espace d'apprentissage.

La mesure de distance entre deux objets xi and xj utilise la distance euclidienne :

    Dij = [ SUM{d=1;n} (xid - xjd)2 ]1/2

où xid est la caractéristique d de l'objet i et xjd est la caractéristique d for de l'object j.

Paramètres

Entrées

Sorties

Résultat

Retourne SUCCESS ou FAILURE.

Exemples

Classification des bonbons de l'image jellybean.pan à partir d'un échantillon des différents types de bonbons stockés dans le dossier 'base' (Unix version):

# Learning
   classes=1;
   for i in base/*.pan
   do
      pim2array ind $i /tmp/tmp1 
      parraysize ind.1 /tmp/tmp1
      size=`pstatus`
      pcreatearray ind.C Ushort $size $classes | pcolcatenateitem /tmp/tmp1 - i-01.pan
      if [ -f base.pan ]
      then pcolcatenateitem i-01.pan base.pan base.pan
      else cp i-01.pan base.pan
      fi
      classes=`expr $classes + 1`
   done 

# Classification
   pproperty 0 jellybeans.pan
   ncol=`pstatus`
   pproperty 1 jellybeans.pan
   nrow=`pstatus`

   pim2array ind jellybeans.pan | pknn ind ind ind 10 base.pan - | parray2im $ncol $nrow 0 ind | pim2rg - out.pan

Voir aussi

Classification

Prototype C++

Errc PKnn(const std::string &a_base, const Collection &c_base, const std::string &a_in, const Collection &c_in, const std::string &a_out, Collection &c_out, int K);

Auteur: Alexandre Duret-Lutz