No Projeto 03 – Análise Exploratória de Dados – Mortalidade Violenta na Grande Ilha de São Luís, partimos de uma base de dados e analisamos o conjunto de dados em si, empregando a linguagem Python e a biblioteca Pandas.
Na oportunidade, foram realizadas algumas transformações no conjunto de dados, como o ajuste dos tipos de dados e o tratamento de dados ausentes. Vale ressaltar que outras transformações também poderiam ser executadas, tais como o mapeamento de dados categóricos para numéricos e a padronização dos dados. Contudo, a escolha das técnicas apropriadas deve ser pautada pelo problema a ser resolvido.
No Projeto 03, também extraímos alguns insights, utilizando as bibliotecas Matplotlib e Seaborn, fazendo uso dos gráficos de barras.
Na oportunidade, informo que o uso dos dados estão de acordo com o Art. 5º da Lei nº 13.709/2018 – LGPD. Mas por excesso de zelo, os dados foram, ainda, anonimizados (não permitindo a identificação) para poderem serem utilizados.
No Projeto 04, exploraremos um novo insight da base de dados (utilizada no Projeto 03). O objetivo é transformar os dados da planilha de forma a nos fornecer imediatamente alguma informação relevante. Para isso, optamos por utilizar uma “word cloud”, uma nuvem de palavras.
A Word Cloud ou Nuvem de Palavra é uma combinação de vários tamanhos de fonte diferentes em uma única visualização, muito utilizada utilizada para fins analíticos, onde pode ser mostrado facilmente para o usuário a frequência com que um termo se apresenta.
Biblioteca
# #importe das bibliotecas e pacotes necessários from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator #
Carregamento dos dados
# #criar uma cópia do DataFrame original df_worldcloud = pd.read_csv("/content/drive/My Drive/Colab Notebooks/dataset/dataset.csv") #
Carregado os dados, realizamos a filtragem de algumas dimensões, pois algumas informações não seriam interessantes para o tipo da visualização escolhida.
# #seleção das dimensões df_worldcloud = df_worldcloud[['Vítima', 'Sexo', 'CAUSA DA MORTE','Local', 'Município', 'Classificação']] #
Nas word clouds devemos promover a retirada de estruturas (palavras) que se repetem com grande frequência, mas que não trazem quaisquer informações adicionais à visualização, como os artigos e as preposições. Assim, definimos uma lista de stopwords para que sejam retiradas do dataset
# #Definir as stopwords stopwords = set(STOPWORDS) stopwords.update(['de', 'dos', 'da']) #
Agora vamos criar a nossa primeira versão da word cloud.
# #Criar a nuvem de palavras wordcloud = WordCloud(stopwords = stopwords, background_color='black', width=1600, height=800).generate(texto2) #criar a imagem fig, ax = plt.subplots(figsize=(16,8)) ax.imshow(wordcloud, interpolation='bilinear') ax.set_axis_off() plt.imshow(wordcloud) #
Executando o código, teremos a word cloud abaixo.
Porém, podemos ir além!
Recortando a imagem da Grande Ilha no google maps…
Tratando a imagem e aplicando um filtro para criar uma máscara de background.
# endereço LOCAL da SUA imagem import numpy as np from PIL import Image grandeilha_mask = np.array(Image.open("/content/drive/My Drive/Colab Notebooks/dataset/ilaha.png")) #Definir as stopwords stopwords = set(STOPWORDS) stopwords.update(['de', 'dos', 'da']) #Criar a nuvem de palavras wordcloud = WordCloud(stopwords = stopwords, background_color='black', width=2000, height=2000, max_words=2000, mask=grandeilha_mask, max_font_size=200, colormap='Reds' ).generate(texto2) #criar a imagem fig, ax = plt.subplots(figsize=(16,16)) ax.imshow(wordcloud, interpolation='bilinear') ax.set_axis_off() plt.imshow(wordcloud) fig.savefig('ilha_wcloud.png', format='png', dpi=300)
Temos como produto final nossa world cloud customizada.
CONCLUSÃO
Ao trabalhar com o dataset podemos perceber que ainda existem dados a serem tratados ( e isso representa praticamento 80% de todo um projeto de data science), como os valores ausentes.
Pudemos retirar insights valorosos, como aferir que:
- As armas de fogos são os instrumentos que mais causam mortes, seguidos pelas armas brancas.
- Homicídios Dolosos são o principal tipo de mortes violentas, no período.
- São Luís possui a maior quantidade de ocorrências (possui a maior população), enquanto Raposa possui as menores quantidades (município com menor população).
Outros insights podem ser tirados dos dados, bastando escolhermos o contexto.
Grande Abraço!!!