111 void CopyVC(
const std::vector<VectCode*> &vcl );
127 double cmin,
double cmax );
129 void RandVC(
double cmin=-1.,
double cmax=1. );
137 static void PrintVect(
const std::vector<double> *vect );
140 const std::vector<double> *v2 );
146 int Save(
const char *nom )
const;
159 int Learn(
const std::vector<double> *vect );
169 int Density(
const std::vector<double> *vect )
const;
unsigned _nDim
Nombre de dimensions de la carte (1 ou 2 normalement)
void CreateUniformVCFromComp(unsigned c, double *comp, unsigned nvd, double cmin, double cmax)
Ajoute uniformément des VC sur les composantes à partir de la c-ème.
int DelVectCode(VectCode *vc)
double SqDistWinner() const
Carré de la distance au vecteur-code gagnant.
void SetLearnFactor(double lf)
double MapDist(const VectCode *vc1, const VectCode *vc2) const
int WinIndex() const
Indice du vecteur-code élu.
static void PrintVC(const VectCode *vc)
static double SqVectDist(const std::vector< double > *v1, const std::vector< double > *v2)
double MapDist(int i1, int i2) const
int AddVectCode(VectCode *vc)
int NCDim() const
Nombre de dimensions des vecteurs-code.
double _learnRay
Rayon d'apprentisasge.
int Save(const char *nom) const
double DensityRay() const
Rayon de recherche pour un comptage de densité.
friend std::ostream & operator<<(std::ostream &, const Kohonen &)
VectCode * FindWinner(const std::vector< double > *vec)
double LearnFactor() const
Facteur d'apprentissage.
unsigned _nCDim
Nombre de dimensions des vecteurs-code.
void CreateUniformVC(unsigned nvd, double cmin=-1., double cmax=1.)
Crée des vecteurs-code uniformément répartis.
double LearnRay() const
Rayon d'apprentisasge.
int NVCode() const
Nombre de vecteurs-code.
void SetDensityRay(double dr)
void ChangeDims(unsigned ndim, unsigned ncdim)
int Density(const std::vector< double > *vect) const
double _sqDistWinner
Distance au vecteur-code élu.
double _learnFactor
Facteur d'apprentissage.
Kohonen(const Kohonen &koh)
double DistFact(double d) const
friend std::istream & operator>>(std::istream &, Kohonen &)
int RemoveVectCode(const VectCode *vc)
int Load(const char *nom)
std::vector< double > UserData
Données utilisateur.
void SetLearnRay(double lr)
double _densityRay
Rayon de recherche pour un comptage de densité.
Kohonen(int ndim=1, int ncdim=2)
VectCode VCWinner() const
Vecteur-code élu.
std::vector< VectCode * > _vCode
Vecteurs-code.
void CopyVC(const std::vector< VectCode * > &vcl)
Recopie tous les vecteurs-code à partir de vcl.
unsigned _winIndex
Index du vecteur-code élu.
int NDim() const
Nombre de dimensions de la carte (1 ou 2 normalement)
int Learn(const std::vector< double > *vect)
VectCode * _vCWinner
Vecteur-code élu.
VectCode * VCode(unsigned i) const
Vecteur code numéro i.
Kohonen & operator=(const Kohonen &koh)
static void PrintVect(const std::vector< double > *vect)
void RandVC(double cmin=-1., double cmax=1.)
std::vector< double > coord
Coordonnées dans la carte.
int cla
Classe représentée par ce vecteur.
std::vector< double > vect
Vecteur lui-même.
std::ostream & operator<<(std::ostream &fich, const Kohonen &koh)
std::istream & operator>>(std::istream &fich, Kohonen &koh)