Bonjour, je débute encore avec Matlab et j'ai un projet à rendre cette semaine qui a pour but de développer une version améliorée de l'algorithme des k-means. Mon idée était d'utiliser la fonction de voisinage, la classification se fera à partir d'un choix arbitraire de points et selon la visibilité de ce point sur les données, une classe se forme. Je vous explique mon algorithme :
L'initialisation consiste à choisir arbitrairement un point de la figure. A l'aide de la fonction de voisinage, le programme examine si ce point est un point frontière ou non. Si non l'algorithme choisit un autre point et recommence. Si oui, ce point est marqué comme frontière et une classe est créée. Cette classe contient le point frontière. Puis parmi les points qui appartiennent au voisinage de ce point frontière, on en examine un. S?il n?est pas considéré comme un point frontière on en prend un autre. S'il est considéré comme un point frontière, il est marqué et est introduit dans la classe. Puis on recommence. De ce fait la figure va ainsi être contournée par tous ses points frontières. Lorsque le point frontière initial sera à nouveau détecté, la phase de détection de la forme est terminée et la frontière de la classe est trouvée.
Une fois que la classe est contournée géométriquement par les points frontières, il faut attribuer à cette classe les points intérieurs. Pour cela on peut utiliser une méthode d?agrégation successive.
Donc pour chaque point frontière, on examine ses voisins, ces derniers sont ajoutés à la classe. Puis pour les nouveaux points de la classe on examine leurs voisins respectifs, et ceux qui n'appartiennent pas à la classe y sont inclus etc. Ainsi on aura réussi à « colorier » notre forme géométrique et on obtiendra notre classe.
Puis l?algorithme continue avec les points non classés, jusqu'à ce qu'ils le soient tous.

Mais comme expliqué, je m'embrouille un peu avec la fonction de
détection des frontières (j'ai essayé avec ISNAN mais ça ne marche pas :s ) et aussi celle de voisinage..

Est ce quelqu'un peut m'aider ou me proposer quelque chose.

Merci