Outils pour utilisateurs

Outils du site


projets:plim:20142015:gr6

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édentesRévision précédente
Prochaine révision
Révision précédente
projets:plim:20142015:gr6 [2014/11/23 18:55] zayaniprojets:plim:20142015:gr6 [2014/11/23 23:00] (Version actuelle) zayani
Ligne 54: Ligne 54:
  <br/>  <br/>
  </div>  </div>
-   <div style="margin-bottom:10px;color:#183152">  <b>V. User Interface</b> </div> +   <div style="margin-bottom:10px;color:#183152">  <b>V. Software packages & User Interface</b> </div> 
-   <div style="margin-bottom:10px;color:#183152"> <b>VI. Futhers improvments</b> </div> +   <div style="margin-bottom:10px;color:#183152"> <b>VI. Further improvements</b> </div> 
  <div style="margin-left:30px;margin-bottom:10px;color:#375D81">    <div style="margin-left:30px;margin-bottom:10px;color:#375D81">  
  a. Battery optimization<br/>  a. Battery optimization<br/>
Ligne 61: Ligne 61:
  c. Data Storage  c. Data Storage
  </div>  </div>
-  <div style="margin-bottom:10px;color:#183152"> <b>VII. Conclusion</b> </div>+  
  </div>  </div>
  
Ligne 114: Ligne 114:
  <br/>  <br/>
  <div>  <div>
- Our project is based on an MVC architecture with a model, controller and viewfor collecting data, we have an GPS module with an asynchrone processwhen the GPS module collect a new datait notify by an Eventhandler the controller to add this new data.+ Our project is based on MVC architecture with a model, controller and view for collecting data. We have GPS module with an asynchronous process. That's mean when the GPS module collects a new datait notifies the controller by sending him an event handler to add this new data. 
 + 
  <br/> <br/>  <br/> <br/>
- Classification Module is designed like a serviceit take data as input and return classified data. The classification is divided into two part, firstly by a K-means classification and sequential classification.+ Classification Module is designed like a serviceit takes data as an input and return classified data. The classification is divided into two parts; K-means and sequential classifications
  <br/><br/>  <br/><br/>
- Classification is performed every week, at the start of the app or on demand of the user, beceause it not useful to generate new typical week to update only one day or one slot time.+ This classification is performed once every week, at the start of the app or on demand of the user. We do this to avoidgenerating non-useful typical week updatedfor only one day or one slot time. 
  <br/><br/>  <br/><br/>
- Data are stored in a file in a JSON format, loaded at the start of the app and saved when the app is clossed.+ Data are stored in a file in a "JSONformat, loaded at the start of the app and saved when the app is closed.  <br/> 
 + To save, we use <a href="http://msdn.microsoft.com/en-us/library/windows/apps/ff402541(v=vs.105).aspx#BKMK_Localfolder">Local folder</a>, all read/write I/O operation resctricted to local folder, using Isolated Settings storage. The data serialization is manage by the lifecycle of the app; when the App Lunch or reactivated, deserialize data from Isolated Storage: when the app being tombstoned or terminated, serialize data to isolated Storage. The serialisation use <a href="http://msdn.microsoft.com/fr-fr/library/system.runtime.serialization.json.datacontractjsonserializer(v=vs.110).aspx">DataContractJsonSerializer</a>. We can see more information <a href="http://fr.slideshare.net/TheOliver/wp8-4-files-and-storage">here</a> on the process of Storage Data in Windows Phone 8.
  <br/><br/>  <br/><br/>
- The user interface will contain three screen:+ The user interface will contains three interfaces:
  <div style="margin-left:30px">  <div style="margin-left:30px">
- <br/>- A tab for the home page, where global information are displayed like date and location.+ <br/>- A tab for home page, where global information are displayed like date and location.
  <br/>- A tab, which contains the typical week displayed by day.  <br/>- A tab, which contains the typical week displayed by day.
  <br/>- In The last tab, we can find most popular places attended in the week.  <br/>- In The last tab, we can find most popular places attended in the week.
Ligne 131: Ligne 134:
  we can define our architecture by this diagram:<br/>  we can define our architecture by this diagram:<br/>
   
