Optimieren mit k-means: Ein reales Beispiel
Das folgende reale Beispiel zeigt einen Fall, in dem KMeans-Clustering und Zentroid-Funktionen auf einen Datensatz angewendet werden. Die KMeans-Funktion teilt Datenpunkte in Cluster auf, die Ähnlichkeiten teilen. Die Cluster werden kompakter und differenzierter, während der KMeans-Algorithmus über eine konfigurierbare Anzahl Iterationen angewendet wird.
KMeans wird in vielen Gebieten für unterschiedliche Anwendungsfälle eingesetzt. Einige Beispiele für Clustering-Anwendungsfälle sind Kundensegmentierung, Betrugserkennung, Prognose der Kundenabwanderung, Targeting von Kundenanreizen, Identifizierung von Cyberkriminalität und Optimierung von Lieferstrecken. Der KMeans-Clustering-Algorithmus wird immer häufiger verwendet, wenn Unternehmen versuchen, Muster abzuleiten und Dienstangebote zu optimieren.
Qlik Sense KMeans- und Zentroid-Funktionen
Qlik Sense stellt zwei KMeans-Funktionen bereit, die Datenpunkte in Clustern basierend auf ihrer Ähnlichkeit gruppieren. Weitere Informationen finden Sie unter KMeans2D - Diagrammfunktion und KMeansND - Diagrammfunktion. Die KMeans2D-Funktion akzeptiert zwei Dimensionen und funktioniert gut beim Visualisieren von Ergebnissen über ein Punktdiagramm. Die KMeansND-Funktion akzeptiert mehr als zwei Dimensionen. Da sich die Konzepte eines 2D-Ergebnisses leicht in Standarddiagrammen darstellen lassen, wird in der folgenden Demo KMeans auf ein Punktdiagramm unter Verwendung von zwei Dimensionen angewandt. KMeans-Clustering kann durch Einfärbung nach Formel oder wie in diesem Beispiel beschrieben durch Dimensionen visualisiert werden.
Qlik Sense Zentroid-Funktionen bestimmen die Position des arithmetischen Mittels aller Datenpunkte im Cluster und identifizieren einen zentralen Punkt bzw. Zentroid für diesen Cluster. Für jede Diagrammzeile (bzw. jeden Datensatz) zeigt die Zentroid-Funktion die Koordinate des Clusters an, der dieser Datenpunkt zugewiesen wurde. Weitere Informationen finden Sie unter KMeansCentroid2D - Diagrammfunktion und KMeansCentroidND - Diagrammfunktion.
Anwendungsfall und Beispiel – Übersicht
Das folgende Beispiel führt durch die Schritte eines simulierten realen Szenarios. Ein Textilunternehmen im Bundesstaat New York, USA, muss seine Ausgaben senken, indem es die Lieferkosten minimiert. Eine Möglichkeit besteht darin, Lagerstandorte zu verlegen, damit sie sich näher bei den Distributoren befinden. Das Unternehmen beschäftigt 118 Distributoren im Bundesstaat New York. Die folgende Demo simuliert, wie ein Operations Manager die Distributoren mit der KMeans-Funktion in fünf geclusterte geografische Gebiete segmentieren könnte. Anschließend identifiziert er anhand der Zentroid-Funktion fünf optimale Lagerstandorte, die für diese Cluster zentral liegen. Das Ziel besteht darin, Zuordnungskoordinaten zu finden, die zum Identifizieren von fünf zentralen Lagerstandorten verwendet werden können.
Der Datensatz
Der Datensatz basiert auf zufällig generierten Namen und Adressen im Bundesstaat New York mit echten Längen- und Breitenkoordinaten. Der Datensatz enthält die folgenden zehn Spalten: id, first_name, last_name, telephone, address, city, state, zip, latitude, longitude. Der Datensatz steht unten als Datei zur Verfügung, die Sie lokal herunterladen und dann an Qlik Sense hochladen oder inline im Dateneditor verwenden können. Die erstellte App erhält den Namen Distributors KMeans and Centroid, und das erste Arbeitsblatt in der App wird Distribution cluster analysis genannt.
Klicken Sie auf den folgenden Link, um die Beispieldatendatei herunterzuladen: DistributorData.csv
Distributor-Datensatz: Inline-Ladevorgang für Dateneditor in Qlik Sense
Title: DistributorData
Gesamtzahl Datensätze: 118
Anwenden der KMeans2D-Funktion
In diesem Beispiel wird die Konfiguration eines Punktdiagramms unter Verwendung des Datensatzes DistributorData gezeigt, die KMeans2D-Funktion wird angewendet, und das Diagramm wird nach Dimension eingefärbt.
Beachten Sie, dass Qlik Sense KMeans-Funktionen automatisches Clustering mit einer Methode unterstützen, die als Tiefendifferenz bezeichnet wird. Wenn ein Benutzer 0 für die Anzahl der Cluster festlegt, wird die optimale Anzahl Cluster für diesen Datensatz bestimmt. Für dieses Beispiel wird aber eine Variable für das Argument num_clusters erstellt (die Syntax entnehmen Sie KMeans2D - Diagrammfunktion). Daher wird die gewünschte Anzahl Cluster (k=5) von einer Variablen angegeben.
- Ein Punktdiagramm wird auf das Arbeitsblatt gezogen und erhält den Namen Distributors (by dimension).
- Eine Variable wird erstellt, um die Anzahl der Cluster anzugeben. Die Variable erhält den Namen vDistClusters. Geben Sie für die Variable Definition den Wert 5 ein.
- Daten-Konfiguration für das Diagramm:
- Unter Dimensionen wird das Feld ID für Blase ausgewählt. Cluster-ID wird für die Bezeichnung eingegeben.
- Unter Kennzahlen ist Avg([latitude]) die Formel für die X-Achse.
- Unter Kennzahlen ist Avg([longitued]) die Formel für die Y-Achse.
- Konfiguration der Darstellung:
- Unter Farben und Legenden wird die Option Benutzerdefiniert für Farben ausgewählt.
- Nach Dimension wird für das Einfärben des Diagramms ausgewählt.
- Die folgende Formel wird eingegeben: =pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1, 'Cluster 1', 'Cluster 2', 'Cluster 3', 'Cluster 4', 'Cluster 5')
- Das Kontrollkästchen für Farben bei Auswahl beibehalten wird aktiviert.
Hinzufügen einer Tabelle: Distributors
Es kann sinnvoll sein, eine Tabelle für den schnellen Zugriff auf relevante Daten zur Hand zu haben. Das Punktdiagramm zeigt IDs über eine Tabelle; die zugehörigen Distributornamen wurden als Referenz hinzugefügt.
- Eine Tabelle mit dem Namen Distributors wird auf das Arbeitsblatt gezogen, der die folgenden Spalten (Dimensionen) hinzugefügt werden: id, first_name und last_name.
Hinzufügen eines Balkendiagramms: # observations per cluster
Für das Szenario der Lagerverteilung ist es sinnvoll zu wissen, wie viele Distributoren von jedem Lager beliefert werden. Daher wird ein Balkendiagramm erstellt, das misst, wie viele Distributoren jedem Cluster hinzugefügt werden.
- Ein Balkendiagramm wird auf das Arbeitsblatt gezogen. Das Diagramm erhält den Namen # observations per cluster.
- Daten-Konfiguration für das Balkendiagramm:
- Eine Dimension mit der Bezeichnung Clusters wird hinzugefügt (die Bezeichnung kann hinzugefügt werden, nachdem die Formel angewendet wurde). Die folgende Formel wird eingegeben: =pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1, 'Cluster 1', 'Cluster 2', 'Cluster 3', 'Cluster 4', 'Cluster 5')
- Eine Kennzahl mit der Bezeichnung # observations wird hinzugefügt. Die folgende Formel wird eingegeben: =count(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id))
- Konfiguration der Darstellung:
- Unter Farben und Legenden wird die Option Benutzerdefiniert für Farben ausgewählt.
-
Nach Dimension wird für das Einfärben des Diagramms ausgewählt.
- Die folgende Formel wird eingegeben: =pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1, 'Cluster 1', 'Cluster 2', 'Cluster 3', 'Cluster 4', 'Cluster 5')
- Das Kontrollkästchen für Farben bei Auswahl beibehalten wird aktiviert.
- Legende anzeigen ist deaktiviert.
- Unter Präsentation ist Wertbezeichnungen auf Automatisch festgelegt.
- Unter x-Achse: Clusters ist Nur Feldnamen ausgewählt.
Anwenden der Centroid2D-Funktion
Eine zweite Tabelle wird für die Centroid2D-Funktion hinzugefügt, mit der die Koordinaten für mögliche Lagerstandorte identifiziert werden. Diese Tabelle zeigt den zentralen Standort (Zentroid-Werte) für die fünf identifizierten Distributorgruppen.
- Eine Tabelle wird auf das Arbeitsblatt gezogen und erhält den Namen Cluster centroids. Ihr wurden folgende Spalten hinzugefügt:
- Eine Dimension mit der Bezeichnung Clusters wird hinzugefügt. Die folgende Formel wird eingegeben:=pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1,'Warehouse 1','Warehouse 2','Warehouse 3','Warehouse 4','Warehouse 5')
- Eine Kennzahl mit der Bezeichnung latitude (D1) wird hinzugefügt. Die folgende Formel wird eingegeben:=only(aggr(KMeansCentroid2D(vDistClusters,0,only(latitude),only(longitude)),id))
Beachten Sie, dass der Parameter coordinate_no der ersten Dimension (0) entspricht. In diesem Fall wird die Dimension latitude gegen die x-Achse aufgetragen. Wenn mit der CentroidND-Funktion gearbeitet würde und bis zu sechs Dimensionen vorhanden wären, könnten diese Parametereinträge einen beliebigen der sechs Werte 0, 1, 2, 3, 4 oder 5 haben. - Eine Kennzahl mit der Bezeichnung longitude (D2) wird hinzugefügt. Die folgende Formel wird eingegeben: =only(aggr(KMeansCentroid2D(vDistClusters,1,only(latitude),only(longitude)),id))D
Der Parameter coordinate_no in dieser Formel entspricht der zweiten Dimension (1). Die Dimension longitude wird gegen die y-Achse aufgetragen.
Zentroid-Zuordnung
Im nächsten Schritt werden die Zentroide zugeordnet. Der App-Entwickler kann entscheiden, ob die Visualisierung auf getrennten Arbeitsblättern platziert werden soll.
- Eine Karte mit dem Namen Centroid mapping wird auf das Arbeitsblatt gezogen.
- Im Abschnitt Ebenen wird Ebene hinzufügen und dann Punktebene ausgewählt.
-
Das Feld id wird ausgewählt, und die Bezeichnung Dist ids wird hinzugefügt.
-
Im Abschnitt Standort wird das Kontrollkästchen für Felder für Längen- und Breitengrad aktiviert.
-
Für Breitengrad wird das Feld latitude ausgewählt.
-
Für Längengrad wird das Feld longitude ausgewählt.
-
Im Abschnitt Größe und Form wird Blase für Form ausgewählt und die Größe wird nach Wunsch mit dem Schieberegler verringert.
-
Im Abschnitt Farben wird Eine Farbe ausgewählt, und Blau wird für die Farbe und Grau für den Umriss ausgewählt. (Diese Auswahlen können nach Wunsch geändert werden.)
- Im Abschnitt Ebenen wird eine zweite Punktebene hinzugefügt, indem Ebene hinzufügen und dann Punktebene ausgewählt wird.
-
Die folgende Formel wird eingegeben: =aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)
-
Die Bezeichnung Cluster wird hinzugefügt.
-
Im Abschnitt Standort wird das Kontrollkästchen für Felder für Längen- und Breitengrad aktiviert.
-
Für die Breite, die in diesem Fall entlang der x-Achse aufgetragen wird, wird folgende Formel hinzugefügt: =aggr(KMeansCentroid2D(vDistClusters,0,only(latitude),only(longitude)),id)
-
Für die Länge, die in diesem Fall entlang der y-Achse aufgetragen wird, wird folgende Formel hinzugefügt: =aggr(KMeansCentroid2D(vDistClusters,1,only(latitude),only(longitude)),id)
-
Im Abschnitt Größe und Form wird Dreieck für Form ausgewählt und die Größe wird nach Wunsch mit dem Schieberegler verringert.
-
Unter Farben und Legenden wird die Option Benutzerdefiniert für Farben ausgewählt.
-
Nach Dimension wird für das Einfärben des Diagramms ausgewählt. Die folgende Formel wird eingegeben: =pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1,'Cluster 1','Cluster 2','Cluster 3','Cluster 4','Cluster 5')
-
Die Dimension erhält die Bezeichnung Clusters.
- In Karteneinstellungen wird Adaptiv für Projektion ausgewählt. Metrisch wird für Maßeinheiten ausgewählt.
Zusammenfassung
Anhand der KMeans-Funktion wurden in diesem realen Szenario Distributoren in ähnliche Gruppen oder Cluster gestützt auf Ähnlichkeit segmentiert; in diesem Fall war dies die Nähe zueinander. Die Zentroid-Funktion wurde auf diese Cluster angewendet, um fünf Zuordnungskoordinaten zu identifizieren. Diese Koordinaten stellen einen anfänglichen zentralen Standort bereit, an dem Lager gebaut oder untergebracht werden können. Die Zentroid-Funktion wird auf das Karten-Diagramm angewendet, sodass App-Benutzer visualisieren können, wo sich die Zentroide relativ zu umgebenden Cluster-Datenpunkten befinden. Die sich daraus ergebenden Koordinaten stellen mögliche Lagerstandorte dar, mit denen die Lieferkosten an Distributoren im Bundesstaat New York minimiert werden könnten.
Distributor-Datensatz: Inline-Ladevorgang für Dateneditor 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
];