Drop #1 – “Pra que tanta subway?”

Subwaylogo

Aposto que se você é recifense, e conhece a SUBWAY(logo acima), possivelmente você já se perguntou o porque de tanta subway em uma cidade só, parece uma infestação do mesmo negócio por todo o lugar.

Boa noite, é pessoal, eu tô tentando agregar novos dados as minhas análises e acho que um das principais fonte de dados é o Google Maps da google e #PQP, na minha cidade existem em torno de 35 SUBWAYS!….enfim, para ilustrar o que tentei fazer hoje, segue o print da realidade:

subways

Mas vamos prestar um pouco mais de atenção aos detalhes, analisando mais profundamento conseguimos perceber algumas coisas, por exemplo, as subways não são tão bem distribuidas assim…das 30 subways, 23 se encontro das áreas comerciais da zona norte/centro, 5 na Zona Sul (Boa Viagem/Setúbal) e 3 se encontram em bairros com menor poder aquisitivo, como  Areias e Imbiribeira, só presta atenção:

subwayscluster

(clique na imagem para expandir)

Uma das coisas mais interessantes dentro desse mapa é que existem clusters(aglomerações) ainda menores e mais densos do que os apresentados acima, deem uma olhada nesta configuração da Conde da Boa Vista…

subwaysCondeDaBoaVista(clique na imagem para expandir)

Aquela análise rapidinha…

