Accéder au contenu principal Passer au contenu complémentaire

Optimisation à l'aide de K-moyennes : Exemple dans le monde réel

L'exemple suivant illustre une utilisation dans le monde réel dans laquelle les fonctions d'algorithme des k-moyennes et de centroïde sont appliquées à un ensemble de données. La fonction K-moyennes sépare les points de données en clusters qui partagent des similarités. Les clusters deviennent plus compacts et différentiés à mesure que l'algorithme des k-moyennes est appliqué à un nombre configurable d'itérations.

La fonction K-moyennes est utilisée dans de nombreux domaines et dans une grande variété de cas d'utilisation ; parmi les exemples d'utilisation de la mise en cluster figurent la segmentation des clients, la détection des fraudes, la prédiction des attritions de comptes, le ciblage des incitations client, l'identification des cybercrimes et l'optimisation des itinéraires de livraison. L'algorithme des k-moyennes est de plus en plus utilisé dans les entreprises qui cherchent à déduire les tendances et à optimiser les offres de services.

Qlik Sense Fonctions K-moyennes et Centroïde

Qlik Sense fournit deux fonctions K-moyennes qui regroupent les points de données en clusters en fonction de leur similarité. Voir KMeans2D - fonction de graphique et KMeansND - fonction de graphique. La fonction KMeans2D accepte deux dimensions et fonctionne bien pour la visualisation des résultats via un graphique Nuage de points. La fonction KMeansND accepte plus de deux dimensions. Étant donné qu'il est facile de conceptualiser un résultat en 2D sur des graphiques standard, la démonstration suivante applique la fonction K-moyennes à un graphique Nuage de points utilisant deux dimensions. L'algorithme des k-moyennes peut être visualisé via la coloration par expression ; ou par dimension, comme décrit dans cet exemple.

Les fonctions Centroïde Qlik Sense déterminent la position moyenne arithmétique de l'ensemble des points de données du cluster et identifient un point central, ou centroïde, pour ce cluster. Pour chaque ligne (ou chaque enregistrement) du graphique, la fonction de centroïde affiche la coordonnée du cluster auquel ce point de données a été assigné. Voir KMeansCentroid2D - fonction de graphique et KMeansCentroidND - fonction de graphique.

Vue d'ensemble d'un cas d'utilisation et d'un exemple

L'exemple suivant illustre un scénario simulé dans le monde réel. Une entreprise textile basée dans l'état de New York, aux États-Unis, doit réduire ses dépenses en minimisant les frais de livraison. Une manière d'y parvenir consiste à rapprocher les entrepôts des distributeurs. L'entreprise emploie 118 distributeurs dans l'état de New York. La démonstration suivante simule la manière dont un responsable des opérations peut segmenter les distributeurs en cinq géographies regroupées via la fonction K-moyennes, puis identifier cinq emplacements d'entrepôt optimaux centraux par rapport à ces clusters via la fonction de centroïde. L'objectif est de découvrir les coordonnées de mappage à utiliser pour identifier cinq emplacements d'entrepôt centraux.

L'ensemble de données

L'ensemble de données est basé sur des noms et adresses dans l'état de New York, générés de manière aléatoire avec des coordonnées de latitude et de longitude réelles. L'ensemble de données contient les dix colonnes suivantes : id, first_name, last_name, telephone, address, city, state, zip, latitude, longitude. L'ensemble de données est disponible ci-dessous sous forme de fichier que vous pouvez télécharger localement, puis charger dans Qlik Sense ou intégré pour l'éditeur de chargement de données. L'application créée est nommée Distributeurs - K-moyennes et Centroïde et la première feuille de l'application est nommée Analyse des clusters de distribution.

Sélectionnez le lien suivant pour télécharger le fichier d'échantillon de données : DistributorData.csv

Ensemble de données Distributor : Chargement intégré de l'éditeur de chargement de données dans Qlik Sense

Titre : DistributorData

Nombre total d'enregistrements : 118

Application de la fonction KMeans2D

Dans cet exemple, la configuration d'un graphique Nuage de points est démontrée via l'ensemble de données DistributorData, la fonction KMeans2D est appliquée et le graphique est coloré par dimension.

