Nuage de points
Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
-
cibouyann
- Messages: 8
- Enregistré le: 23 Oct 2012, 12:38
-
par cibouyann » 23 Oct 2012, 12:39
Bonjour,
J'ai un nuage de point et a des fins de traitements je souhaiterais diviser ce nuage en deux sous nuages afin de ne conserver que les données d'un seul.
Voici le graph en question
Existe-t-il des algo ou fonction pour ne conserver que le nuage qui se situe aux alentours des 200 et supprimer celui qui est un peu en dessous des 300 ?
Par avance merci.
-
Rockleader
- Habitué(e)
- Messages: 2126
- Enregistré le: 11 Oct 2011, 18:42
-
par Rockleader » 23 Oct 2012, 12:59
Va faire un tour sur photofiltre paint ou photoshop, tu sélectionne ta couleur d'arrière plan et tu colories les points qui dépassent avec la couleur de l'arrière plan, c'est de loin la solution la plus simple...Après si tu te fiche complètement de ce que tu as au dessus, tu peux carrément couper l'image au dessus de ton nuage de point, mais c'est un peu barbare comme méthode =)
Après si tu cherches à faire un algorithme qui fasse ça, je passe mon tour....
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !
-
cibouyann
- Messages: 8
- Enregistré le: 23 Oct 2012, 12:38
-
par cibouyann » 23 Oct 2012, 13:00
Rockleader a écrit:Va faire un tour sur photofiltre paint ou photoshop, tu sélectionne ta couleur d'arrière plan et tu colories les points qui dépassent avec la couleur de l'arrière plan, c'est de loin la solution la plus simple...Après si tu te fiche complètement de ce que tu as au dessus, tu peux carrément couper l'image au dessus de ton nuage de point, mais c'est un peu barbare comme méthode =)
Après si tu cherches à faire un algorithme qui fasse ça, je passe mon tour....
Merci pour ta réponse mais je ne veux pas récupérer l'image, je veux récupérer le nuage de point de façon algorithmique pour faire un traitement informatique après

merci !
-
DamX
- Membre Rationnel
- Messages: 630
- Enregistré le: 02 Oct 2012, 13:12
-
par DamX » 23 Oct 2012, 13:11
cibouyann a écrit:Merci pour ta réponse mais je ne veux pas récupérer l'image, je veux récupérer le nuage de point de façon algorithmique pour faire un traitement informatique après

