Capítulo 1.3.1

Índice

  1. 1. O que é Ciência de Dados?
  2. 2. Causalidade e Experimentos
  3. 3. Progamando em Python
  4. 4. Tipos de Dados
  5. 5. Sequências
  6. 6. Tabelas
  7. 7. Visualização
  8. 8. Funções e Tabelas
  9. 9. Aleatoriedade
  10. 10. Amostragem e Distribuições Empíricas
  11. 11. Testando Hipóteses
  12. 12. Comparando Duas Amostras
  13. 13. Estimação
  14. 14. Por que a Média é Importante
  15. 15. Previsão

Bibliotecas necessárias:

from datascience import Table
import numpy as np
path_data = '../../../'
import matplotlib
matplotlib.use('Agg')
%matplotlib inline
import matplotlib.pyplot as plots
plots.style.use('fivethirtyeight')
import warnings
warnings.simplefilter(action="ignore", category=FutureWarning)

from urllib.request import urlopen
import re
def read_url(url):
    return re.sub('\\s+', ' ', urlopen(url).read().decode())

Pré-processamento dos textos:

# Read two books, fast (again)!

huck_finn_url = 'https://www.inferentialthinking.com/data/huck_finn.txt'
huck_finn_text = read_url(huck_finn_url)
huck_finn_chapters = huck_finn_text.split('CHAPTER ')[44:]

little_women_url = 'https://www.inferentialthinking.com/data/little_women.txt'
little_women_text = read_url(little_women_url)
little_women_chapters = little_women_text.split('CHAPTER ')[1:]

 

Personagens Literários

As Aventuras de Huckleberry Finn descreve uma jornada que Huck e Jim fazem ao longo do rio Mississippi. Tom Sawyer se junta a eles no final, à medida que a ação se intensifica. Tendo carregado o texto, podemos visualizar rapidamente quantas vezes esses personagens foram mencionados em qualquer ponto do livro.

 

# Obtenha as contagens cumulativas dos nomes Jim, Tom e Huck que aparecem em cada capítulo.

counts = Table().with_columns([
'Jim', np.cumsum(np.char.count(huck_finn_chapters, 'Jim')),
'Tom', np.cumsum(np.char.count(huck_finn_chapters, 'Tom')),
'Huck', np.cumsum(np.char.count(huck_finn_chapters, 'Huck'))
])

# Trace as contagens cumulativas:
# quantas vezes no Capítulo 1, quantas vezes nos Capítulos 1 e 2 e assim por diante.

cum_counts = counts.with_column('Chapter', np.arange(1, 44, 1))
cum_counts.plot(column_for_xticks=3)
plots.title('Cumulative Number of Times Each Name Appears', y=1.08)

 

No gráfico acima, o eixo horizontal mostra os números dos capítulos e o eixo vertical mostra quantas vezes cada personagem foi mencionado até aquele capítulo inclusive.

Você pode ver que Jim é um personagem central pelo grande número de vezes que seu nome aparece. Note como Tom é mencionado apenas algumas vezes durante grande parte do livro até que ele chega e se junta a Huck e Jim, após o Capítulo 30. Sua curva e a ascensão de Jim sobem bruscamente a partir desse ponto, conforme a ação envolvendo ambos intensifica. Quanto a Huck, seu nome quase não aparece, porque ele é o narrador.

Little Women é a história de quatro irmãs que cresceram juntas durante a guerra civil. Neste livro, os números dos capítulos são escritos e os títulos dos capítulos são escritos em letras maiúsculas.

 

# Os capítulos de Pequenas Mulheres, em uma tabela

Table().with_column('Chapters', little_women_chapters)
Chapters
ONE PLAYING PILGRIMS “Christmas won’t be Christmas witho …
TWO A MERRY CHRISTMAS Jo was the first to wake in the gr …
THREE THE LAURENCE BOY “Jo! Jo! Where are you?” cried Me …
FOUR BURDENS “Oh, dear, how hard it does seem to take up …
FIVE BEING NEIGHBORLY “What in the world are you going t …
SIX BETH FINDS THE PALACE BEAUTIFUL The big house did pr …
SEVEN AMY’S VALLEY OF HUMILIATION “That boy is a perfect …
EIGHT JO MEETS APOLLYON “Girls, where are you going?” as …
NINE MEG GOES TO VANITY FAIR “I do think it was the most …
TEN THE P.C. AND P.O. As spring came on, a new set of am …
… (37 rows omitted)

 

Podemos rastrear as menções aos personagens principais para aprender sobre o enredo deste livro também. A protagonista Jo interage regularmente com suas irmãs Meg, Beth e Amy, até o capítulo 27, quando ela se muda sozinha para Nova York.

 

# Obtenha a contagem cumulativa dos nomes nos capítulos de Little Women

counts = Table().with_columns([
        'Amy', np.cumsum(np.char.count(little_women_chapters, 'Amy')),
        'Beth', np.cumsum(np.char.count(little_women_chapters, 'Beth')),
        'Jo', np.cumsum(np.char.count(little_women_chapters, 'Jo')),
        'Meg', np.cumsum(np.char.count(little_women_chapters, 'Meg')),
        'Laurie', np.cumsum(np.char.count(little_women_chapters, 'Laurie')),

    ])

# Plot the cumulative counts.

cum_counts = counts.with_column('Chapter', np.arange(1, 48, 1))
cum_counts.plot(column_for_xticks=5)
plots.title('Cumulative Number of Times Each Name Appears', y=1.08)

 

Laurie é um jovem que no final se casa com uma das meninas. Veja se consegue usar as tramas para adivinhar qual delas.

← Capítulo 1.3 – Traçando os Clássicos Capítulo 1.3.2 – Outro Tipo de Personagem →