- <img src="https://lh5.googleusercontent.com/fGGizk9LBxURA-2nlwcoNT8OSNPg5O58e_pj2q2iHToPK93OejZKdYb7TcDFGq24GUjqU08lmgg=w760-h584" />+ <img src="https://lh6.googleusercontent.com/BPetp59zn7fraku5eVyzUkSmrmbhXEmKHxgp_mJnbo9jOhj69hElrK_MubbhKo7Y5tKt5OgVJjc"  
 +style="width:400px;height:350px;margin-left:100px" />
  <br/>  <br/>
  If the diagram is not correctly displayed, <a href="https://drive.google.com/file/d/0B2bpaTQ4GoBlY0M3RkVIc1M4WXM/view?usp=sharing">click here</a>  If the diagram is not correctly displayed, <a href="https://drive.google.com/file/d/0B2bpaTQ4GoBlY0M3RkVIc1M4WXM/view?usp=sharing">click here</a>
Ligne 149: Ligne 153:
  System.Devices.Geolocation  provide us different location providers. So that, we have the location service to get the phone's current longitude, latitude and speed of travel. Otherwise, this location service provides us only the basic information about any position without more details. That's why we use also the Microsoft.Phone.Maps.Services to get further details about our target position.    System.Devices.Geolocation  provide us different location providers. So that, we have the location service to get the phone's current longitude, latitude and speed of travel. Otherwise, this location service provides us only the basic information about any position without more details. That's why we use also the Microsoft.Phone.Maps.Services to get further details about our target position.  
  <br/><br/>  <br/><br/>
- <div style="margin-left:30px;color:#375D81;font-size:24"><h4>b. GPS APIs </h4></div> + <div style="margin-left:30px;color:#375D81;font-size:24"><h4>b. GPS APIs </h4></div> <br/>
  In our project we have imported some APIs so we can use the GPS of the device like:<br/>   In our project we have imported some APIs so we can use the GPS of the device like:<br/> 
  - using Microsoft.Phone.Controls;<br/>  - using Microsoft.Phone.Controls;<br/>
Ligne 230: Ligne 234:
  </div>  </div>
  <br/>  <br/>
- Before to use the algorithm of clustering, first of all it is necessary to define those parts:<br/>+ Before to use the clustering algorithm,it is important to define those parts:<br/>
  <div style="margin-left:20px">- Classification: supervised Vs unsupervised</div>  <div style="margin-left:20px">- Classification: supervised Vs unsupervised</div>
  <div style="margin-left:20px">- Clustering and K-means method </div>  <div style="margin-left:20px">- Clustering and K-means method </div>
Ligne 239: Ligne 243:
  <div>  <div>
  - Supervised Classification<br/>  - Supervised Classification<br/>
- The supervised classification methods are based on user-defined classes and corresponding representative sample sets. The sample sets are specified by training raster data sets, which must be createdprior to entering the Automatic Classification process.  + The supervised classification methods are based on user-defined classes and corresponding representative sample sets. These sample sets are specified by training data sets, which must be created prior to entering the Automatic Classification process. The supervised Classification methods are: Minimum Distance to Mean, Maximum Likelihood, etc
- The supervised Classification methods are: Minimum Distance to Mean, Maximum Likelihood,..+
  </div>  </div>
  <br/>  <br/>
  <div>  <div>
  - Unsupervised Classification <br/>  - Unsupervised Classification <br/>
- The unsupervised classification methods are algorithms that analyze and classify a large number of raster cells. The entire input raster set is then processed, and a classification rule is used to assign each raster cell to one of the defined classes. + The unsupervised classification methods are algorithms that analyze and classify a large number of raster cells. Then,the entire input raster set is processed, and a classification rule is used to assign each raster cell to one of the defined classes. Some of the unsupervised classification methods are: Simple One-Pass Clustering, K Means, Fuzzy C Means.
- Some unsupervised classification Methods: Simple One-Pass Clustering, K Means, Fuzzy C Means+
  
  </div>  </div>
Ligne 253: Ligne 255:
  
  <div>  <div>
- Data clustering is the process of allocate an object to a class according to his characteristics A1... An. The most common technique for clustering numeric data is called the k-means algorithm. <br/>+ Data clustering is the process of allocating object to a class according to his characteristics A1... An. The most common technique for clustering numeric data is called the k-means algorithm. <br/>
  The k-means is an Unsupervised Classification. Using to find groups of similar or related objects and different from (or unrelated to) the objects in other groups.  The k-means is an Unsupervised Classification. Using to find groups of similar or related objects and different from (or unrelated to) the objects in other groups.
  </div>  </div>
