Ottimizzazione con k-means: Un esempio del mondo reale
L'esempio seguente illustra un caso d'uso del mondo reale in cui le funzioni di clustering KMeans e Centroide sono applicate a un set di dati. La funzione KMeans segrega i punti dati in cluster che condividono somiglianze. I cluster diventano più compatti e differenziati dato che l'algoritmo KMeans viene applicato su un numero configurabile di iterazioni.
KMeans è una funzione utilizzata in molti campi in un'ampia varietà di casi di utilizzo; alcuni esempi di casi di utilizzo del clustering includono la segmentazione dei clienti, il rilevamento di frodi, la previsione di attriti negli account, il targeting degli incentivi ai clienti, l'identificazione del cybercrimine e l'ottimizzazione dei percorsi di consegna. L'algoritmo di clustering KMeans risulta sempre più utilizzato laddove le aziende cercano di inferire schemi e ottimizzare le offerte di servizi.
Funzioni KMeans e Centroid di Qlik Sense
Qlik Sense fornisce due funzioni KMeans che raggruppano i punti dati in cluster in base alla somiglianza. Vedere KMeans2D - funzione per grafici e KMeansND - funzione per grafici. La funzione KMeans2D accetta due dimensioni e funziona bene al momento di visualizzare risultati attraverso un grafico a dispersione. La funzione KMeansND accetta più di due dimensioni. Essendo semplice concettualizzare un esito 2D su grafici standard, la seguente dimostrazione applica KMeans a un grafico a dispersione usando due dimensioni. Il clustering KMeans può essere visualizzato attraverso il coloramento per espressione; oppure per dimensione come descritto in questo esempio.
Le funzioni centroide di Qlik Sense determinano la posizione aritmetica media di tutti i punti dati nel cluster e identificano un punto centrale, o centroide, per tale cluster. Per ciascuna riga del grafico (o record), la funzione centroide visualizza la coordinata del cluster a cui è stato assegnato questo punto dati. Vedere KMeansCentroid2D - funzione per grafici e KMeansCentroidND - funzione per grafici.
Panoramica sui casi di utilizzo ed esempio
Il seguente esempio si riferisce a uno scenario simulato del mondo reale. Un'azienda tessile nello stato di New York, USA, interessata a ridurre le spese minimizzando i costi di consegna. Un modo per farlo è trasferire i magazzini più vicino ai loro distributori. L'azienda impiega 118 distributori in tutto lo stato di New York. La seguente dimostrazione simula come un operations manager potrebbe segmentare i distributori in cinque geografie raggruppate usando la funzione KMeans e poi identificare cinque posizioni di magazzino ottimali centrali rispetto a quei cluster usando la funzione centroide. L'obiettivo è individuare le coordinate di mappatura utilizzabili per identificare cinque posizioni centrali del magazzino.
Il set di dati
Il set di dati è basato su nomi e indirizzi generati casualmente nello stato di New York con coordinate reali di latitudine e longitudine. Il set di dati contiene le seguenti dieci colonne: id, first_name, last_name, telefono, indirizzo, città, stato, codice postale, latitudine, longitudine. Il set di dati è disponibile in basso come file da scaricare localmente e poi caricare in Qlik Sense o inline per l'editor caricamento dati. L'app creata viene denominata KMeans e Centroide distributori e il primo foglio nell'app viene denominato Analisi cluster di distribuzione.
Selezionare il collegamento seguente per scaricare il file di dati campione: DistributorData.csv
Set di dati Distributor: Caricamento inline per l'editor caricamento dati in Qlik Sense
Titolo: DistributorData
Numero totale di record: 118
Applicazione della funzione KMeans2D
In questo esempio, la configurazione di un grafico a dispersione viene dimostrata utilizzando il set di dati DistributorData, viene applicata la funzione KMeans2D, e il grafico viene colorato per dimensione.
Notare che le funzioni KMeans Qlik Sense supportano il clustering automatico usando un metodo definito differenza di profondità (DeD). Quando un utente imposta lo 0 per il numero di cluster, viene determinato il numero ottimale di cluster per tale set di dati. Tuttavia, per questo esempio viene creata una variabile per l'argomento num_clusters (fare riferimento a KMeans2D - funzione per grafici per la sintassi). Pertanto, il numero desiderato di cluster (k=5) viene specificato mediante una variabile.
- Un Grafico a dispersione è trascinato sul foglio e denominato Distributori (per dimensione).
- Viene creata una variabile per specificare il numero di cluster. La variabile viene denominata vDistClusters. Per la variabile Definizione, viene inserito 5.
- Configurazione Dati per il grafico:
- Sotto Dimensioni, il campo id viene selezionato per Bolla. Id cluster viene inserito per l'Etichetta.
- Sotto Misure, Avg([latitude]) rappresenta l'espressione per l'asse X.
- Sotto Misure, Avg([longitude]) rappresenta l'espressione per l'asse Y.
- Configurazione dell'Aspetto:
- Sotto Colori e legenda, viene scelto Personalizzato per Colori.
- Per dimensione viene selezionato per colorare il grafico.
- Viene inserita la seguente espressione: =pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1, 'Cluster 1', 'Cluster 2', 'Cluster 3', 'Cluster 4', 'Cluster 5')
- Viene selezionata la casella di controllo per Colori persistenti.
Aggiunta di una tabella: Distributori
Può essere utile avere a disposizione una tabella per l'accesso rapido ai dati pertinenti. Il grafico a dispersione mostra gli id attraverso una tabella con i nomi dei distributori corrispondenti che viene aggiunta per riferimento.
- Una tabella denominata Distributori viene trascinata sul foglio con le seguenti Colonne (Dimensioni) aggiunte: id, first_name e last_name.
Aggiunta di un grafico a barre: # osservazioni per cluster
Per uno scenario di distribuzione magazzino, è utile conoscere quanti distributori verranno serviti da ciascun magazzino. Pertanto, viene creato un grafico a barre che misuri quanti distributori vengono assegnati a ciascun cluster.
- Un grafico a barre viene trascinato sul foglio. Il grafico è denominato: # osservazioni per cluster.
- Configurazione Dati per il grafico a barre:
- Viene aggiunta una Dimensione denominata Cluster (l'etichetta può essere aggiunta dopo l'applicazione dell'espressione). Viene inserita la seguente espressione: =pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1, 'Cluster 1', 'Cluster 2', 'Cluster 3', 'Cluster 4', 'Cluster 5')
- Viene aggiunta una Misura denominata # di osservazioni. Viene inserita la seguente espressione: =count(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id))
- Configurazione dell'Aspetto:
- Sotto Colori e legenda, viene scelto Personalizzato per Colori.
-
Per dimensione viene selezionato per colorare il grafico.
- Viene inserita la seguente espressione: =pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1, 'Cluster 1', 'Cluster 2', 'Cluster 3', 'Cluster 4', 'Cluster 5')
- Viene selezionata la casella di controllo per Colori persistenti.
- Mostra legenda è disattivato.
- Sotto Presentazione, Etichette valore è impostato su Auto.
- Sotto Asse X: È selezionato Cluster, Solo etichette.
Applicazione della funzione Centroid2D
Viene aggiunta una seconda tabella per la funzione Centroid2D che identificherà le coordinate per le potenziali posizioni del magazzino. Questa tabella mostra la posizione centrale (valori centroide) per i cinque gruppi distributori identificati.
- Una Tabella viene trascinata sul foglio e denominata Centroidi cluster con le seguenti colonne aggiunte:
- Viene aggiunta una Dimensione denominata Cluster. Viene inserita la seguente espressione:=pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1,'Warehouse 1','Warehouse 2','Warehouse 3','Warehouse 4','Warehouse 5')
- Viene aggiunta una Misura denominata latitudine (D1). Viene inserita la seguente espressione:=only(aggr(KMeansCentroid2D(vDistClusters,0,only(latitude),only(longitude)),id))
Notare che il parametro coordinate_no corrisponde alla prima dimensione(0). In questo caso la dimensione latitudine viene tracciata rispetto all'asse x. Se stessimo lavorando con la funzione CentroidND e ci fossero fino a sei dimensioni, tali voci di parametro potrebbero corrispondere a uno qualsiasi di sei valori: 0,1,2,3,4,o 5. - Viene aggiunta una Misura denominata longitudine (D2). Viene inserita la seguente espressione:=only(aggr(KMeansCentroid2D(vDistClusters,1,only(latitude),only(longitude)),id))
Il parametro coordinate_no in questa espressione corrisponde alla seconda dimensione(1). La dimensione longitudine viene tracciata rispetto all'asse y.
Mapping centroide
Il passaggio successivo consiste nel mappare i centroidi. Sta allo sviluppatore di app scegliere se preferisce posizionare la visualizzazione su fogli separati.
- Una mappa denominata Mapping centroide viene trascinata sul foglio.
- Nella sezione Livelli. Viene selezionato Aggiungi livello, quindi viene selezionato Livello punti.
-
L'Id campo viene selezionato e si aggiunge l'etichetta Dist ids.
-
Nella sezione Posizione, la casella di controllo per Campi latitudine e longitudine risulta selezionata.
-
Per Latitudine, viene selezionato il campo latitudine.
-
Per Longitudine, viene selezionato il campo longitudine.
-
Nella sezione Dimensione e forma, viene selezionato Bolla per Forma, quindi la Dimensione viene ridotta in base alla preferenza sul cursore.
-
Nella sezione Colori, viene selezionato Colore singolo e viene selezionato blu per il Colore e grigio per il colore Contorno (tali scelte rappresentano anche una preferenza).
- Nella sezione Livelli, un secondo Livello punti viene aggiunto selezionando Aggiungi livello e quindi selezionando Livello punti.
-
Viene inserita la seguente espressione: =aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)
-
Viene aggiunta l'Etichetta Cluster.
-
Nella sezione Posizione, la casella di controllo per Campi latitudine e longitudine risulta selezionata.
-
Per la Latitudine che in questo caso viene tracciata lungo l'asse x, viene aggiunta la seguente espressione: =aggr(KMeansCentroid2D(vDistClusters,0,only(latitude),only(longitude)),id)
-
Per la Longitudine che in questo caso viene tracciata lungo l'asse y, viene aggiunta la seguente espressione: =aggr(KMeansCentroid2D(vDistClusters,1,only(latitude),only(longitude)),id)
-
Nella sezione Dimensioni e forma, viene selezionato Triangolo per Forma e le Dimensioni vengono ridotte sul cursore alla preferenza.
-
Sotto Colori e legenda, viene selezionato Personalizzato per Colori.
-
Per dimensione viene selezionato per colorare il grafico. Viene inserita la seguente espressione: =pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1,'Cluster 1','Cluster 2','Cluster 3','Cluster 4','Cluster 5')
-
La dimensione viene etichettata Cluster.
- In Impostazioni mappa, viene selezionato Adattiva per Proiezione. Metrica viene selezionato per Unità di misura.
Conclusione
Utilizzando la funzione KMeans per questo scenario del mondo reale, i distributori sono stati segmentati in gruppi simili o cluster basati sulla somiglianza; in questo caso, la prossimità l'uno con l'altro. La funzione Centroide è stata applicata a tali cluster per identificare cinque coordinate di mappatura. Tali coordinate forniscono una posizione centrale iniziale su cui costruire o localizzare i magazzini. La funzione centroide si applica al grafico mappa, in modo che gli utenti delle app possano visualizzare dove si trovano i centroidi rispetto ai punti dati cluster circostanti. Le coordinate risultanti rappresentano potenziali posizioni dei magazzini che potrebbero ridurre al minimo i costi di consegna ai distributori nello stato di New York.
Set di dati Distributor: Caricamento inline per l'editor caricamento dati in 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
];