Outils pour utilisateurs

Outils du site


cours:plim:projet16_17:gr3:gr3

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
cours:plim:projet16_17:gr3:gr3 [2017/01/24 09:43]
lsauvage [Algorithme]
cours:plim:projet16_17:gr3:gr3 [2017/02/17 17:59] (Version actuelle)
lsauvage [Algorithme]
Ligne 1: Ligne 1:
-====== ​AutoTraffic ​======+====== ​SmartRoad ​======
  
 ==== Présentation du projet ==== ==== Présentation du projet ====
Ligne 7: Ligne 7:
   * Nom 2 : Lucas Sauvage   * Nom 2 : Lucas Sauvage
   * Créneau : AM   * Créneau : AM
-  * Nom du Projet : AutoTraffic+  * Nom du Projet : SmartRoad
  
 === Un scénario d'​illustration du Projet === === Un scénario d'​illustration du Projet ===
Ligne 17: Ligne 17:
 Bob répète la même opération plusieurs fois afin que l’application collecte plusieurs fois les données. Au bout de x trajets, l’application commence à informer Bob du temps qu’il va mettre pour rentrer si il part maintenant. Bob peut également consulter des anciens relevés de ces trajets afin d'y retrouver les pires et meilleurs horaires de chaque jour. Bob répète la même opération plusieurs fois afin que l’application collecte plusieurs fois les données. Au bout de x trajets, l’application commence à informer Bob du temps qu’il va mettre pour rentrer si il part maintenant. Bob peut également consulter des anciens relevés de ces trajets afin d'y retrouver les pires et meilleurs horaires de chaque jour.
  
-L'​application :+__L'​application :__
  
 Application récupérant des informations sur le trajet quotidien de ses utilisateurs. Celle-ci déterminera le temps moyen du trajet de l'​utilisateur. Plus précisément,​ l'​idée est de pouvoir informer l'​utilisateur dans combien de temps il sera chez lui s'il part maintenant (à cet horaire précisément). L'​utilisateur a également la possibilité de consulter un résumé des anciens relevés de ces trajets. Application récupérant des informations sur le trajet quotidien de ses utilisateurs. Celle-ci déterminera le temps moyen du trajet de l'​utilisateur. Plus précisément,​ l'​idée est de pouvoir informer l'​utilisateur dans combien de temps il sera chez lui s'il part maintenant (à cet horaire précisément). L'​utilisateur a également la possibilité de consulter un résumé des anciens relevés de ces trajets.
Ligne 125: Ligne 125:
  
  
 +__Pourquoi utiliser SVM ?__
  
 +Contrairement à des algorithmes de clustering non supervisé, SVM permet de déterminer quel est le meilleur découpage de l'​espace en fonction des données qui sont déjà classifiées/​labélisées en amont.
 +
 +KMEAN par exemple reçoit des données et les découpe en calculant les  K meilleurs centroides. Une donnée appartiendra alors à un groupe seulement en fonction de sa réciprocité envers un centroide, ce qui peut amener de nombreuses erreurs selon la répartition des groupes.
 +
 +Si en revanche nous savons déjà à quel type de groupe apparient une donnée (cf: bon trajet/​mauvais trajet), SVM utilisera ces informations pour déterminer quelle est la meilleure fonction qui découpe ces différents groupes. Dans notre programme nous savons identifier de bons et de mauvais trajet en fonction de la durée du trajet et de sa différence à la médiane de tous les trajets. Nous avons définis 7 groupes, comme un bison futé, chaque groupe est représenté par un entier dans l'​intervalle [-3;3]
 +
 +  * -3 : durée < 50%
 +  * -2 : 50% < durée < 70% 
 +  * -1 : 70% < durée < 90%
 +  * 0 : 90% < durée < 110%
 +  * 1 : 110% < durée < 130%
 +  * 2 : 130% < durée < 150%
 +  * 3 : 150% < durée
 +
 +Ainsi nous améliorons la précision de l'​algorithme d'​apprentissage.
 +KMEAN ne fonctionne pas de cette manière on se contente de lui donner des données qu'il va classifier en k groupes distincts. Si nous ne sommes pas sûrs de la répartition de nos échantillons dans un repère à n dimensions où une dimension peut par exemple correspondre au jour de la semaine KMEAN peut s'​avérer désastreux. ​
 +
 +Si nous prenons comme exemple la répartition de points en 2 groupes distincts (jaune/​mauve).
 +KMEAN calculera les centroides et rapprochera des points qui dans notre cas n'​appartiennent pas à la même classe.
 +
 +{{:​cours:​plim:​projet16_17:​gr3:​cluster.png?​200|}}
 +
 +SVM quant à lui découpera l'​espace en préservant les groupes du mieux qu'il peut.
 +
 +{{:​cours:​plim:​projet16_17:​gr3:​svm.png?​200|}}
 +
 +Dernier avantage de SVM, il permet de classifier des points mêmes en ayant des coordonnées manquantes ce qui correspond à notre problématique car certains checkpoints n'ont pas encore été atteints or nous voulons une prédiction quant à l'​heure d'​arrivée.
 +
 +=== Code, installation et explications ===
 +\\
 +Voir les deux README.md sur nos repesitorys github :
 +
 +  * https://​github.com/​Paltoquet/​SmartRoadv2
 +  * https://​github.com/​Drym/​SmartServerV2
  
  
cours/plim/projet16_17/gr3/gr3.1485247428.txt.gz · Dernière modification: 2017/01/24 09:43 par lsauvage