Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

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.

  1. Wykres punktowy zostaje przeciągnięty na arkusz i nazwany Distributors (by dimension).
  2. Tworzona jest zmienna do określenia liczby klastrów. Zmienna nosi nazwę vDistClusters. Dla zmiennej Definition wprowadza się 5.
  3. Konfiguracja Danych dla wykresu:
    1. Pod obszarem Wymiary pole id jest wybierane jako wartość Bąbelek. Cluster id wprowadza się jako wartość Etykieta.
    2. W sekcji Miary, Avg([latitude]) jest wyrażeniem dla osi X.
    3. W sekcji Miary, Avg([longitude]) jest wyrażeniem dla osi Y.
  4. Konfiguracja Wyglądu:
    1. W sekcji Kolory i legenda wybierana jest wartość Niestandardowe dla Kolorów.
    2. Do kolorowania wykresu wybierana jest opcja Według wymiaru.
    3. 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')
    4. Pole wyboru dla Trwałe kolory jest zaznaczone.
Wykres punktowy przed zastosowaniem kolorowania KMeans według wymiaru
Wykres punktowy przed zastosowaniem kolorowania KMeans według wymiaru
Wykres punktowy po zastosowaniu kolorowania KMeans według wymiaru
Wykres punktowy po zastosowaniu kolorowania KMeans według wymiaru

Dodawanie tabeliDistributors

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.

  1. Tabela o nazwie Distributors jest przeciągana na arkusz z następującymi dodanymi kolumnami (wymiarami): id, first_name, i last_name.

Tabela: Distributor names

Można dodać tabelę referencyjną

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.

  1. Wykres słupkowy jest przeciągany na arkusz. Wykres nosi nazwę: # observations per cluster.
  2. Konfiguracja Danych do wykresu słupkowego:
    1. 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')
    2. Dodana zostaje miara z etykietą # of observations. Wprowadzane jest następujące wyrażenie: =count(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id))
  3. Konfiguracja Wyglądu:
    1. W sekcji Kolory i legenda wybierana jest wartość Niestandardowe dla Kolorów.
    2. Do kolorowania wykresu wybierana jest opcja Według wymiaru.

    3. 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')
    4. Pole wyboru dla Trwałe kolory jest zaznaczone.
    5. Ustawienie Pokaż legendę jest wyłączone.
    6. W obszarze Prezentacja ustawienie Etykiety wartości ma wartość Autom.
    7. Pod Osią X: zaznaczono Clusters, Tylko etykiety.
Wykres słupkowy: # observations per cluster
Wykres słupkowy pokazuje liczbę dystrybutorów przypisanych do każdego klastra

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.

  1. Na arkusz przeciągana jest tabela. Nosi nazwę Cluster centroids i ma dodane następujące kolumny:
    1. 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')
    2. 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.
    3. 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.

Tabela: Cluster centroid calculations

Tabela funkcji Centroid

Mapowanie centroidów

Następnym krokiem jest mapowanie centroidów. Od dewelopera aplikacji zależy, czy wizualizacja ma być umieszczona na osobnych arkuszach.

  1. Na arkusz zostaje przeciągnięta mapa o nazwie Centroid mapping.
  2. W sekcji Warstwy Wybiera się pozycję Dodaj warstwę, a następnie Warstwa punktów.
    1. Wybiera się Field id i dodaje etykietę Dist ids.

    2. W sekcji Lokalizacja zaznaczone jest pole wyboru Pola długości i szerokości geograficznej.

    3. W przypadku Szerokości geograficznej wybrane jest pole latitude.

    4. W przypadku Długości geograficznej wybrane jest pole longitude.

    5. W sekcji Rozmiar i kształt jako Kształt wybrana jest wartość Bąbelek, a Rozmiar jest zmniejszany zgodnie z preferencjami na suwaku.

    6. W sekcji Kolory wybrany jest Pojedynczy kolor i wartość niebieski jako Kolor, a szary jako Kolor konturu (te wybory są również kwestią preferencji).

  3. W sekcji Warstwy druga Warstwa punktów jest dodawana przez wybranie Dodaj warstwę, a następnie Warstwa punktów.
    1. Wprowadzane jest następujące wyrażenie: =aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)

    2. Zostaje dodana etykieta Clusters.

    3. W sekcji Lokalizacja zaznaczone jest pole wyboru Pola długości i szerokości geograficznej.

    4. 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)

    5. 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)

    6. W sekcji Rozmiar i kształt jako Kształt wybierany jest Trójkąt, a Rozmiar jest zmniejszany zgodnie z preferencjami na suwaku.

    7. W sekcji Kolory i legenda wybierana jest wartość Niestandardowe dla Kolorów.

    8. 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')

    9. Wymiar otrzymuje etykietę Clusters.

  4. W Ustawieniach mapy wybierana jest wartość Adaptacyjne jako ustawienie Rzutowanie. Jako Jednostki miary wybierana jest wartość Metryczne.
Mapa: Centroidy mapowane według klastrów
Centroidy wyświetlane na wykresie mapy

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.

Aplikacja: Przykład analizy z wykorzystaniem funkcji KMeans i centroid
Przykład aplikacji wykorzystującej funkcje Centroid i Kmeans — Distributors

 

 

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
];
POWIĄZANE MATERIAŁY EDUKACYJNE:

Dowiedz się więcej

Czy ta strona była pomocna?

Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!