merci !
Étant donné que tu es sur excel, tu peux trier tes données suivant la colonne 'E' et ensuite récupérer toutes les données dans l'intervalle que tu souhaites.
-
cibouyann
- Messages: 8
- Enregistré le: 23 Oct 2012, 12:38
-
par cibouyann » 23 Oct 2012, 13:13
DamX a écrit:Étant donné que tu es sur excel, tu peux trier tes données suivant la colonne 'E' et ensuite récupérer toutes les données dans l'intervalle que tu souhaites.
Le but n'est pas d'utiliser excel mais de laisser les données en base et de pouvoir filtrer celles-ci dynamiquement.
-
DamX
- Membre Rationnel
- Messages: 630
- Enregistré le: 02 Oct 2012, 13:12
-
par DamX » 23 Oct 2012, 13:17
cibouyann a écrit:Le but n'est pas d'utiliser excel mais de laisser les données en base et de pouvoir filtrer celles-ci dynamiquement.
Quel logiciel / langage utilises-tu pour manipuler ta base dans ce cas ? Sous quelle forme se trouve cette base ?
-
cibouyann
- Messages: 8
- Enregistré le: 23 Oct 2012, 12:38
-
par cibouyann » 23 Oct 2012, 13:18
DamX a écrit:Quel logiciel / langage utilises-tu pour manipuler ta base dans ce cas ? Sous quelle forme se trouve cette base ?
base mysql, je fais tout en procédures stockées sous mysql
-
GeoMathsPro
- Messages: 1
- Enregistré le: 23 Oct 2012, 13:18
-
par GeoMathsPro » 23 Oct 2012, 13:22
C'est vrai qu'avec Photoshop ça aurait été plus simple je trouve aussi... :ptdr:
-
DamX
- Membre Rationnel
- Messages: 630
- Enregistré le: 02 Oct 2012, 13:12
-
par DamX » 23 Oct 2012, 14:56
cibouyann a écrit:base mysql, je fais tout en procédures stockées sous mysql
Je n'ai jamais utilisé mySQL mais à priori la fonction native "select * from xxxx where 'y'>.. AND ..." te fait ca très bien
http://dev.mysql.com/doc/refman/5.0/en/selecting-rows.html
-
cibouyann
- Messages: 8
- Enregistré le: 23 Oct 2012, 12:38
-
par cibouyann » 23 Oct 2012, 14:57
oui le seul soucis est de trouver la variable Y à partir de la quelle je ne veux plus les points de mon nuage.
-
Dlzlogic
- Membre Transcendant
- Messages: 5273
- Enregistré le: 14 Avr 2009, 12:39
-
par Dlzlogic » 23 Oct 2012, 15:23
Bonjour,
J'ai pas bien compris si le problème consiste à éliminer les points "faux" ou à partager la zone dense en 2 sous-zones denses.
Y a-t-il un critère numérique et/ou logique qui permet de décider ?
-
cibouyann
- Messages: 8
- Enregistré le: 23 Oct 2012, 12:38
-
par cibouyann » 23 Oct 2012, 15:26
Dlzlogic a écrit:Bonjour,
J'ai pas bien compris si le problème consiste à éliminer les points "faux" ou à partager la zone dense en 2 sous-zones denses.
Y a-t-il un critère numérique et/ou logique qui permet de décider ?
en fait, on aura tout le temps deux ensembles qui vont apparaitre on va appeler lent le nuage du haut et rapides ceux du nuage du bas.
On veut simplement éliminer les points appartenant au nuage du nuage celui qui est le moins fourni, qui a le poids le moins lourd .. je ne sais pas si c'est possible ainsi.. c'est plus clair?
merci
-
DamX
- Membre Rationnel
- Messages: 630
- Enregistré le: 02 Oct 2012, 13:12
-
par DamX » 23 Oct 2012, 15:48
cibouyann a écrit:en fait, on aura tout le temps deux ensembles qui vont apparaitre on va appeler lent le nuage du haut et rapides ceux du nuage du bas.
On veut simplement éliminer les points appartenant au nuage du nuage celui qui est le moins fourni, qui a le poids le moins lourd .. je ne sais pas si c'est possible ainsi.. c'est plus clair?
merci
La variable c'est tpsParcours. En revanche il manque une information de ton coté : à partir de quelle valeur commence le rapide ? 200 ? Et si tu ne veux pas préciser cette Info, tu devras donner un critère permettant de séparer les groupes, comme un quantile (les 50% les plus lents, ou juste les 20%, etc) ou encore une règle statistique maison (ex : les lents sont à partir de la moyenne + un écart type). Quoi qu'il en soit si tu ne donnes pas une règle de découpage qui répondra à tes besoins ultérieurs en terme d'utilisation des données et de contexte, il n'y aura aucun algorithme qui découpera ton nuage magiquement en deux comme tu le souhaites.
-
cibouyann
- Messages: 8
- Enregistré le: 23 Oct 2012, 12:38
-
par cibouyann » 23 Oct 2012, 15:51
DamX a écrit:La variable c'est tpsParcours. En revanche il manque une information de ton coté : à partir de quelle valeur commence le rapide ? 200 ? Et si tu ne veux pas préciser cette Info, tu devras donner un critère permettant de séparer les groupes, comme un quantile (les 50% les plus lents, ou juste les 20%, etc) ou encore une règle statistique maison (ex : les lents sont à partir de la moyenne + un écart type). Quoi qu'il en soit si tu ne donnes pas une règle de découpage qui répondra à tes besoins ultérieurs en terme d'utilisation des données et de contexte, il n'y aura aucun algorithme qui découpera ton nuage magiquement en deux comme tu le souhaites.
Effectivement j'avais pensé à la moyenne + ou - l'écart type, j'avais peur que ce soit trop discriminitaroire..
Par exemple si on choisi les les 20% les plus lent à enlever comment ferais tu ?
-
DamX
- Membre Rationnel
- Messages: 630
- Enregistré le: 02 Oct 2012, 13:12
-
par DamX » 23 Oct 2012, 16:43
cibouyann a écrit:Effectivement j'avais pensé à la moyenne + ou - l'écart type, j'avais peur que ce soit trop discriminitaroire..
Par exemple si on choisi les les 20% les plus lent à enlever comment ferais tu ?
Si tu détermines ton niveau par un calcul de type moyenne et autres (que tu dois pouvoir faire avec mySQL, soit automatiquement, soit manuellement en parcourant la base), tu utilises juste le "select where".
Si tu utilises un critère de type "les 20% les plus longs" tu tries ta base (j'ai vu qu'il y a une fonction "sort by") et ensuite tu n'as plus qu'à sélectionner les 20% derniers.
Je ne suis peut être pas totalement précis Parce que je ne connais pas mySQL, mai ce n'est plus une question de maths, c'est une question de langage que tu poses. Une fois que tu trouvé dans la doc mySQL les fonctions pour parcourir la base et pour la trier, tu peux faire ce que tu veux.
-
cibouyann
- Messages: 8
- Enregistré le: 23 Oct 2012, 12:38
-
par cibouyann » 24 Oct 2012, 08:08
DamX a écrit:Si tu détermines ton niveau par un calcul de type moyenne et autres (que tu dois pouvoir faire avec mySQL, soit automatiquement, soit manuellement en parcourant la base), tu utilises juste le "select where".
Si tu utilises un critère de type "les 20% les plus longs" tu tries ta base (j'ai vu qu'il y a une fonction "sort by") et ensuite tu n'as plus qu'à sélectionner les 20% derniers.
Je ne suis peut être pas totalement précis Parce que je ne connais pas mySQL, mai ce n'est plus une question de maths, c'est une question de langage que tu poses. Une fois que tu trouvé dans la doc mySQL les fonctions pour parcourir la base et pour la trier, tu peux faire ce que tu veux.
Effectivement à force d'être dans des calculs compliqués j'en oublie le plus simple

prendre les 20% d'un ensemble n'est effectivement pas le plus compliqué !
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 56 invités