Ir para conteúdo principal Pular para conteúdo complementar

Otimização com o k-means: Um exemplo do mundo real

O exemplo a seguir ilustra um caso de uso do mundo real em que o agrupamento KMeans e as funções de Centroide são aplicados a um conjunto de dados. A função KMeans separa os pontos de dados em agrupamentos que compartilham semelhanças. Os agrupamentos tornam-se mais compactos e diferenciados à medida que o algoritmo KMeans é aplicado em um número configurável de iterações.

O KMeans é usado em muitos campos em uma ampla variedade de casos de uso. Alguns exemplos de casos de uso de agrupamento incluem segmentação de clientes, detecção de fraudes, previsão de atritos de conta, direcionamento de incentivos ao cliente, identificação de criminosos cibernéticos e otimização de rotas de entrega. O algoritmo de agrupamento KMeans está cada vez mais sendo usado para casos em que as empresas tentam inferir padrões e otimizar ofertas de serviços.

Qlik Sense Funções KMeans e de Centroide

O Qlik Sense fornece duas funções KMeans que agrupam pontos de dados em agrupamentos com base na semelhança. Consulte KMeans2D - função de gráfico e KMeansND - função de gráfico. A função KMeans2D aceita duas dimensões e funciona bem para visualizar os resultados por meio de um gráfico de dispersão. A função KMeansND aceita mais de duas dimensões. Como é fácil conceituar um resultado 2D em gráficos padrão, a seguinte demonstração aplicará KMeans em um gráfico de dispersão usando duas dimensões. O agrupamento KMeans pode ser visualizado por meio da aplicação de cores por expressão ou por dimensão, conforme descrito neste exemplo.

As funções de centroide do Qlik Sense determinam a posição média aritmética de todos os pontos de dados no agrupamento e identificam um ponto central, ou centroide, para esse agrupamento. Para cada linha (ou registro) do gráfico, a função de centroide exibe a coordenada do agrupamento ao qual esse ponto de dados foi atribuído. Consulte KMeansCentroid2D - função de gráfico e KMeansCentroidND - função de gráfico.

Visão geral de exemplos e casos de uso

O exemplo a seguir apresenta um cenário simulado do mundo real. Uma empresa têxtil no estado de Nova York, EUA, deve diminuir as despesas minimizando os custos de entrega. Uma maneira de fazer isso é realocar os armazéns que estão mais próximos dos seus distribuidores. A empresa emprega 118 distribuidores em todo o estado de Nova York. A demonstração a seguir simula como um gerente de operações poderia segmentar distribuidores em cinco áreas geográficas agrupadas usando a função KMeans e, em seguida, identificar cinco localizações de armazém ideais e centrais para esses agrupamentos usando a função de centroide. O objetivo é descobrir coordenadas de mapeamento que podem ser usadas para identificar cinco locais de armazém central.

O conjunto de dados

O conjunto de dados é baseado em nomes e endereços gerados aleatoriamente no estado de Nova York com coordenadas reais de latitude e longitude. O conjunto de dados contém as seguintes dez colunas: id, first_name, last_name, phone, address, city, state, zip, latitude, longitude. O conjunto de dados está disponível abaixo como um arquivo que você pode baixar localmente e, em seguida, fazer upload para o Qlik Sense ou inline no editor de carregamento de dados. O aplicativo que está sendo criado é chamado Distribuidores KMeans e centroide, e sua primeira pasta é chamada Análise de agrupamentos de distribuição.

Selecione o seguinte link para baixar o arquivo de dados de amostra: DistributorData.csv

Conjunto de dados do Distributor: Carregamento inline para o editor de carregamento de dados no Qlik Sense

Título: DistributorData

Número total de registros: 118

Aplicando a função KMeans2D

Neste exemplo, a configuração de um gráfico de diagrama de dispersão é demonstrada usando o conjunto de dados DistributorData, a função KMeans2D é aplicada, e o gráfico é colorido por dimensão.