- <img src="https://lh4.googleusercontent.com/Cywrc7vu5Vye1OH91FlZJ--pk1kZvmr3Zx9csuIEFwQE2KhLUKDtvt-3PB9DGPr3ZmFrz1_eBdI=w760-h584"/>[1]+ <img src="https://lh5.googleusercontent.com/1nVcau1n4U1ghjSBFYQRSFaoAGTDozIB4goED_2dVFAkSgAXUoohWE6EiZo38JF-0yCAWgb021Y />[1]
  <br/>  <br/>
  If the image is not correctly displayed, <a href="https://drive.google.com/file/d/0B2bpaTQ4GoBlR19IVFJfcEJMdmc/view?usp=sharing">click here</a>.  If the image is not correctly displayed, <a href="https://drive.google.com/file/d/0B2bpaTQ4GoBlR19IVFJfcEJMdmc/view?usp=sharing">click here</a>.
Ligne 263: Ligne 265:
  
  <div>  <div>
- k-means clustering is a method of classifying items into k groups.<br/>+ k-means clustering is a method of classifying items into k groups using the following steps:<br/>
  - Each point is assigned to the cluster with the closest centroid<br/>  - Each point is assigned to the cluster with the closest centroid<br/>
  - A centroid is "the center of mass of a geometric object of uniform density".[2]<br/>  - A centroid is "the center of mass of a geometric object of uniform density".[2]<br/>
Ligne 322: Ligne 324:
  This part of classification aims to build typical day, indeed a typical week is a composition of 5 typical day.  This part of classification aims to build typical day, indeed a typical week is a composition of 5 typical day.
  <br/>  <br/>
- Firstable, we will group SlotTime by day of week, we give a list of slotime and the day in parameters and the method return the list of slotime corresponding to this day:+ First of all, we will group SlotTime by day of week, we give a list of slotime and the desired day as input parameters and the method return the list of slotime corresponding to this day mentioned below:
  <br/><br/>  <br/><br/>
  <div style="margin-left:30px;color:#1B5E38">  <div style="margin-left:30px;color:#1B5E38">
  - public List$Slotime slotimeForOneday(List$Slotime brutSlotimes,DayOfWeek day){...}</div>  - public List$Slotime slotimeForOneday(List$Slotime brutSlotimes,DayOfWeek day){...}</div>
  <br/>  <br/>
- The second step is, from a list of slotime corresponding to a day of week, we will group similar slotimes and define the frequency of a slotime.+ After thatwe will group similar SlotTimes and define their frequencies from a list of SlotTimes corresponding to a day of week.
  <br/>  <br/>
- To group slot time by similarity we base on the Start hour and minutethe end hour and minute and the location. To simplify, we chose a margin of error about 15 min. <br/>+ In order to do this, the partition of frequencies is based on three parameters: Start TimeEnd Time and the Location. To simplify, we have chosen a margin of error for about 15 min. <br/>
  We provide a list of slot time, specific to a day of week in parameters, and we get a list where slottimes are grouped and the frequence has been defined to each different slot time.  We provide a list of slot time, specific to a day of week in parameters, and we get a list where slottimes are grouped and the frequence has been defined to each different slot time.
  <br/><br/>  <br/><br/>
Ligne 336: Ligne 338:
  <br/>  <br/>
  
- For the last step, we have to return a list of typical slot from a list of slot time. The list that we have to provide have to be processed by previous methods. <br/> + Finally, we have to return a list of typical slot from a list of slot time. The list that we have to provide have to be processed by previous methods. <br/> 
- The following method, will provide us the calendar of location of a day of week, by slot time of 15min. Then, for every slot of 15min, situated between 8 am and 7 pm, we will assign a location by the max frequency of slotimes which are in this period of 15min+ The following method, will provide us the calendar of location of a day of week, by slot time of 15min. Then, for every slot of 15min, situated between 8 am and 7 pm, we will assign a location by the max frequency of slotimes during this period. 
  <br/>  <br/>
  <br/>  <br/>
Ligne 349: Ligne 351:
  
  <div style="margin-top:50px">   <div style="margin-top:50px"> 
- <div style="color:#183152;font-size:28"><h3>V. User Interface </h3></div>+ <div style="color:#183152;font-size:28"><h3>V. Software packages & User Interface </h3></div>
  <br/><br/>  <br/><br/>
- <div>+ 
 +<br/> 
 + <div style="font-size:20"> 
 + <b>Software packages</b> <br/> <br/> 
 + 
 + <a href="https://drive.google.com/folderview?id=0B2bpaTQ4GoBlN09yMGo2cGh2QlE&usp=sharing"> 
 +Download project from GoogleDrive</a> 
 + <br/> 
 + <br/> 
 + <a href="https://drive.google.com/file/d/0B2bpaTQ4GoBlZmhLbEFKMzg4dnM/view?usp=sharing"> Readme</a> <br/> 
 + </div> 
 +<br/><br/> 
 + <div style="font-size:20"> 
 + <b>User Interface</b> <br/> <br/> 
 + 
 + <div>   
  The interface of our application "Getting the most visited geographical places in a typical week" is very robust and simple so that the user can retrieve quickly the desired information without any complexity.  The interface of our application "Getting the most visited geographical places in a typical week" is very robust and simple so that the user can retrieve quickly the desired information without any complexity.
  <br/><br/>   <br/><br/>
Ligne 360: Ligne 377:
  </div>  </div>
  <br/><br/>  <br/><br/>
- <img src="https://lh4.googleusercontent.com/kAf7nfpKQQvIT18xwxSDqjPGf3qiy0KzKyZhZnFWJWfpOe7H16ZeeJ12HN3N12tgyTfVWDoAo2g=w760-h584" style="width:200px;height:350px;margin-left:100px"/> <br/>+ <img src="https://lh4.googleusercontent.com/-jIM07zGJAwHB9Kvs7ibIagjIMXkupLI1fHmQDxfzYxjRBR3zW0Y0yaWyhrtt0BxVGHIZECoCFM=w1332-h537" style="width:200px;height:350px;margin-left:100px"/> <br/>
  If the image is not correctly displayed, <a href="https://drive.google.com/file/d/0B2bpaTQ4GoBlMkw5NGxzMG5KZWc/view?usp=sharing">click here</a>.  If the image is not correctly displayed, <a href="https://drive.google.com/file/d/0B2bpaTQ4GoBlMkw5NGxzMG5KZWc/view?usp=sharing">click here</a>.
  <br/><br/>  <br/><br/>
Ligne 369: Ligne 386:
  </div>  </div>
  <br/><br/>  <br/><br/>
- <img src="https://lh4.googleusercontent.com/EF37hfDU_h9Ecs9HHv6eh7CFeKlwVI_Z8nmbpH-DuChdTf_HikwZTLD95sEKK2jmrgfTHOH22WM=w760-h584" style="width:200px;height:350px;margin-left:100px" /><br/>+ <img src="https://lh3.googleusercontent.com/Zh8XvOnJnX3-M2WQw5npaZzn_CeXqs-I5aQ4O6x1rdhfhWsOYE4HbQZUB8iPLYiL8e0Z119f5qFSQNGlybGT8yrGa_Q=w1332-h537" style="width:200px;height:350px;margin-left:100px" /><br/>
  If the image is not correctly displayed, <a href="https://drive.google.com/file/d/0B2bpaTQ4GoBlam1TZGlfRF9TTG8/view?usp=sharing">click here</a>.  If the image is not correctly displayed, <a href="https://drive.google.com/file/d/0B2bpaTQ4GoBlam1TZGlfRF9TTG8/view?usp=sharing">click here</a>.
  <br/><br/>  <br/><br/>
Ligne 378: Ligne 395:
  </div>  </div>
  <br/><br/>  <br/><br/>
- <img src="https://lh4.googleusercontent.com/QjX5nfPNeVAnuKKxO0BnWBmuOLf_cyZCBnbJ7XDhU9gMvQrKTjrSTNZMTyQOeeG3OJ9hlK_Cbz4=w760-h584" style="width:200px;height:350px;margin-left:100px"/><br/>+ <img src="https://lh4.googleusercontent.com/k8lh8zTNXTIAjcxIGcbtQAlle6C7sR4nSTxTpcuLdwnN7UFMZsd2BZ-9UgEEhn4SlIHIPJM4AOapnJMm8cTyR4e_6I4=w1332-h537" style="width:200px;height:350px;margin-left:100px"/><br/>
  If the image is not correctly displayed, <a href="https://drive.google.com/file/d/0B2bpaTQ4GoBlSDdVZmM3ek4yT1k/view?usp=sharing">click here</a>.  If the image is not correctly displayed, <a href="https://drive.google.com/file/d/0B2bpaTQ4GoBlSDdVZmM3ek4yT1k/view?usp=sharing">click here</a>.
  <br/><br/>  <br/><br/>
Ligne 385: Ligne 402:
  </div>  </div>
  <br/><br/>  <br/><br/>
- <img src="https://lh3.googleusercontent.com/n1Un2uyXXLRLOMGgGlncJPp_aDfoMWgqlX5rYQmWD2b670FgNJjzDRH7nr-4b5ZBeg82JlAPt74=w760-h584" style="width:200px;height:350px;margin-left:100px"/><br/>+ <img src="https://lh4.googleusercontent.com/k9sqo6A4tMGNS8xOCwaF58-L2Dw6CYK_C3yMNS-dZiPe96NvZQnq6HuLIn6-VLlGj38FfnsC4RQeI2vPBuw26ExARlM=w1332-h537" style="width:200px;height:350px;margin-left:100px"/><br/>
  If the image is not correctly displayed, <a href="https://drive.google.com/file/d/0B2bpaTQ4GoBlOUFFRFZ6cVNBaEk/view?usp=sharing">click here</a>.  If the image is not correctly displayed, <a href="https://drive.google.com/file/d/0B2bpaTQ4GoBlOUFFRFZ6cVNBaEk/view?usp=sharing">click here</a>.
  <br/><br/>  <br/><br/>
Ligne 394: Ligne 411:
  
  <div style="margin-top:50px">   <div style="margin-top:50px"> 
- <div style="color:#183152;font-size:28"><h3>VI. Futhers improvments </h3></div>+ <div style="color:#183152;font-size:28"><h3>VI. Further improvements </h3></div>
  <br/><br/>  <br/><br/>
  
Ligne 409: Ligne 426:
  </div><br/>  </div><br/>
  <div style="margin-left:30px;color:#375D81;font-size:24">  <div style="margin-left:30px;color:#375D81;font-size:24">
- <h4>b. Classification Improvement</h4>+ <h4>b. Classification Improvments</h4>
  </div>  </div>
   
Ligne 415: Ligne 432:
  <div>  <div>
     To improve our classification, we can use K-means for all our process of classification, and converge into a machine learning. For this, our classification have to be divided into several step.      To improve our classification, we can use K-means for all our process of classification, and converge into a machine learning. For this, our classification have to be divided into several step. 
 +    <br/><br/>
 +    we can process as follow:<br/><br/>
  
-    we can process as follow: +    1. Get slotimes by day of week (Monday, tuesday, wednesday, thursdayn friday).<br/> 
- +    2. Get cluster for each day, with X,Y and the start time (DateTime in minute from OOhOO): Cluster(x,y,startTime)<br/> 
-    1. Get slotimes by day of week (Monday, tuesday, wednesday, thursdayn friday). +    3. For every cluster that we got in the previous step, get news cluster with the end time params: Cluster(x,y,endTime)<br/> 
-    2. Get cluster for each day, with X,Y and the start time (DateTime in minute from OOhOO): Cluster(x,y,startTime) +    4. Define most popular slot time with her frequency, by counting the number of value for every cluster obtained.<br/>
-    3. For every cluster that we got in the previous step, get news cluster with the end time params: Cluster(x,y,endTime) +
-    4. Define most popular slot time with her frequency, by counting the number of value for every cluster obtained.+
  5. Define the typical day by considering the higher frequency of slotimes.  5. Define the typical day by considering the higher frequency of slotimes.
 + <br/>
     6. For every new data, assign to the nearer cluster or when a cluster is beiing too large, divide it in two cluster.     6. For every new data, assign to the nearer cluster or when a cluster is beiing too large, divide it in two cluster.
  
Ligne 432: Ligne 449:
  </div>  </div>
  
- <div>+ <div><br/>
  The principal information that we have to store are Slotimes, with data an SQL Lite.  The principal information that we have to store are Slotimes, with data an SQL Lite.
  For more optimization, we can save cluster, and reload them instead process classification each time. <br/><br/>  For more optimization, we can save cluster, and reload them instead process classification each time. <br/><br/>
Ligne 472: Ligne 489:
         
  </div>  </div>
 +
 + <br/>
 +
 + <br/>
  
  <br/><br/>  <br/><br/>
Ligne 477: Ligne 498:
  <br/>  <br/>
   
- <a href="http://www.geekchamp.com/articles/understanding-the-windows-phone-location-service-how-to-get-current-gps-coordinates"> GPS Sensor</a><br/>+ <a href="http://www.geekchamp.com/articles/understanding-the-windows-phone-location-service-how-to-get-current-gps-coordinates"> []GPS Sensor</a><br/>
  
  <a href="http://www.cs.uky.edu/~jzhang/CS689/PPDM-Chapter3.pdf">  <a href="http://www.cs.uky.edu/~jzhang/CS689/PPDM-Chapter3.pdf">
projets/plim/20142015/gr6.1416768958.txt.gz · Dernière modification : 2014/11/23 18:55 de zayani