Percebam que neste quadrado existem 4 subways em menos de 1km de distância entre si! Ok, temos todos aqueles pontos comerciais e importantes da sociedade recifense (como Universidades (Faculdade de Direito do Recife, por exemplo), Pontos Turísticos (Parque 13 de maio), e a maior área comercial da cidade (a cde. da boa vista). Mas a falta de planejamento é enorme!, imagine que em uma avenida com mais de 3km de extensão, colocaram 4 subways em torno de uma área de menos de 2km², me intriga entender tamanha proximidade.  Um objetivo: entrevistar os donos desses negócios e entender seu planejamento, se algum leitor conhecer um contato, agradeço.

Partindo para outra zona residencial que vale a pena dar uma olhada e acumula 23 das subways da cidade, a Zona Norte…eles também possui um grupo de subways que se você colocar o pé fora de uma, o outro já está dentro da 2º…subwaysZonaNorte

OK, dando aquela analisada, eu consigo entender as decisões que levaram à construção da subway 1, 2, 4 e 5, mas as subways 3 e 6 simplesmente me deixam curioso para saber o porque delas existirem (melhor, como continuam existindo e sendo lucrativas.), tendo em vista que conheço pouco da movimentação da área em que estão instaladas, vale a pena olhar e entender o porque da 3 ter escolhido a josé bonifácio como endereço. E o que leva a subway 6 e 5 estarem tão próximas? que demanda levou a subway 6 ser criada? (supondo que ela foi criada após a 5?) Que variáveis tornaram a 6 e a 5 viáveis? , enfim, estas foram algumas perguntas que surgiram na minha cabeça.

Espero que tenham gostado do post e não tenham se incomodado com minha falta de habilidade no Paint(hehehe), foi bem interessante procurar sobre algo que eu também tinha muito curiosidade, quem tiver dados interessantes e queira me dar a oportunidade de análisa-los, mande um e-mail para felipe.bormann@gmail.com .

DS – Day #2: 4 coisas que descobri sobre as empresas do Brasil

Lembre-se que esta série de textos é toda baseada nos dados encontrados no site consumidor.gov.br, do governo federal, e aqui segue uma lista de 10 coisas que descobri sobre as 103.742 reclamações que analisei:

  1. A empresa que mais Suspende ou desliga indevidamente os serviços dos seus usuários é a “Vivo- Telefônica” com 388 reclamações, em seguida, a “SKY’ com 281 reclamações.
    1. Snippet: problemas = finaldataset.groupby(“Problema”)
      problemas.get_group(“Suspensão ou desligamento indevido do serviço”)
      dados = Counter(problemas.get_group(“Suspensão ou desligamento indevido do serviço”)[“Nome Fantasia”]
  2. Top 10 Cidades em reclamações, podemos perceber que a maioria se encontra no SE (Sudeste) mas entre todas as cidades que compõe este Top 10, uma chamou meu interesse: Barreiras. Uma cidade do interior, com uma população de em torno de 150 mil pessoas[1] e que teoricamente possui um nível de educação inferior(?) ao das capitais, possui uma quantidade de reclamações superior do que algumas capitais (Recife, por exemplo, considerada o Silicon Valley Brasileiro.)
    1. Mapa - Top 10 Cidades
  3. And the winner is….Telecomunicações! Sim, com quase 50% (
    49544 ) das reclamações a área de Telecomunicações é a campeã, seguida do setor financeiro(19429) e fechando o Top 3 "Produtos de Telefonia e Informática"(11002), nenhuma surpresa forte neste top 3, mas foi interessante ver a discrepância de 30.115 reclamações entre o 1º e 2º colocado.
  4. Se você mora no Sudeste, possuir uma idade entre 31 e 40 anos,  contratou seu serviço pela internet e está reclamando de ”
    Oferta não cumprida / serviço não fornecido/ venda enganosa / publicidade enganosa", provavelmente você não terá seu problema resolvido....
    1. Snippet: resolvidos = finaldataset.groupby(“Avaliação Reclamação”)
      resolvidos.describe()
      naoresolvidos = resolvidos.get_group(“Não Resolvida”)
      Counter(naoresolvidos[“Problema”]).most_common(5)
      Counter(naoresolvidos[“Como Comprou Contratou”]).most_common(5)
      Counter(naoresolvidos[“Faixa Etária”]).most_common(5)
      Counter(naoresolvidos[“Região”])

E é isto ai pessoal, não pude trabalhar tanto no dataset hoje mas consegui olhar um pouco mais à fundo a relação entre as variáveis, principalmente aquelas que acho de extrema relevância como “Problema”, “Situação” e “Nota do Consumidor”, espero que tenha gostado do Top 4 do dia!.

Referências

[1] https://pt.wikipedia.org/wiki/Lista_de_munic%C3%ADpios_da_Bahia_por_popula%C3%A7%C3%A3o

DS – Day #1: Será que Python presta mesmo?

Então…por enquanto, eu não posso me introduzir como um cientista de dados, consegui apenas 68% de AUC(área sob a curva ROC) em um problema de predição sobre internação de diabéticos mas estou tentando me tornar um!, para aumentar meus horizontes em programação e em análise de dados, resolvi estudar Python.

Primeiro, procurei por bons recursos, principalmente no site Quora, que por sinal possui uma das melhores comunidades de data science por ai, e ao pesquisar sobre, achei o livro “Python for Data Analysis”, que me pareceu muito bom e agora o estou utilizando para aprender.

“First things, First”!

Como eu não sei quase nada de Python ainda, procurei sobre como fazer um bom projeto e me indicaram o IPython, minha recomendação? O instale usando Anaconda, é uma forma bem simples de instalar e possui ótimos tutoriais e possui as principais bibliotecas que usarei neste post: MatplotLib e Pandas(e suas dependências, como Numpy, por exemplo).

Dataset!

O dataset que escolhi para análise foi o dataset disponibilizado pelo site consumidor.gov.br, que você pode baixar em:http://dados.gov.br/dataset/reclamacoes-do-consumidor-gov-br , que é a fonte oficial de dados do governo federal, contudo, ela está desatualizada, você pode encontrar alguns meses a mais no site do próprio consumidor.gov:https://www.consumidor.gov.br/pages/dadosabertos/externo/ .

O primeiro desafio que encontrei foi colocar os dados em algum objeto, o método de leitura “read_csv” parece ter um certo problema com formatos latinos, mas nada que a adição de um parâmetro “enconding= ‘latin-1’ ” não resolvesse, mesmo assim, foi um pouco chato comparado com outra ferramenta que utilizo, o R.

Explicando um pouco o processo da reclamação do Consumidor.gov: O consumidor registra uma reclamação com uma das empresas cadastradas contendo qual o tipo de problema, o que ele quer que a empresa faça, pode anexar arquivos sobre a situação, e a empresa tem em torno de 15 dias para atender o usuário, após isto, o usuário modifica ou não os status da reclamação(p/ “Resolvida”, “Não Resolvida”) e dá uma nota para o atendimento da empresa.

Segue um histograma da situação de junho de 2015, que foi o dataset que utilizei para aprender mais sobre como o site funciona, para mostrar como esta amostra avaliou as empresas:

Histograma das Notas

Percebe-se que boa parte dos usuários reagiu de forma bem binária, bem mais de 50% dos usuários deu 1 ou 5 como nota ao atendimento da empresa. Este gráfico foi bem tranquilo de fazer utilizando Python, contudo, tive de utilizar a classe chamada Counter para converter os números de String para Float, sendo que este erro foi ocasionado por eu não saber utilizar a classe DataFrame do Pandas que já os converte de forma automática.

Mas eu gostaria de agregar mais valor à esta discussão e apareceu uma ótima feature do Panda, o método groupby, sério, isto facilita e muito a vida, além do Pandas ser um dos principais packages, ele é bem completo, o que diminui o trabalho já que não preciso procurar por packages específicos para problemas simples. Este método conseguiu agrupar para mim todas as reclamações em cinco clusters correspondentes à cada nota, e eu pesquisei qual empresa possuia a maior quantidade daquela nota:

result = dataset.groupby('Nota do Consumidor')
print(result["Nome Fantasia"].describe())
Nota do Consumidor|| Variáveis ||        Valores        
1                   count                   2840
                    unique                   134
                    top                  Oi Fixo
                    freq                     306
2                   count                    650
                    unique                    72
                    top                  Oi Fixo
                    freq                      83
3                   count                   1205
                    unique                   100
                    top       Vivo - Telefônica 
                    freq                     192
4                   count                   1469
                    unique                   104
                    top       Vivo - Telefônica 
                    freq                     248
5                   count                   3051
                    unique                   127
                    top       Vivo - Telefônica 
                    freq                     513

Como você pode ver , o campeão de votos positivos é ” Vivo – Telefônica ” e o título de pior ficou com a ” Oi Fixo ” (como eu percebi no meu post anterior https://medium.com/@felipebormann/quem- os- brasileiros -n % C3% A3o – Gostam – 520a8e589b26 ) .

Veredito

Entre outras coisas, Python provou ser uma ferramente bem interessante e sua curva de aprendizado muito simples, e que possui uma grande gama de tutoriais na internet, o que facilitou e muito o aprendizado comparado com o R. Além de possuir o IPython, que sinceramente, é bom pra caramba, a capacidade de salvar todos os meus comandos de uma forma visivelmente agradável é algo fantástico!, o Python vale sim um pouco do seu tempo para tentar.
Concluindo o episódio de hoje: acho que agora é um bom momento para explorar mais os dados e tentar coisas novas , vejo vocês no próximo post. Espero que tenham gostado da minha breve análise e minha pobre habilidade em Python haha , espero me tornar melhor utilizando ele com o tempo, neste momento, ainda estou tentando me acostumar com o IPython, mas esperem pra ver, haverá o tempo em que eu vou ser reconhecido como parte dos 5 melhores cientistas de Dados do Brasil o/!.

DataScience – Episódio 8 – TUDO PRONTO #SQN

Agora vai!, o projeto está andando com tudo (ou quando o vento sopra hehe) mas o projeto de mineração do qual faço parte na cadeira de “Sistemas de Suporte à Decisão e Mineração de Dados” está ficando bem legal e com um foco interessante, o mais legal são as decisões que conseguimos ter a partir dos dados do especialista ( graças ao Raul, integrante do grupo e que fez iniciação científica no Centro de Ciências Biológicas e ajudou bastante nas tomadas de decisões).

Mas vamos a parte interessante: finalmente começamos o esboço do artigo!, contudo, um integrante do time não conseguiu reportar suas atividades a tempo, ele estava responsável pelos gráficos e estatísticas do dataset, então perdemos um pouco de qualidade na entrega, que era composta de abstract, introdução e a pré-análise dos dados.

Porém o desafio da semana está neste tipo de variável categórica: uma categórica rankeada. Basicamente ela categoriza a variação do uso de uma substância entre 4 categorias: “Aumentou”, “manteve-se”, “diminuiu”, “não é usada”, como transformar tais valores em números de forma à haver ganho de informação? Esta é a pergunta machucando minha cabeça, se alguém tiver alguma ideia sobre como responder esta pergunta de forma satisfatória, estou agradecendo haha.

Uma das coisas interessantes que eu espero conseguir postar no blog será a série “#ResenhaDoDia” que trará estatísticas legais sobre assuntos às vezes sérios e outras vezes totalmente banais e eu discutirei a forma de pré-processamento dos tipos de variáveis envolvidas.

 

 

DataScience – Episódio 7 – Como coletar o que quero?

Então você tem um problema e quer procurar dados onde talvez estes problemas sejam resolvidos? (Ex:”Como classificar um mal motorista” // Dados do CTTU) contudo, nem sempre os dados são de fácil acesso, até mesmo se utilizarmos o primeiro item da lista de lugares para procurar:

GOOGLE

O google é uma das fontes mais simples de dados existentes, isto é fato. Contudo, achar algumas fontes de dados pode ser extremamente complicado e difícil pois estamos recebendo os resultados de uma máquina que nem sempre interpreta da melhor forma o que você quer.

Quora

Além de possuir a interação entre os usuários, o Quora permite que você faça questões mais elaboradas e específicas do que aquelas que você faria no pequeno campo de texto do Google, por exemplo, além de existir muitos colaboradores(Data scientists) de grandes empresas como Facebook, Linkedin dentro do Quora.

Estes posts serão  atualizados semanalmente , assim espero, desculpem a falta de notícias , infelizmente minha negociação para conseguir dados da prefeitura do Recife referentes aos dados do SINAN (Sistemas de Agravos e Notificações) não funcionou e não consegui os dados internos.

 

Aprendendo Data Science – Episódio 6 – onde achar aquilo que procuro?

Google. Esta é a ferramenta número 1 de um bom pesquisador hoje em dia, é inegável o quanto de informação está contida dentro desta ferramenta. Mas não acho que você está aqui para pesquisar “Gatos tocando piano” , certo? O nosso foco estão em dados que (talvez) possamos extrair algum conhecimento. E neste post irei mostrar pra vocês algumas fontes de dados públicos que podemos utilizar para aprimorar nossas técnicas.

dados.gov.br

Então, o que é o dados.gov.br? Nas próprias palavras do portal: “O Portal Brasileiro de Dados Abertos é a ferramenta disponibilizada pelo governo para que todos possam encontrar e utilizar os dados e as informações públicas. O portal preza pela simplicidade e organização para que você possa encontrar facilmente os dados e informações que precisa. O portal também tem o objetivo de promover a interlocução entre atores da sociedade e com o governo para pensar a melhor utilização dos dados em prol de uma sociedade melhor.”

Nereus

Este site possui uma lista bem interessante de fontes de dados públicos e sumariza bem o que quero abranger neste post.

E por último, este link, para aqueles que gostam de ir way beyond:

https://www.opensciencedatacloud.org/publicdata/

Adoraria ouvir a contribuição de vocês para conhecer novas fontes de dados.

Eu ainda estou esperando os dados do SINAN para prosseguir com meu projeto, e tenho um prazo de uma semana e meia para realizar um plano B caso os dados não cheguem antes disso, me desejem sorte pessoal, que a situação está complicada. Abraços à todos.

 

Aprendendo Data Science – Episódio 5 – Os 3 passos básicos para definir um problema binário

Alguma vez você já parou para pensar quais os problemas que existem em um determinado domínio(saúde, educação, segurança, financeiro)? Se você já parou para pensar em algum problema, possivelmente você já parou para pensar se aquilo que você propos de fato é um problema que atende algumas destas características:

1. É relevante?

Se o seu problema somente interessa à um grupo pequeno de pessoas( sua família, você , seus amigos próximos), muito provavelmente seu problema é irrelevante cientificamente, o que não agrega valor algum ao seu trabalho, logo, existem alguns questionamentos que podem levar a uma maior clareza sobre a relevância do seu projeto e são bem “senso-comum”:

– Este problema já foi abordado em algum artigo científico?

– A mesma área possui problemas distintos mas que você possa utilizar uma abordagem semelhante?( ex: Classificar se existe um surto de tuberculose em determinada região através da mineração da timeline do Twitter

– O problema está em alta nas discussões da grande massa e ainda não existe projetos divulgados?

– Quem isto ajudará? (lembre-se que somos um “projeto meio” , estamos aqui para mostrar caminhos e ajudar na tomada de decisões).

2 . É atingível?

Ok, no caso das pessoas que cursam uma cadeira na sua Universidade de mineração , isto é, de fato, um problema relevante tendo em vista que temos pouco tempo para conseguir uma base de dados e ler sobre, aprender o que cada variável representa, etc. Contudo, novamente, o conhecimento da literatura do problema ajuda a entender melhor o domínio e esclarecer o que é atingível e se os dados conseguem nos contar alguma coisa, além do fato que, se você pesquisar por novas bases , você poderá agregar novos dados à sua base inicial.

3 . É Binário?

Definir um problema Binário é extremamente complicado e parece ser um desafio presente em todos que estão à aprender o que é mineração (eu mesmo pensei que um “descriptive analyses” era mineração! which is not!), então, mesmo que seu sistema faça o Jiraya das predições, se você propôs resolver um problema binário, que ele pelo menos seja Binário!

Exemplos : “Houve uma acidente em uma via , e existem dois tipos de ambulâncias, uma para acidente graves e outra para acidentes não-graves, eu devo ajudar na decisão sobre qual ambulância levar, então o meu sistema avalia: o acidente é grave ou não é?”.

 

Espero que vocês tenham pensado um pouco sobre o processo de encontrar um problema e caso exista alguma crítica, correção ou elogio ao texto, agradeço o feedback. Abraços!

Learning Data Science – Episode 2 – Addressing a problem

Hey guys, as I said on the last post “What Am I Trying?” , I’m trying to become a data scientist, but I need DATA for it, so I was looking as crazy for good datasets around to see If I could some a health problem or research something about it. I’m trying to look at papers from around the word such as this one : http://ac.els-cdn.com/S1532046415000362/1-s2.0-S1532046415000362-main.pdf?_tid=02c3a27e-dad0-11e4-93bc-00000aab0f27&acdnat=1428154946_0fd4965497770bd1aeaa62c0dca87e2a

But it’s rather difficult to find appropriate data here in Brazil to support my objectives ( but I won’t give up too soon ) , indeed, I’m looking for some instituitons and their research to ask if they can provide me something, I can’t tell anything about it now. The problem is, I don’t know which kind of problem to address, which to me, seems way harder than I thought it would be. But I think it’s great to find those challenges soon because I can understand better what is coming next anyways.

Another thing is: If you address a problem, then you have to look for data to support it, and that’s always come in an usual way. I’m thinking about using social media data to gather information (using Text Mining) , maybe I can make? Who knows? I’m just looking for help everywhere I can to learn more about health problems that face my society and try to apply data mining to solve something.

Maybe I am at the right way?

 

 

Aprendendo Data Science – episódio 4 – DATASETS, DATASETS!

Saber onde começar é uma das partes mais difíceis em qualquer processo, especialmente os criativos, então tive um grande problema quando achei a área de mineração de dados e quis estudar sobre ela. Tive a sorte de estudar no CIn – Centro de Informática, aqui na UFPE, e encontrei uma cadeira chamada “Mineração de Dados” ministrada pelo professor Jorge Paulo Adeodato.

E estou decidido à trabalhar com data mining voltado para saúde ou atividade física, infelizmente minha primeira tentativa não foi tão bem sucedida, achei que conseguiria indiciar onde “seria o melhor bairro para colocar uma academia da cidade” , contudo, o grão “Bairro” possui poucas unidades (utilizando a base de academia da cidade ,e os dados do samu),   então não possui significância estatística para mineração. Mas segundo o professor posso escolher datasets estrangeiros e propor problemas relevantes que eles abordaram e abordar aqui no Brasil de uma forma diferente( um copy-cat), veremos o que sai.  Mas com esta pesquisa achei bons datasets como:

https://catalog.data.gov/dataset (Dados do governo americano,simplesmente 124k+ DATASETS!!!)

http://datahub.io/dataset ( um GitHub somente para datasets? sort of, tem muito missing dataset mas parece ser um projeto promissor.)

http://www.nlm.nih.gov/hsrinfo/datasites.html#524Federal (Um Index de datasets sobre saúde, pode ser interessante pesquisar sobre)

E finalmente, alguns bons artigos que achei:

http://journals.plos.org/plosntds/article?id=10.1371/journal.pntd.0001258

http://www.cs.jhu.edu/~mdredze/publications/twitter_health_icwsm_11.pdf

Ambos utilizam data mining em análise de SMN(Social Media Networks) para prever surtos de doença, espero que vocês curtam as aplicações de IA.

Espero vocês que curtam as novidades deste post, abraços.

Learning Data Science – Episode 1 – What am I trying?

So, here is my new(and first one) series “learning data science” and it’s all about me, felipe bormann, an undergraduate student on his first year of University, trying to learn a new field which no ones has interest on it (in my University, if it wasn’t relevant nowadays I wouldn’t even hear about it in the first place).

So, I’m doing a course in my University called “Support Decision Systems and Data Mining” (Free translation) and I’ll tell you all the challenges I face through it. And I’m inviting you, from a proper/or not data scientist to a high school student interested on the topic, to help me out with resources or learn form the ones I post here.

I’d appreciate if I could find someone to cooperate on this learning proccess, I hope you find my resources and stuff really useful.

And the first one is: visit http://www.kdnuggets.com , see you all.