Observe que as funções KMeans do Qlik Sense oferecem suporte para agrupamento automático usando um método chamado de diferença de profundidade (DeD). Quando um usuário define 0 para o número de agrupamentos, um número ideal de agrupamentos para esse conjunto de dados é determinado. Para esse exemplo, no entanto, uma variável é criada para o argumento num_clusters (consulte KMeans2D - função de gráfico para conhecer a sintaxe). Portanto, o número desejado de agrupamentos (k=5) é especificado por uma variável.

  1. Um gráfico de dispersão é arrastado para a pasta e nomeado Distribuidores (por dimensão).
  2. Uma variável é criada para especificar o número de agrupamentos. A variável se chama vDistClusters. Para a variável Definição, 5 é inserida.
  3. Configuração de dados para o gráfico:
    1. Em Dimensões, o campo id é selecionado para Bolha. ID do agrupamento é inserido para o Rótulo.
    2. Em Medidas, Média([latitude]) é a expressão para Eixo X.
    3. Em Medidas, Média([longitude]) é a expressão para Eixo Y.
  4. Configuração de Aparência:
    1. Em Cores e legenda, a opção Personalizado foi escolhida para Cores.
    2. A opção Por dimensão foi selecionada para colorir o gráfico.
    3. A seguinte expressão é inserida: =pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1, 'Cluster 1', 'Cluster 2', 'Cluster 3', 'Cluster 4', 'Cluster 5')
    4. A caixa de seleção para Cores persistentes está marcada.
Gráfico de dispersão antes que as cores KMeans por dimensão sejam aplicadas
Gráfico de dispersão antes de aplicar a cor KMeans por dimensão
Gráfico de dispersão depois que as cores KMeans por dimensão são aplicadas
Gráfico de dispersão após a aplicação da cor KMeans por dimensão

Adicionando uma tabelaDistribuidores

Pode ser útil ter uma tabela à mão para acesso rápido aos dados relevantes. O gráfico de dispersão mostra ids, embora uma tabela com nomes de distribuidores correspondentes seja adicionada para referência.

  1. Uma tabela chamada Distribuidores é arrastada para a pasta com as seguintes Colunas (Dimensões) adicionadas: id, first_name e last_name.

Tabela: Nomes de distribuidor

Uma tabela de referência pode ser adicionada

Adicionando um gráfico de barras: nº de observações por agrupamento

Para o cenário de distribuição de armazém, é útil saber quantos distribuidores serão atendidos por cada armazém. Portanto, é criado um gráfico de barras que mede quantos distribuidores são atribuídos a cada agrupamento.

  1. Um gráfico de barras é arrastado para a pasta. O gráfico é nomeado: nº de observações por agrupamento.
  2. Configuração de dados para o gráfico de barras:
    1. Uma Dimensão rotulada Agrupamentos é adicionada (o rótulo pode ser adicionado após a aplicação da expressão). A seguinte expressão é inserida: =pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1, 'Cluster 1', 'Cluster 2', 'Cluster 3', 'Cluster 4', 'Cluster 5')
    2. Uma Medida rotulada nº de observações é adicionada. A seguinte expressão é inserida: =count(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id))
  3. Configuração de Aparência:
    1. Em Cores e legenda, a opção Personalizado foi escolhida para Cores.
    2. A opção Por dimensão foi selecionada para colorir o gráfico.

    3. A seguinte expressão é inserida: =pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1, 'Cluster 1', 'Cluster 2', 'Cluster 3', 'Cluster 4', 'Cluster 5')
    4. A caixa de seleção para Cores persistentes está marcada.
    5. Mostrar legenda é desativado.
    6. Em Apresentação, Rótulos de valor é alternado para Auto.
    7. Em Eixo X: Agrupamentos, Apenas rótulos é selecionado.
Gráfico de barras: nº de observações por agrupamento
O gráfico de barras mostra o número de distribuidores atribuídos a cada cluster

Aplicando a função Centroid2D

É adicionada uma segunda tabela para a função Centroid2D que identificará as coordenadas para locais de armazém em potencial. Esta tabela mostra a localização central (valores de centroide) para os cinco grupos de distribuidores identificados.

  1. Uma Tabela é arrastada para a pasta e nomeada Centroides de agrupamento com as seguintes colunas adicionadas:
    1. Uma Dimensão rotulada Agrupamentos é adicionada. A seguinte expressão é inserida:=pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1,'Warehouse 1','Warehouse 2','Warehouse 3','Warehouse 4','Warehouse 5')
    2. Uma Medida rotulada latitude (D1) é adicionada. A seguinte expressão é inserida:=only(aggr(KMeansCentroid2D(vDistClusters,0,only(latitude),only(longitude)),id))
      Observe que o parâmetro coordinate_no corresponde à primeira dimensão(0). Nesse caso, a dimensão latitude é traçada em relação ao eixo x. Se estivéssemos trabalhando com a função CentroidND e houvesse até seis dimensões, essas entradas de parâmetro poderiam ser qualquer um dos seis valores: 0,1,2,3,4 ou 5.
    3. Uma Medida rotulada longitude (D2) é adicionada. A seguinte expressão é inserida:=only(aggr(KMeansCentroid2D(vDistClusters,1,only(latitude),only(longitude)),id))
      O parâmetro coordinate_no nesta expressão corresponde à segunda dimensão(1). A dimensão longitude é traçada em relação ao eixo y.