Notez que les fonctions K-moyennes Qlik Sense prennent en charge le clustering automatique via une méthode dite Différence de profondeur (DeD - Depth Difference). Quand un utilisateur définit 0 comme nombre de clusters, le nombre optimal de clusters est déterminé pour cet ensemble de données. Pour cet exemple, cependant, une variable est créée pour l'argument num_clusters (voir KMeans2D - fonction de graphique pour la syntaxe). Par conséquent, le nombre de clusters souhaité (k=5) est spécifié par une variable.

  1. Un graphique Nuage de points est glissé sur la feuille et nommé Distributeurs (par dimension).
  2. Une variable est créée pour spécifier le nombre de clusters. La variable est nommée vDistClusters. Pour la variable Définition, saisissez 5.
  3. Configuration des Données pour le graphique :
    1. sous Dimensions, le champ id est sélectionné pour Bulle. Id de cluster est la valeur saisie pour Étiquette.
    2. Sous Mesures, Avg([latitude]) est l'expression pour Axe des abscisses.
    3. Sous Mesures, Avg([longitude]) est l'expression pour Axe des ordonnées.
  4. Configuration de l'Apparence :
    1. Sous Couleurs et légende, Personnalisées est sélectionné pour Couleurs.
    2. Par dimension est sélectionné pour la coloration du graphique.
    3. L'expression suivante est saisie : =pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1, 'Cluster 1', 'Cluster 2', 'Cluster 3', 'Cluster 4', 'Cluster 5').
    4. La case Couleurs persistantes est cochée.
Nuage de points avant K-moyennes, coloration par dimension appliquée
Nuage de points avant l'application de la coloration par dimension K-Moyennes
Nuage de points après coloration K-moyennes par dimension est appliqué.
Nuage de points après l'application de la coloration par dimension K-Moyennes

Ajout d'une table : Distributeurs

Il peut s'avérer utile d'avoir une table prête pour accéder rapidement aux données pertinentes. Le graphique Nuage de points affiche les ID dans une table avec le nom du distributeur correspondant ajouté pour référence.

  1. Une table nommée Distributeurs est glissée sur la feuille avec les Colonnes (Dimensions) suivantes : id, first_name et last_name.

Table : Nom des distributeurs

Il est possible d'ajouter un tableau de référence.

Ajout d'un graphique en barres : Nbre d'observations par cluster

Pour le scénario de distribution des entrepôts, il est utile de connaître le nombre de distributeurs qui seront servis par chaque entrepôt. Par conséquent, on crée un graphique en barres qui mesure le nombre de distributeurs assignés à chaque cluster.

  1. Un graphique en barres est glissé sur la feuille. Le graphique est nommé : Nbre d'observations par cluster.
  2. Configuration des données pour le graphique en barres :
    1. Une Dimension étiquetée Clusters est ajoutée (il est possible d'ajouter l'étiquette après l'application de l'expression). L'expression suivante est saisie : =pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1, 'Cluster 1', 'Cluster 2', 'Cluster 3', 'Cluster 4', 'Cluster 5').
    2. Une Mesure étiquetée Nbre d'observations est ajoutée. L'expression suivante est saisie : =count(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)).
  3. Configuration de l'Apparence :
    1. Sous Couleurs et légende, Personnalisées est sélectionné pour Couleurs.
    2. Par dimension est sélectionné pour la coloration du graphique.

    3. L'expression suivante est saisie : =pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1, 'Cluster 1', 'Cluster 2', 'Cluster 3', 'Cluster 4', 'Cluster 5').
    4. La case Couleurs persistantes est cochée.
    5. Afficher la légende est désactivé.
    6. Sous Présentation, Étiquettes de valeur est basculé sur Auto.
    7. Sous Axe des abscisses : Clusters, Étiquettes uniquement est sélectionné.
Graphique en barres : Nbre d'observations par cluster
Le graphique en barres affiche le nombre de distributeurs assignés à chaque cluster.

Application de la fonction Centroid2D

