{"id":8,"date":"2019-12-14T19:08:11","date_gmt":"2019-12-14T18:08:11","guid":{"rendered":"https:\/\/machinelearning.humanativaspa.it\/en\/?p=8"},"modified":"2023-03-03T14:52:50","modified_gmt":"2023-03-03T13:52:50","slug":"neuroimaging-algorithms-for-gps-trajectories-clustering","status":"publish","type":"post","link":"https:\/\/machinelearning.humanativaspa.it\/en\/neuroimaging-algorithms-for-gps-trajectories-clustering\/","title":{"rendered":"Neuroimaging algorithms for GPS trajectories clustering"},"content":{"rendered":"<p>The mass use of portable devices such as smartphones and smartwatches allows us to have a complete history of our life. Thanks to the information collected by these terminals, we are able to reconstruct, with extreme accuracy, the history of our movements.<\/p>\n<p>The application of machine learning algorithms to positioning data allows us to extract very relevant information useful for understanding our behavior. Some of these patterns are for example: the path we take from home to work, trips outside the city, which places we go to on Saturday nights etc ..<\/p>\n<p>In this article we will describe an efficient and practical unsupervised machine learning algorithm to be able to carry out the identification of trajectory patterns. In the first part we will describe the clustering algorithm used to discover patterns, in the second one we will show how to implement this algorithm concretely in Python.<\/p>\n<p><strong>A Neuroimaging Algorithm for the Clustering of GPS Trajectories<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>Instead of using classic clustering algorithms like KMeans or DBSCAN, in this article we will use a cluster algorithm commonly used in brain image analysis.<\/p>\n<p>QuickBundle (QB) (https:\/\/www.ncbi.nlm.nih.gov\/pmc\/articles\/PMC3518823\/pdf\/fnins-06-00175.pdf) is a simple and compact clustering algorithm used to cluster matter fibers white brain extracted through the application of tractography algorithms (<a href=\"https:\/\/en.wikipedia.org\/wiki\/Tractography\">https:\/\/en.wikipedia.org\/wiki\/Tractography<\/a>).<\/p>\n<p>From a simple observation of the images shown below, we can easily note that GPS trajectories are very similar to white matter fibers.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-171 size-full\" src=\"https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/1.png\" alt=\"\" width=\"1125\" height=\"387\" srcset=\"https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/1.png 1125w, https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/1-300x103.png 300w, https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/1-1024x352.png 1024w, https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/1-768x264.png 768w\" sizes=\"auto, (max-width: 1125px) 100vw, 1125px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><strong><em>Example of white matter fibers obtained by tractography algorithm.<\/em><\/strong><br \/>\n<strong><em>Image from\u00a0<a href=\"https:\/\/www.ncbi.nlm.nih.gov\/pmc\/articles\/PMC3518823\/pdf\/fnins-06-00175.pdf\">https:\/\/www.ncbi.nlm.nih.gov\/pmc\/articles\/PMC3518823\/pdf\/fnins-06-00175.pdf<\/a><\/em><\/strong><\/p>\n<p>The main idea is to treat a single GPS trajectory as a fiber of white matter and thus unite \u201csimilar\u201d trajectories in the same cluster. In the rest of this article we will therefore assume that\u00a0<strong>Trajectory GPS = White matter fiber<\/strong>.<\/p>\n<p>&nbsp;<\/p>\n<p>An example that shows how the algorithm is capable of grouping fibers based on their spatial trajectory, is visible in the following image.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-172 size-full\" src=\"https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/2.png\" alt=\"\" width=\"848\" height=\"277\" srcset=\"https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/2.png 848w, https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/2-300x98.png 300w, https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/2-768x251.png 768w\" sizes=\"auto, (max-width: 848px) 100vw, 848px\" \/><\/p>\n<p><em><strong>QuickBundle centroids with different thresholds. Image from Garyfallidis et al. Frontiers In Neuroscience, vol 6, 2016.<\/strong><\/em><\/p>\n<p>By adjusting the threshold parameter it is in fact possible to group more or less distant fibers according to their shape. Since the behavior of the clustering algorithm is strongly dependent on the value assigned to the threshold parameter, in real application contexts it is necessary to perform a tuning of this parameter.<\/p>\n<p>Another interesting result that can be derived from the algorithm is related to the ability to generate a centroid characteristic of aggregate trajectories in a given cluster. Thanks to this centroid it is in fact possible to obtain a compact representation of a group of trajectories.<\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>Clustering of GPS Trajectories in Python<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>Now let\u2019s see how to use the algorithm previously described on a real dataset of GPS trajectories using the Python language.<\/p>\n<p>The data used in this article relate to the daily tracking of the movements of a given subject. The dataset, released by Microsoft Research is available at the following link (<a href=\"https:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=52367\">https:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=52367<\/a>). While a more detailed description is available here (<a href=\"https:\/\/yidatao.github.io\/2016-12-23\/geolife-dbscan\/\">https:\/\/yidatao.github.io\/2016-12-23\/geolife-dbscan\/<\/a>)<\/p>\n<p>Before making a thorough analysis of the data, we carry out a plot of the GPS coordinates on google map using the gmplot library (<a href=\"https:\/\/github.com\/vgm64\/gmplot\">https:\/\/github.com\/vgm64\/gmplot<\/a>).<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-173 size-full\" src=\"https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/3.png\" alt=\"\" width=\"1097\" height=\"694\" srcset=\"https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/3.png 1097w, https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/3-300x190.png 300w, https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/3-1024x648.png 1024w, https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/3-768x486.png 768w\" sizes=\"auto, (max-width: 1097px) 100vw, 1097px\" \/><\/p>\n<p><strong><em>GPS trajectories in the dataset<\/em><\/strong><\/p>\n<p>So let\u2019s start by creating a distance function that takes into account the fact that the trajectories are composed of GPS coordinates as described in the following image.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-174 size-full\" src=\"https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/4.png\" alt=\"\" width=\"1125\" height=\"317\" srcset=\"https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/4.png 1125w, https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/4-300x85.png 300w, https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/4-1024x289.png 1024w, https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/4-768x216.png 768w\" sizes=\"auto, (max-width: 1125px) 100vw, 1125px\" \/><\/p>\n<p><em><strong>Code to calculate the distance between GPS coordinates in the trajectories<br \/>\n<\/strong><\/em><\/p>\n<p>The code then calculates the distance between all pairs of points within the trajectories. It should be noted that this distance can be calculated if and only if the trajectories all have an equal number of points. Modifying this portion of code so that it is possible to calculate distance even between trajectories formed by different points is not complex.<\/p>\n<p>Once we have defined how the QB algorithm must calculate the distance between the points of the trajectories, we can launch this algorithm on the reference data as described in the following image.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-175 size-full\" src=\"https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/5.png\" alt=\"\" width=\"1125\" height=\"150\" srcset=\"https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/5.png 1125w, https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/5-300x40.png 300w, https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/5-1024x137.png 1024w, https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/5-768x102.png 768w\" sizes=\"auto, (max-width: 1125px) 100vw, 1125px\" \/><\/p>\n<p><em><strong>Python code to execute the clustering algorithm<\/strong><\/em><\/p>\n<p>We can therefore, again with the help of gmplot, graphically represent the different clusters obtained from the application of this algorithm on google map as shown in the images below.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-176 size-full\" src=\"https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/6.png\" alt=\"\" width=\"900\" height=\"642\" srcset=\"https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/6.png 900w, https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/6-300x214.png 300w, https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/6-768x548.png 768w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p><em><strong>Cluster #0<\/strong><\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-177 size-full\" src=\"https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/7.png\" alt=\"\" width=\"900\" height=\"371\" srcset=\"https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/7.png 900w, https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/7-300x124.png 300w, https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/7-768x317.png 768w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p><em><strong>Cluster #2<\/strong><\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-178 size-full\" src=\"https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/8.png\" alt=\"\" width=\"900\" height=\"274\" srcset=\"https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/8.png 900w, https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/8-300x91.png 300w, https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/8-768x234.png 768w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p><em><strong>Cluster #30<\/strong><\/em><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Conclusion<\/strong><\/p>\n<p>In this article we have described a simple and fast method to cluster trajectories obtained from GPS detectors. In order to achieve this goal we used an unconventional algorithm widely used in neuroimaging.<\/p>\n<p>The main limitation of this algorithm is related to the choice of the threshold parameter used. However, this problem can be easily solved through a detailed selection process.<\/p>\n<p>Click for more info <a href=\"https:\/\/medium.com\/isiway-tech\/gps-trajectories-clustering-in-python-2f5874204a53\">https:\/\/medium.com\/isiway-tech\/gps-trajectories-clustering-in-python-2f5874204a53<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The mass use of portable devices such as smartphones and smartwatches allows us to have a complete history [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":170,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[56],"tags":[3,4,5,6,7,8,9,10],"class_list":["post-8","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articoli","tag-algoritmi","tag-big-data","tag-clustering","tag-data","tag-neuroimaging","tag-python","tag-reti-neurali","tag-traiettorie-gps"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Neuroimaging algorithms for GPS trajectories clustering - HN Machine Learning en<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/machinelearning.humanativaspa.it\/en\/neuroimaging-algorithms-for-gps-trajectories-clustering\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Neuroimaging algorithms for GPS trajectories clustering - HN Machine Learning en\" \/>\n<meta name=\"twitter:description\" content=\"The mass use of portable devices such as smartphones and smartwatches allows us to have a complete history [&hellip;]\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/traiettorieGPS.jpg\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andream\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/neuroimaging-algorithms-for-gps-trajectories-clustering\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/neuroimaging-algorithms-for-gps-trajectories-clustering\\\/\"},\"author\":{\"name\":\"Andream\",\"@id\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/#\\\/schema\\\/person\\\/a6de167b6fe30bf1d2edfcbfd3417de8\"},\"headline\":\"Neuroimaging algorithms for GPS trajectories clustering\",\"datePublished\":\"2019-12-14T18:08:11+00:00\",\"dateModified\":\"2023-03-03T13:52:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/neuroimaging-algorithms-for-gps-trajectories-clustering\\\/\"},\"wordCount\":820,\"publisher\":{\"@id\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/neuroimaging-algorithms-for-gps-trajectories-clustering\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/wp-content\\\/uploads\\\/sites\\\/4\\\/2023\\\/03\\\/traiettorieGPS.jpg\",\"keywords\":[\"Algoritmi\",\"Big data\",\"Clustering\",\"Data\",\"Neuroimaging\",\"Python\",\"Reti neurali\",\"Traiettorie gps\"],\"articleSection\":[\"Articles\"],\"inLanguage\":\"en-GB\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/neuroimaging-algorithms-for-gps-trajectories-clustering\\\/\",\"url\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/neuroimaging-algorithms-for-gps-trajectories-clustering\\\/\",\"name\":\"Neuroimaging algorithms for GPS trajectories clustering - HN Machine Learning en\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/neuroimaging-algorithms-for-gps-trajectories-clustering\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/neuroimaging-algorithms-for-gps-trajectories-clustering\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/wp-content\\\/uploads\\\/sites\\\/4\\\/2023\\\/03\\\/traiettorieGPS.jpg\",\"datePublished\":\"2019-12-14T18:08:11+00:00\",\"dateModified\":\"2023-03-03T13:52:50+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/neuroimaging-algorithms-for-gps-trajectories-clustering\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/neuroimaging-algorithms-for-gps-trajectories-clustering\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/neuroimaging-algorithms-for-gps-trajectories-clustering\\\/#primaryimage\",\"url\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/wp-content\\\/uploads\\\/sites\\\/4\\\/2023\\\/03\\\/traiettorieGPS.jpg\",\"contentUrl\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/wp-content\\\/uploads\\\/sites\\\/4\\\/2023\\\/03\\\/traiettorieGPS.jpg\",\"width\":1000,\"height\":667},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/neuroimaging-algorithms-for-gps-trajectories-clustering\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Neuroimaging algorithms for GPS trajectories clustering\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/\",\"name\":\"HN Machine Learning\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/#organization\"},\"alternateName\":\"Humanativa\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/#organization\",\"name\":\"HN Machine Learning\",\"url\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/wp-content\\\/uploads\\\/sites\\\/4\\\/2023\\\/09\\\/libellula_hn.jpg\",\"contentUrl\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/wp-content\\\/uploads\\\/sites\\\/4\\\/2023\\\/09\\\/libellula_hn.jpg\",\"width\":696,\"height\":696,\"caption\":\"HN Machine Learning\"},\"image\":{\"@id\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/HumanativaGroupSpA\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/#\\\/schema\\\/person\\\/a6de167b6fe30bf1d2edfcbfd3417de8\",\"name\":\"Andream\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1f7a315d6f9ae9709ffc015996ad40b2c1779d16ea2dede3da3989ca3cf5aae8?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1f7a315d6f9ae9709ffc015996ad40b2c1779d16ea2dede3da3989ca3cf5aae8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1f7a315d6f9ae9709ffc015996ad40b2c1779d16ea2dede3da3989ca3cf5aae8?s=96&d=mm&r=g\",\"caption\":\"Andream\"},\"sameAs\":[\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/\"],\"url\":\"https:\\\/\\\/machinelearning.humanativaspa.it\\\/en\\\/author\\\/andream\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Neuroimaging algorithms for GPS trajectories clustering - HN Machine Learning en","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/machinelearning.humanativaspa.it\/en\/neuroimaging-algorithms-for-gps-trajectories-clustering\/","twitter_card":"summary_large_image","twitter_title":"Neuroimaging algorithms for GPS trajectories clustering - HN Machine Learning en","twitter_description":"The mass use of portable devices such as smartphones and smartwatches allows us to have a complete history [&hellip;]","twitter_image":"https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/traiettorieGPS.jpg","twitter_misc":{"Written by":"Andream","Estimated reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/machinelearning.humanativaspa.it\/en\/neuroimaging-algorithms-for-gps-trajectories-clustering\/#article","isPartOf":{"@id":"https:\/\/machinelearning.humanativaspa.it\/en\/neuroimaging-algorithms-for-gps-trajectories-clustering\/"},"author":{"name":"Andream","@id":"https:\/\/machinelearning.humanativaspa.it\/en\/#\/schema\/person\/a6de167b6fe30bf1d2edfcbfd3417de8"},"headline":"Neuroimaging algorithms for GPS trajectories clustering","datePublished":"2019-12-14T18:08:11+00:00","dateModified":"2023-03-03T13:52:50+00:00","mainEntityOfPage":{"@id":"https:\/\/machinelearning.humanativaspa.it\/en\/neuroimaging-algorithms-for-gps-trajectories-clustering\/"},"wordCount":820,"publisher":{"@id":"https:\/\/machinelearning.humanativaspa.it\/en\/#organization"},"image":{"@id":"https:\/\/machinelearning.humanativaspa.it\/en\/neuroimaging-algorithms-for-gps-trajectories-clustering\/#primaryimage"},"thumbnailUrl":"https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/traiettorieGPS.jpg","keywords":["Algoritmi","Big data","Clustering","Data","Neuroimaging","Python","Reti neurali","Traiettorie gps"],"articleSection":["Articles"],"inLanguage":"en-GB"},{"@type":"WebPage","@id":"https:\/\/machinelearning.humanativaspa.it\/en\/neuroimaging-algorithms-for-gps-trajectories-clustering\/","url":"https:\/\/machinelearning.humanativaspa.it\/en\/neuroimaging-algorithms-for-gps-trajectories-clustering\/","name":"Neuroimaging algorithms for GPS trajectories clustering - HN Machine Learning en","isPartOf":{"@id":"https:\/\/machinelearning.humanativaspa.it\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/machinelearning.humanativaspa.it\/en\/neuroimaging-algorithms-for-gps-trajectories-clustering\/#primaryimage"},"image":{"@id":"https:\/\/machinelearning.humanativaspa.it\/en\/neuroimaging-algorithms-for-gps-trajectories-clustering\/#primaryimage"},"thumbnailUrl":"https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/traiettorieGPS.jpg","datePublished":"2019-12-14T18:08:11+00:00","dateModified":"2023-03-03T13:52:50+00:00","breadcrumb":{"@id":"https:\/\/machinelearning.humanativaspa.it\/en\/neuroimaging-algorithms-for-gps-trajectories-clustering\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/machinelearning.humanativaspa.it\/en\/neuroimaging-algorithms-for-gps-trajectories-clustering\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/machinelearning.humanativaspa.it\/en\/neuroimaging-algorithms-for-gps-trajectories-clustering\/#primaryimage","url":"https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/traiettorieGPS.jpg","contentUrl":"https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/03\/traiettorieGPS.jpg","width":1000,"height":667},{"@type":"BreadcrumbList","@id":"https:\/\/machinelearning.humanativaspa.it\/en\/neuroimaging-algorithms-for-gps-trajectories-clustering\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/machinelearning.humanativaspa.it\/en\/"},{"@type":"ListItem","position":2,"name":"Neuroimaging algorithms for GPS trajectories clustering"}]},{"@type":"WebSite","@id":"https:\/\/machinelearning.humanativaspa.it\/en\/#website","url":"https:\/\/machinelearning.humanativaspa.it\/en\/","name":"HN Machine Learning","description":"","publisher":{"@id":"https:\/\/machinelearning.humanativaspa.it\/en\/#organization"},"alternateName":"Humanativa","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/machinelearning.humanativaspa.it\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/machinelearning.humanativaspa.it\/en\/#organization","name":"HN Machine Learning","url":"https:\/\/machinelearning.humanativaspa.it\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/machinelearning.humanativaspa.it\/en\/#\/schema\/logo\/image\/","url":"https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/09\/libellula_hn.jpg","contentUrl":"https:\/\/machinelearning.humanativaspa.it\/en\/wp-content\/uploads\/sites\/4\/2023\/09\/libellula_hn.jpg","width":696,"height":696,"caption":"HN Machine Learning"},"image":{"@id":"https:\/\/machinelearning.humanativaspa.it\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/HumanativaGroupSpA\/"]},{"@type":"Person","@id":"https:\/\/machinelearning.humanativaspa.it\/en\/#\/schema\/person\/a6de167b6fe30bf1d2edfcbfd3417de8","name":"Andream","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/1f7a315d6f9ae9709ffc015996ad40b2c1779d16ea2dede3da3989ca3cf5aae8?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1f7a315d6f9ae9709ffc015996ad40b2c1779d16ea2dede3da3989ca3cf5aae8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1f7a315d6f9ae9709ffc015996ad40b2c1779d16ea2dede3da3989ca3cf5aae8?s=96&d=mm&r=g","caption":"Andream"},"sameAs":["https:\/\/machinelearning.humanativaspa.it\/"],"url":"https:\/\/machinelearning.humanativaspa.it\/en\/author\/andream\/"}]}},"_links":{"self":[{"href":"https:\/\/machinelearning.humanativaspa.it\/en\/wp-json\/wp\/v2\/posts\/8","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/machinelearning.humanativaspa.it\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/machinelearning.humanativaspa.it\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/machinelearning.humanativaspa.it\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/machinelearning.humanativaspa.it\/en\/wp-json\/wp\/v2\/comments?post=8"}],"version-history":[{"count":6,"href":"https:\/\/machinelearning.humanativaspa.it\/en\/wp-json\/wp\/v2\/posts\/8\/revisions"}],"predecessor-version":[{"id":179,"href":"https:\/\/machinelearning.humanativaspa.it\/en\/wp-json\/wp\/v2\/posts\/8\/revisions\/179"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/machinelearning.humanativaspa.it\/en\/wp-json\/wp\/v2\/media\/170"}],"wp:attachment":[{"href":"https:\/\/machinelearning.humanativaspa.it\/en\/wp-json\/wp\/v2\/media?parent=8"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/machinelearning.humanativaspa.it\/en\/wp-json\/wp\/v2\/categories?post=8"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/machinelearning.humanativaspa.it\/en\/wp-json\/wp\/v2\/tags?post=8"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}