Tabela: Cálculos de centroide de agrupamento

Tabela de funções de centroide

Mapeamento de centroide

A próxima etapa é mapear os centroides. Cabe ao desenvolvedor do aplicativo decidor se ele prefere colocar a visualização em pastas separadas.

  1. Um mapa nomeado Mapeamento de centroide é arrastado para a pasta.
  2. Na seção Camadas, Adicionar camada é selecionado, depois Camada de ponto é selecionado.
    1. O Campo id é selecionado, e IDs de distribuição Rótulo é adicionado.

    2. Na seção Local, a caixa de seleção para Campos Latitude e Longitude é marcada.

    3. Para Latitude, o campo latitude é selecionado.

    4. Para Longitude, o campo longitude é selecionado.

    5. Na seção Tamanho e forma, Bolha é selecionado para Forma, e o Tamanho é diminuído no controle deslizante de preferência.

    6. Na seção Cores, Cor única é selecionado, e azul é selecionado para a Cor e cinza para a cor de Contorno (essas escolhas também são uma questão de preferência).

  3. Na seção Camadas, uma segunda Camada de ponto é adicionada selecionando Adicionar camada e depois selecionando Camada de ponto.
    1. A seguinte expressão é inserida: =aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)

    2. O Rótulo Agrupamentos é adicionado.

    3. Na seção Local, a caixa de seleção para Campos Latitude e Longitude é marcada.

    4. Para Latitude, que, nesse caso, é traçado ao longo do eixo x, a seguinte expressão é adicionada: =aggr(KMeansCentroid2D(vDistClusters,0,only(latitude),only(longitude)),id)

    5. Para Longitude, que, nesse caso, é traçado ao longo do eixo y, a seguinte expressão é adicionada: =aggr(KMeansCentroid2D(vDistClusters,1,only(latitude),only(longitude)),id)

    6. Na seção Tamanho e forma, Triângulo é selecionado para Forma, e o Tamanho é diminuído no controle deslizante de preferência.

    7. Em Cores e legenda, Personalizado foi selecionado para Cores.

    8. A opção Por dimensão foi selecionada para colorir o gráfico. A seguinte expressão é inserida: =pick(aggr(KMeans2D(vDistClusters,only(latitude),only(longitude)),id)+1,'Cluster 1','Cluster 2','Cluster 3','Cluster 4','Cluster 5')

    9. A dimensão é rotulada Agrupamentos.

  4. Em Configurações de mapa, Adaptativo é selecionado para Projeção. Métrica é selecionado para Unidades de medida.
Mapa: Centroides mapeados por agrupamento
Exibição de centroides no gráfico de mapa

Conclusão

Usando a função KMeans para este cenário do mundo real, os distribuidores foram segmentados em grupos ou agrupamentos semelhantes com base na similaridade; neste caso, proximidade um do outro A função Centroide foi aplicada a esses agrupamentos para identificar cinco coordenadas de mapeamento. Essas coordenadas fornecem uma localização central inicial para construir ou localizar depósitos. A função do centroide é aplicada ao gráfico de mapa, para que os usuários do aplicativo possam visualizar onde os centroides estão localizados em relação aos pontos de dados do agrupamento ao redor. As coordenadas resultantes representam locais de depósito em potencial que poderiam minimizar os custos de entrega para distribuidores no estado de Nova York.

Aplicativo: Exemplo de análise de KMeans e de centroide
Distribuidores de exemplo de aplicativo centroide Kmeans

 

 

Conjunto de dados do Distributor: Carregamento inline para o editor de carregamento de dados no 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
];

Saiba mais

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!