Une deuxième table est ajoutée pour la fonction Centroid2D qui identifiera les coordonnées des emplacements d'entrepôts potentiels. Cette table affiche l'emplacement central (les valeurs de centroïde) des cinq groupes de distributeurs identifiés.

  1. Une Table est glissée sur la feuille et nommée Centroïdes de clusters avec les colonnes suivantes :
    1. Une Dimension étiquetée Clusters est ajoutée. L'expression suivante est saisie :=pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1,'Warehouse 1','Warehouse 2','Warehouse 3','Warehouse 4','Warehouse 5').
    2. Une Mesure étiquetée latitude (D1) est ajoutée. L'expression suivante est saisie :=only(aggr(KMeansCentroid2D(vDistClusters,0,only(latitude),only(longitude)),id)).
      Notez que le paramètre coordinate_no correspond à la première dimension(0). Dans ce cas, la dimension latitude est tracée par rapport à l'axe des abscisses. Si nous travaillions avec la fonction CentroidND et s'il existait jusqu'à six dimensions, ces entrées de paramètres pourraient prendre n'importe laquelle des six valeurs : 0, 1, 2, 3, 4 ou 5.
    3. Une Mesure étiquetée longitude (D2) est ajoutée. L'expression suivante est saisie :=only(aggr(KMeansCentroid2D(vDistClusters,1,only(latitude),only(longitude)),id)).
      Le paramètre coordinate_no de cette expression correspond à la deuxième dimension(1). La dimension longitude est tracée par rapport à l'axe des ordonnées.

Table : Calcul des centroïdes des clusters

Tableau de fonctions de centroïde

Mappage des centroïdes

L'étape suivante consiste à mapper les centroïdes. C'est au développeur d'applications de décider s'il préfère placer la visualisation sur des feuilles distinctes.

  1. Une carte nommée Mappage des centroïdes est glissée sur la feuille.
  2. Dans la section Couches. Ajouter une couche est sélectionné, suivi de Couche de points.
    1. Le champ id est sélectionné et l'étiquette Dist ids est ajoutée.

    2. Dans la section Emplacement, la case Champs de latitude et de longitude est cochée.

    3. Pour Latitude, le champ latitude est sélectionné.

    4. Pour Longitude, le champ longitude est sélectionné.

    5. Dans la section Taille et forme, Bulle est sélectionné pour Forme et la Taille est réduite en fonction des préférences à l'aide du curseur.

    6. Dans la section Couleurs, Couleur unique est sélectionné et la couleur bleue est sélectionnée pour Couleur et la couleur grise pour Couleur du contour (ces choix dépendent eux aussi des préférences).

  3. Dans la section Couches, une deuxième Couche de points est ajoutée en sélectionnant Ajouter une couche, puis Couche de points.
    1. L'expression suivante est saisie : =aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id).

    2. L'Étiquette Clusters est ajoutée.

    3. Dans la section Emplacement, la case Champs de latitude et de longitude est cochée.

    4. Pour Latitude, qui, dans ce cas, est tracé le long de l'axe des abscisses, l'expression suivante est ajoutée : =aggr(KMeansCentroid2D(vDistClusters,0,only(latitude),only(longitude)),id).

    5. Pour Longitude, qui, dans ce cas, est tracé le long de l'axe des ordonnées, l'expression suivante est ajoutée : =aggr(KMeansCentroid2D(vDistClusters,1,only(latitude),only(longitude)),id).

    6. Dans la section Taille et forme, Triangle est sélectionné pour Forme et la Taille est réduite selon les préférences à l'aide du curseur.

    7. Sous Couleurs et légende, Personnalisées est sélectionné pour Couleurs.

    8. Par dimension est sélectionné pour la coloration du graphique. L'expression suivante est saisie : =pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1, 'Cluster 1', 'Cluster 2', 'Cluster 3', 'Cluster 4', 'Cluster 5')

    9. La dimension est étiquetée Clusters.

  4. Dans Paramètres de la carte, Adaptative est sélectionné pour Projection. Métriques est sélectionné pour Unités de mesurement.
Carte : Centroïdes mappés par cluster
Affichage des centroïdes sur un graphique de carte

Conclusion

