Optymalizacja za pomocą KMeans: Rzeczywisty przykład
Poniższy przykład przedstawia rzeczywisty przypadek użycia, w którym funkcje klastrowania KMeans i Centroid są stosowane do zestawu danych. Funkcja KMeans segreguje podobne punkty danych w klastry. Klastry stają się bardziej zwarte i zróżnicowane, gdy algorytm KMeans jest stosowany w konfigurowalnej liczbie iteracji.
KMeans to funkcja używana w wielu dziedzinach do różnych zastosowań. Niektóre przykłady klastrowania obejmują segmentację klientów, wykrywanie oszustw, przewidywanie utraty klientów, targetowanie zachęt dla klientów, identyfikację cyberprzestępstw i optymalizację tras dostaw. Algorytm klastrowania KMeans jest coraz częściej używany przez przedsiębiorstwa, które próbują wywnioskować wzorce i zoptymalizować ofertę usług.
Qlik Sense Funkcje KMeans i Centroid
Qlik Sense udostępnia dwie funkcje KMeans, które grupują punkty danych w klastry na podstawie podobieństwa. Zobacz KMeans2D — funkcja wykresu i KMeansND — funkcja wykresu. Funkcja KMeans2D przyjmuje dwa wymiary i sprawdza się przy wizualizacji wyników przy użyciu wykresu punktowego. Funkcja KMeansND przyjmuje więcej niż dwa wymiary. Ponieważ łatwo jest przedstawić koncepcję wyniku 2D na standardowych wykresach, w następującej demonstracji stosowana jest funkcja KMeans do wykresu punktowego przy użyciu dwóch wymiarów. Klastrowanie KMeans można wizualizować przez kolorowanie na podstawie wyrażenia lub według wymiaru, jak opisano w tym przykładzie.
Funkcje centroidów w Qlik Sense określają średnią arytmetyczną pozycji wszystkich punktów danych w klastrze i identyfikują punkt centralny, czyli centroid danego klastra. Dla każdego wiersza wykresu (lub rekordu) funkcja centroid wyświetla współrzędną klastra, do którego przypisano ten punkt danych. Zobacz KMeansCentroid2D — funkcja wykresu i KMeansCentroidND — funkcja wykresu.
Przegląd zastosowania i przykładu
Poniższy przykład przedstawia symulowany scenariusz w świecie rzeczywistym. Firma odzieżowa w stanie Nowy Jork w USA musi zmniejszyć wydatki, minimalizując koszty dostaw. Jednym ze sposobów na to jest przeniesienie magazynów bliżej dystrybutorów. Firma zatrudnia 118 dystrybutorów w całym stanie Nowy Jork. Poniższa demonstracja symuluje, w jaki sposób dyrektor operacyjny może posegmentować dystrybutorów na pięć skupionych obszarów geograficznych za pomocą funkcji KMeans, a następnie zidentyfikować pięć optymalnych lokalizacji magazynowych centralnych dla tych klastrów za pomocą funkcji centroid. Ma to na celu odkrycie współrzędnych mapowania, które można wykorzystać do identyfikacji pięciu lokalizacji magazynów centralnych.
Zestaw danych
Zestaw danych jest oparty na losowo generowanych nazwach i adresach w stanie Nowy Jork z rzeczywistymi współrzędnymi szerokości i długości geograficznej. Zestaw danych zawiera następujące dziesięć kolumn: id, first_name, last_name, telephone, address, city, state, zip, latitude, longitude. Zestaw danych jest dostępny poniżej jako plik, który można pobrać lokalnie, a następnie przesłać do Qlik Sense lub edytować w edytorze ładowania danych. Tworzona aplikacja nosi nazwę Distributors KMeans and Centroid, a pierwszy arkusz w aplikacji nazywa się Distribution cluster analysis.
Wybierz poniższe łącze, aby pobrać przykładowy plik danych: DistributorData.csv
Zestaw danych Distributor: Wbudowane ładowanie dla edytora ładowania danych w Qlik Sense
Tytuł: DistributorData
Całkowita liczba rekordów: 118
Stosowanie funkcji KMeans2D
W tym przykładzie konfiguracja wykresu punktowego jest pokazana przy użyciu zestawu danych DistributorData, stosowana jest funkcja KMeans2D, a wykres jest pokolorowany według wymiarów.
Uwaga: funkcje KMeans Qlik Sense obsługują automatyczne grupowanie za pomocą metody zwanej różnicą głębokości (DeD). Gdy użytkownik ustawia liczbę klastrów na 0, określana jest optymalna liczba klastrów dla tego zestawu danych. W tym przykładzie jednak jest tworzona zmienna dla argumentu num_clusters (informacje o składni zawiera KMeans2D — funkcja wykresu). W związku z tym pożądaną liczbę klastrów (k=5) określa zmienna.
- Wykres punktowy zostaje przeciągnięty na arkusz i nazwany Distributors (by dimension).
- Tworzona jest zmienna do określenia liczby klastrów. Zmienna nosi nazwę vDistClusters. Dla zmiennej Definition wprowadza się 5.
- Konfiguracja Danych dla wykresu:
- Pod obszarem Wymiary pole id jest wybierane jako wartość Bąbelek. Cluster id wprowadza się jako wartość Etykieta.
- W sekcji Miary, Avg([latitude]) jest wyrażeniem dla osi X.
- W sekcji Miary, Avg([longitude]) jest wyrażeniem dla osi Y.
- Konfiguracja Wyglądu:
- W sekcji Kolory i legenda wybierana jest wartość Niestandardowe dla Kolorów.
- Do kolorowania wykresu wybierana jest opcja Według wymiaru.
- Wprowadzane jest następujące wyrażenie: =pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1, 'Cluster 1', 'Cluster 2', 'Cluster 3', 'Cluster 4', 'Cluster 5')
- Pole wyboru dla Trwałe kolory jest zaznaczone.
Dodawanie tabeli: Distributors
Warto mieć pod ręką tabelę, aby uzyskać szybki dostęp do odpowiednich danych. Wykres punktowy pokazuje wartości id, chociaż w celach informacyjnych dodano tabelę z nazwami odpowiednich dystrybutorów.
- Tabela o nazwie Distributors jest przeciągana na arkusz z następującymi dodanymi kolumnami (wymiarami): id, first_name, i last_name.
Dodawanie wykresu słupkowego: # observations per cluster
W przypadku scenariusza dystrybucji magazynowej warto wiedzieć, ilu dystrybutorów będzie obsługiwanych przez każdy magazyn. Dlatego tworzony jest wykres słupkowy, który mierzy, ilu dystrybutorów jest przypisanych do każdego klastra.
- Wykres słupkowy jest przeciągany na arkusz. Wykres nosi nazwę: # observations per cluster.
- Konfiguracja Danych do wykresu słupkowego:
- Zostanie dodany wymiar z etykietą Clusters (etykietę można dodać po zastosowaniu wyrażenia). Wprowadzane jest następujące wyrażenie: =pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1, 'Cluster 1', 'Cluster 2', 'Cluster 3', 'Cluster 4', 'Cluster 5')
- Dodana zostaje miara z etykietą # of observations. Wprowadzane jest następujące wyrażenie: =count(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id))
- Konfiguracja Wyglądu:
- W sekcji Kolory i legenda wybierana jest wartość Niestandardowe dla Kolorów.
-
Do kolorowania wykresu wybierana jest opcja Według wymiaru.
- Wprowadzane jest następujące wyrażenie: =pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1, 'Cluster 1', 'Cluster 2', 'Cluster 3', 'Cluster 4', 'Cluster 5')
- Pole wyboru dla Trwałe kolory jest zaznaczone.
- Ustawienie Pokaż legendę jest wyłączone.
- W obszarze Prezentacja ustawienie Etykiety wartości ma wartość Autom.
- Pod Osią X: zaznaczono Clusters, Tylko etykiety.
Stosowanie funkcji Centroid2D
Druga tabela została dodana dla funkcji Centroid2D, która zidentyfikuje współrzędne potencjalnych lokalizacji magazynów. Ta tabela pokazuje centralną lokalizację (wartości centroidów) dla pięciu zidentyfikowanych grup dystrybutorów.
- Na arkusz przeciągana jest tabela. Nosi nazwę Cluster centroids i ma dodane następujące kolumny:
- Dodany zostaje wymiar z etykietą Clusters. Wprowadzane jest następujące wyrażenie: =pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1,'Warehouse 1','Warehouse 2','Warehouse 3','Warehouse 4','Warehouse 5')
- Zostaje dodana miara z etykietą latitude (D1). Wprowadzane jest następujące wyrażenie: =only(aggr(KMeansCentroid2D(vDistClusters,0,only(latitude),only(longitude)),id))
Zauważ, że parametr coordinate_no odpowiada pierwszemu wymiarowi dimension(0). W tym przypadku wymiar latitude jest wykreślany względem osi x. Gdybyśmy pracowali z funkcją CentroidND i było do sześciu wymiarów, te parametry mogłyby mieć dowolną z sześciu wartości: 0,1,2,3,4 lub 5. - Zostaje dodana miara z etykietą longitude (D2). Wprowadzane jest następujące wyrażenie: =only(aggr(KMeansCentroid2D(vDistClusters,1,only(latitude),only(longitude)),id))
Parametr coordinate_no w tym wyrażeniu odpowiada drugiemu wymiarowi dimension(1). Wymiar longitude jest wykreślany względem osi y.
Mapowanie centroidów
Następnym krokiem jest mapowanie centroidów. Od dewelopera aplikacji zależy, czy wizualizacja ma być umieszczona na osobnych arkuszach.
- Na arkusz zostaje przeciągnięta mapa o nazwie Centroid mapping.
- W sekcji Warstwy Wybiera się pozycję Dodaj warstwę, a następnie Warstwa punktów.
-
Wybiera się Field id i dodaje etykietę Dist ids.
-
W sekcji Lokalizacja zaznaczone jest pole wyboru Pola długości i szerokości geograficznej.
-
W przypadku Szerokości geograficznej wybrane jest pole latitude.
-
W przypadku Długości geograficznej wybrane jest pole longitude.
-
W sekcji Rozmiar i kształt jako Kształt wybrana jest wartość Bąbelek, a Rozmiar jest zmniejszany zgodnie z preferencjami na suwaku.
-
W sekcji Kolory wybrany jest Pojedynczy kolor i wartość niebieski jako Kolor, a szary jako Kolor konturu (te wybory są również kwestią preferencji).
- W sekcji Warstwy druga Warstwa punktów jest dodawana przez wybranie Dodaj warstwę, a następnie Warstwa punktów.
-
Wprowadzane jest następujące wyrażenie: =aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)
-
Zostaje dodana etykieta Clusters.
-
W sekcji Lokalizacja zaznaczone jest pole wyboru Pola długości i szerokości geograficznej.
-
W przypadku Szerokości geograficznej, która jest tu wykreślana wzdłuż osi x, dodaje się następujące wyrażenie: =aggr(KMeansCentroid2D(vDistClusters,0,only(latitude),only(longitude)),id)
-
W przypadku Długości geograficznej, która jest tu wykreślana wzdłuż osi y dodaje się następujące wyrażenie: =aggr(KMeansCentroid2D(vDistClusters,1,only(latitude),only(longitude)),id)
-
W sekcji Rozmiar i kształt jako Kształt wybierany jest Trójkąt, a Rozmiar jest zmniejszany zgodnie z preferencjami na suwaku.
-
W sekcji Kolory i legenda wybierana jest wartość Niestandardowe dla Kolorów.
-
Do kolorowania wykresu wybierana jest opcja Według wymiaru. Wprowadzane jest następujące wyrażenie: =pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1,'Cluster 1','Cluster 2','Cluster 3','Cluster 4','Cluster 5')
-
Wymiar otrzymuje etykietę Clusters.
- W Ustawieniach mapy wybierana jest wartość Adaptacyjne jako ustawienie Rzutowanie. Jako Jednostki miary wybierana jest wartość Metryczne.
Podsumowanie
Przy użyciu funkcji KMeans w tym rzeczywistym scenariuszu dystrybutorów podzielono na podobne grupy, czyli klastry na podstawie podobieństwa — w tym przypadku bliskości siebie. Do tych klastrów zastosowano funkcję Centroid, aby zidentyfikować pięć współrzędnych mapowania. Te współrzędne wskazują początkową centralną lokalizację, w której można budować lub lokalizować magazyny. Funkcja centroid jest stosowana do wykresu mapy, dzięki czemu użytkownicy aplikacji mogą wizualizować położenie centroidów względem otaczających punktów danych klastra. Wynikowe współrzędne reprezentują potencjalne lokalizacje magazynów, które mogą zminimalizować koszty dostawy do dystrybutorów w stanie Nowy Jork.
Zestaw danych Distributor: Wbudowane ładowanie dla edytora ładowania danych w 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 ];