Grâce à la fonction K-moyennes utilisé dans ce scénario dans le monde réel, les distributeurs ont été segmentés en groupes ou clusters similaires en fonction de leur similarité ; dans ce cas, la proximité des uns par rapport aux autres. La fonction Centroïde a été appliquée à ces clusters pour identifier cinq coordonnées de mappage. Ces coordonnées fournissent un emplacement central initial auquel construire ou placer les entrepôts. La fonction Centroïde est appliquée au graphique Carte pour que les utilisateurs de l'application puissent visualiser l'emplacement des centroïdes par rapport aux points de données de clusters environnants. Les coordonnées obtenues représentent les emplacements d'entrepôts potentiels susceptibles de minimiser les frais de livraison aux distributeurs dans l'état de New York.

Application : Exemple d'analyse K-moyennes et Centroïde
Exemple d'application de centroïdes K-Moyennes Distributors

 

 

Ensemble de données Distributor : Chargement intégré de l'éditeur de chargement de données dans Qlik Sense

DistributorData: Load * Inline [ id,first_name,last_name,telephone,address,city,state,zip,latitude,longitude 1,Kaiya,Snow,(716) 201-1212,6231 Tonawanda Creek Rd #APT 308,Lockport,NY,14094,43.08926,-78.69313 2,Dean,Roy,(716) 201-1588,6884 E High St,Lockport,NY,14094,43.16245,-78.65036 3,Eden,Paul,(716) 202-4596,4647 Southwestern Blvd #APT 350,Hamburg,NY,14075,42.76003,-78.83194 4,Bryanna,Higgins,(716) 203-7041,418 Park Ave,Dunkirk,NY,14048,42.48279,-79.33088 5,Elisabeth,Lee,(716) 203-7043,36 E Courtney St,Dunkirk,NY,14048,42.48299,-79.31928 6,Skylar,Robinson,(716) 203-7166,26 Greco Ln,Dunkirk,NY,14048,42.4612095,-79.3317925 7,Cody,Bailey,(716) 203-7201,114 Lincoln Ave,Dunkirk,NY,14048,42.4801269,-79.322232 8,Dario,Sims,(408) 927-1606,N Castle Dr,Armonk,NY,10504,41.11979,-73.714864 9,Deacon,Hood,(410) 244-6221,4856 44th St,Woodside,NY,11377,40.748372,-73.905445 10,Zackery,Levy,(410) 363-8874,61 Executive Blvd,Farmingdale,NY,11735,40.7197457,-73.430239 11,Rey,Hawkins,(412) 344-8687,4585 Shimerville Rd,Clarence,NY,14031,42.972075,-78.6592452 12,Phillip,Howard,(413) 269-4049,464 Main St #101,Port Washington,NY,11050,40.8273756,-73.7009971 13,Shirley,Tyler,(434) 985-8943,114 Glann Rd,Apalachin,NY,13732,42.0482515,-76.1229725 14,Aniyah,Jarvis,(440) 244-1808,87 N Middletown Rd,Pearl River,NY,10965,41.0629,-74.0159 15,Alayna,Woodard,(478) 335-3704,70 W Red Oak Ln,West Harrison,NY,10604,41.0162722,-73.7234926 16,Jermaine,Lambert,(508) 561-9836,24 Kellogg Rd,New Hartford,NY,13413,43.0555739,-75.2793197 17,Harper,Gibbs,(239) 466-0238,Po Box 33,Cottekill,NY,12419,41.853392,-74.106082 18,Osvaldo,Graham,(252) 246-0816,6878 Sand Hill Rd,East Syracuse,NY,13057,43.073215,-76.081448 19,Roberto,Wade,(270) 469-1211,3936 Holley Rd,Moravia,NY,13118,42.713044,-76.481227 20,Kate,Mcguire,(270) 788-3080,6451 State 64 Rte #3,Naples,NY,14512,42.707366,-77.380489 21,Dale,Andersen,(281) 480-5690,205 W Service Rd,Champlain,NY,12919,44.9645392,-73.4470831 22,Lorelai,Burch,(302) 644-2133,1 Brewster St,Glen Cove,NY,11542,40.865177,-73.633019 23,Amiyah,Flowers,(303) 223-0055,46600 Us Interstate 81 Rte,Alexandria Bay,NY,13607,44.309626,-75.988365 24,Mckinley,Clements,(303) 918-3230,200 Summit Lake Dr,Valhalla,NY,10595,41.101145,-73.778298 25,Marc,Gibson,(607) 203-1233,25 Robinson St,Binghamton,NY,13901,42.107416,-75.901614 26,Kali,Norman,(607) 203-1400,1 Ely Park Blvd #APT 15,Binghamton,NY,13905,42.125866,-75.925026 27,Laci,Cain,(607) 203-1437,16 Zimmer Road,Kirkwood,NY,13795,42.066516,-75.792627 28,Mohammad,Perez,(607) 203-1652,71 Endicott Ave #APT 12,Johnson City,NY,13790,42.111894,-75.952187 29,Izabelle,Pham,(607) 204-0392,434 State 369 Rte,Port Crane,NY,13833,42.185838,-75.823074 30,Kiley,Mays,(607) 204-0870,244 Ballyhack Rd #14,Port Crane,NY,13833,42.175612,-75.814917 31,Peter,Trevino,(607) 205-1374,125 Melbourne St.,Vestal,NY,13850,42.080254,-76.051124 32,Ani,Francis,(607) 208-4067,48 Caswell St,Afton,NY,13730,42.232065,-75.525674 33,Jared,Sheppard,(716) 386-3002,4709 430th Rte,Bemus Point,NY,14712,42.162175,-79.39176 34,Dulce,Atkinson,(914) 576-2266,501 Pelham Rd,New Rochelle,NY,10805,40.895449,-73.782602 35,Jayla,Beasley,(716) 526-1054,5010 474th Rte,Ashville,NY,14710,42.096859,-79.375561 36,Dane,Donovan,(718) 545-3732,5014 31st Ave,Woodside,NY,11377,40.756967,-73.909506 37,Brendon,Clay,(585) 322-7780,133 Cummings Ave,Gainesville,NY,14066,42.664309,-78.085651 38,Asia,Nunez,(718) 426-1472,2407 Gilmore ,East Elmhurst,NY,11369,40.766662,-73.869185 39,Dawson,Odonnell,(718) 342-2179,5019 H Ave,Brooklyn,NY,11234,40.633245,-73.927591 40,Kyle,Collins,(315) 733-7078,502 Rockhaven Rd,Utica,NY,13502,43.129184,-75.226726 41,Eliza,Hardin,(315) 331-8072,502 Sladen Place,West Point,NY,10996,41.3993,-73.973003 42,Kasen,Klein,(518) 298-4581,2407 Lake Shore Rd,Chazy,NY,12921,44.925561,-73.387373 43,Reuben,Bradford,(518) 298-4581,33 Lake Flats Dr,Champlain,NY,12919,44.928092,-73.387884 44,Henry,Grimes,(518) 523-3990,2407 Main St,Lake Placid,NY,12946,44.291487,-73.98474 45,Kyan,Livingston,(518) 585-7364,241 Alexandria Ave,Ticonderoga,NY,12883,43.836553,-73.43155 46,Kaitlyn,Short,(516) 678-3189,241 Chance Dr,Oceanside,NY,11572,40.638534,-73.63079 47,Damaris,Jacobs,(914) 664-5331,241 Claremont Ave,Mount Vernon,NY,10552,40.919852,-73.827848 48,Alivia,Schroeder,(315) 469-4473,241 Lafayette Rd,Syracuse,NY,13205,42.996446,-76.12957 49,Bridget,Strong,(315) 298-4355,241 Maltby Rd,Pulaski,NY,13142,43.584966,-76.136317 50,Francis,Lee,(585) 201-7021,166 Ross St,Batavia,NY,14020,43.0031502,-78.17487 51,Makaila,Phelps,(585) 201-7422,58 S Main St,Batavia,NY,14020,42.99941,-78.1939285 52,Jazlynn,Stephens,(585) 203-1087,1 Sinclair Dr,Pittsford,NY,14534,43.084157,-77.545452 53,Ryann,Randolph,(585) 203-1519,331 Eaglehead Rd,East Rochester,NY,14445,43.10785,-77.475552 54,Rosa,Baker,(585) 204-4011,42 Ossian St,Dansville,NY,14437,42.560761,-77.70088 55,Marcel,Barry,(585) 204-4013,42 Jefferson St,Dansville,NY,14437,42.557735,-77.702983 56,Dennis,Schmitt,(585) 204-4061,750 Dansville Mount Morris Rd,Dansville,NY,14437,42.584458,-77.741648 57,Cassandra,Kim,(585) 204-4138,3 Perine Ave APT1,Dansville,NY,14437,42.562865,-77.69661 58,Kolton,Jacobson,(585) 206-5047,4925 Upper Holly Rd,Holley,NY,14470,43.175957,-78.074465 59,Nathanael,Donovan,(718) 393-3501,9604 57th Ave,Corona,NY,11373,40.736077,-73.864858 60,Robert,Frazier,(718) 271-3067,300 56th Ave,Corona,NY,11373,40.735304,-73.873997 61,Jessie,Mora,(315) 405-8991,9607 Forsyth Loop,Watertown,NY,13603,44.036466,-75.833437 62,Martha,Rollins,(347) 242-2642,22 Main St,Corona,NY,11373,40.757727,-73.829331 63,Emely,Townsend,(718) 699-0751,60 Sanford Ave,Corona,NY,11373,40.755466,-73.831029 64,Kylie,Cooley,(347) 561-7149,9608 95th Ave,Ozone Park,NY,11416,40.687564,-73.845715 65,Wendy,Cameron,(585) 571-4185,9608 Union St,Scottsville,NY,14546,43.013327,-77.7907839 66,Kayley,Peterson,(718) 654-5027,961 E 230th St,Bronx,NY,10466,40.889275,-73.850555 67,Camden,Ochoa,(718) 760-8699,59 Vark St,Yonkers,NY,10701,40.929322,-73.89957 68,Priscilla,Castillo,(910) 326-7233,9359 Elm St,Chadwicks,NY,13319,43.024902,-75.26886 69,Dana,Schultz,(913) 322-4580,99 Washington Ave,Hastings on Hudson,NY,10706,40.99265,-73.879748 70,Blaze,Medina,(914) 207-0015,60 Elliott Ave,Yonkers,NY,10705,40.921498,-73.896682 71,Finnegan,Tucker,(914) 207-0015,90 Hillside Drive,Yonkers,NY,10705,40.922514,-73.892911 72,Pranav,Palmer,(914) 214-8376,5 Bruce Ave,Harrison,NY,10528,40.970916,-73.711493 73,Kolten,Wong,(914) 218-8268,70 Barker St,Mount Kisco,NY,10549,41.211993,-73.723202 74,Jasiah,Vazquez,(914) 231-5199,30 Broadway,Dobbs Ferry,NY,10522,41.004629,-73.879825 75,Lamar,Pierce,(914) 232-0380,68 Ridge Rd,Katonah,NY,10536,41.256662,-73.707964 76,Carla,Coffey,(914) 232-0469,197 Beaver Dam Rd,Katonah,NY,10536,41.247934,-73.664363 77,Brooklynn,Harmon,(716) 595-3227,8084 Glasgow Rd,Cassadega,NY,14718,42.353861,-79.329558 78,Raquel,Hodges,(585) 398-8125,809 County Road ,Victor,NY,14564,43.011745,-77.398806 79,Jerimiah,Gardner,(585) 787-9127,809 Houston Rd,Webster,NY,14580,43.224204,-77.491353 80,Clarence,Hammond,(720) 746-1619,809 Pierpont Ave,Piermont,NY,10968,41.0491181,-73.918622 81,Rhys,Gill,(518) 427-7887,81 Columbia St,Albany,NY,12210,42.652824,-73.752096 82,Edith,Parrish,(845) 452-7621,81 Glenwood Ave,Poughkeepsie,NY,12603,41.691058,-73.910829 83,Kobe,Mcintosh,(845) 371-1101,81 Heitman Dr,Spring Valley,NY,10977,41.103227,-74.054396 84,Ayden,Waters,(516) 796-2722,81 Kingfisher Rd,Levittown,NY,11756,40.738939,-73.52826 85,Francis,Rogers,(631) 427-7728,81 Knollwood Ave,Huntington,NY,11743,40.864905,-73.426107 86,Jaden,Landry,(716) 496-4038,12839 39th Rte,Chaffee,NY,14030,43.527396,-73.462786 87,Giancarlo,Campos,(518) 885-5717,1284 Saratoga Rd,Ballston Spa,NY,12020,42.968594,-73.862847 88,Eduardo,Contreras,(716) 285-8987,1285 Saunders Sett Rd,Niagara Falls,NY,14305,43.122963,-79.029274 89,Gabriela,Davidson,(716) 267-3195,1286 Mee Rd,Falconer,NY,14733,42.147339,-79.137976 90,Evangeline,Case,(518) 272-9435,1287 2nd Ave,Watervliet,NY,12189,42.723132,-73.703818 91,Tyrone,Ellison,(518) 843-4691,1287 Midline Rd,Amsterdam,NY,12010,42.9730876,-74.1700608 92,Bryce,Bass,(518) 943-9549,1288 Leeds Athens Rd,Athens,NY,12015,42.259381,-73.876897 93,Londyn,Butler,(518) 922-7095,129 Argersinger Rd,Fultonville,NY,12072,42.910969,-74.441917 94,Graham,Becker,(607) 655-1318,129 Baker Rd,Windsor,NY,13865,42.107271,-75.66408 95,Rolando,Fitzgerald,(315) 465-4166,17164 County 90 Rte,Mannsville,NY,13661,43.713443,-76.06232 96,Grant,Hoover,(518) 692-8363,1718 County 113 Rte,Schaghticote,NY,12154,42.900648,-73.585036 97,Mark,Goodwin,(631) 584-6761,172 Cambon Ave,Saint James,NY,11780,40.871152,-73.146032 98,Deacon,Cantu,(845) 221-7940,172 Carpenter Rd,Hopewell Junction,NY,12533,41.57388,-73.77609 99,Tristian,Walsh,(516) 997-4750,172 E Cabot Ln,Westbury,NY,11590,40.7480397,-73.54819 100,Abram,Alexander,(631) 588-3817,172 Lorenzo Cir,Ronkonkoma,NY,11779,40.837123,-73.09367 101,Lesly,Bush,(516) 489-3791,172 Nassau Blvd,Garden City,NY,11530,40.71147,-73.660753 102,Pamela,Espinoza,(716) 201-1520,172 Niagara St ,Lockport,NY,14094,43.169871,-78.70093 103,Bryanna,Newton,(914) 328-4332,172 Warren Ave,White Plains,NY,10603,41.047207,-73.79572 104,Marcelo,Schmitt,(315) 393-4432,319 Mansion Ave,Ogdensburg,NY,13669,44.690246,-75.49992 105,Layton,Valenzuela,(631) 676-2113,319 Singingwood Dr,Holbrook,NY,11741,40.801391,-73.058993 106,Roderick,Rocha,(518) 671-6037,319 Warren St,Hudson,NY,12534,42.252527,-73.790629 107,Camryn,Terrell,(315) 635-1680,3192 Olive Dr,Baldinsville,NY,13027,43.136843,-76.260303 108,Summer,Callahan,(585) 394-4195,3192 Smith Road,Canandaigua,NY,14424,42.875457,-77.228039 109,Pierre,Novak,(716) 665-2524,3194 Falconer Kimball Stand Rd,Falconer,NY,14733,42.138439,-79.211091 110,Kennedi,Fry,(315) 543-2301,32 College Rd,Selden,NY,11784,40.861624,-73.04757 111,Wyatt,Pruitt,(716) 681-4042,277 Ransom Rd,Lancaster ,NY,14086,42.87702,-78.591302 112,Lilly,Jensen,(631) 841-0859,2772 Schliegel Blvd,Amityville,NY,11701,40.708021,-73.413015 113,Tristin,Hardin,(631) 920-0927,278 Fulton Street,West Babylon,NY,11704,40.733578,-73.357321 114,Tanya,Stafford,(716) 484-0771,278 Sampson St,Jamestown,NY,14701,42.0797,-79.247805 115,Paris,Cordova,(607) 589-4857,278 Washburn Rd,Spencer,NY,14883,42.225046,-76.510257 116,Alfonso,Morse,(718) 359-5582,200 Colden St,Flushing,NY,11355,40.750403,-73.822752 117,Maurice,Hooper,(315) 595-6694,4435 Italy Hill Rd,Branchport,NY,14418,42.597957,-77.199267 118,Iris,Wolf,(607) 539-7288,444 Harford Rd,Brooktondale,NY,14817,42.392164,-76.30756 ];

En savoir plus

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !