EDA inicial

Vencendo uma competição do Kaggle em Python

Yauhen Babakhin

Kaggle Grandmaster

Objetivos da EDA

 

  • Tamanho dos dados
  • Propriedades da variável alvo
  • Propriedades das features
  • Gerar ideias de feature engineering
Vencendo uma competição do Kaggle em Python

Two sigma connect: consultas sobre anúncios de aluguel

 

Enunciado do problema
Prever a popularidade de um anúncio de aluguel

Variável alvo
interest_level

Tipo de problema
Classificação com 3 classes: 'high', 'medium' e 'low'

Métrica
Perda logarítmica multiclasse

Vencendo uma competição do Kaggle em Python

EDA. Parte I

# Tamanho dos dados
twosigma_train = pd.read_csv('twosigma_train.csv')
print('Train shape:', twosigma_train.shape)

twosigma_test = pd.read_csv('twosigma_test.csv')
print('Test shape:', twosigma_test.shape)
Train shape: (49352, 11)
Test shape: (74659, 10)
Vencendo uma competição do Kaggle em Python

EDA. Parte I

print(twosigma_train.columns.tolist())
['id', 'bathrooms', 'bedrooms', 'building_id', 'latitude', 'longitude',
'manager_id', 'price', 'interest_level']
twosigma_train.interest_level.value_counts()
low       34284
medium    11229
high       3839
Vencendo uma competição do Kaggle em Python

EDA. Parte I

# Descreva os dados de treino
twosigma_train.describe()
         bathrooms      bedrooms      latitude     longitude         price
count  49352.00000  49352.000000  49352.000000  49352.000000  4.935200e+04
mean       1.21218      1.541640     40.741545    -73.955716  3.830174e+03
std        0.50142      1.115018      0.638535      1.177912  2.206687e+04
min        0.00000      0.000000      0.000000   -118.271000  4.300000e+01
25%        1.00000      1.000000     40.728300    -73.991700  2.500000e+03
50%        1.00000      1.000000     40.751800    -73.977900  3.150000e+03
75%        1.00000      2.000000     40.774300    -73.954800  4.100000e+03
max       10.00000      8.000000     44.883500      0.000000  4.490000e+06
Vencendo uma competição do Kaggle em Python

EDA. Parte II

 

import matplotlib.pyplot as plt
plt.style.use('ggplot')
# Encontre o preço mediano por nível de interesse
prices = twosigma_train.groupby('interest_level', as_index=False)['price'].median()
Vencendo uma competição do Kaggle em Python

EDA. Parte II

# Desenhe um gráfico de barras
fig = plt.figure(figsize=(7, 5))
plt.bar(prices.interest_level, prices.price, width=0.5, alpha=0.8)

# Defina os títulos plt.xlabel('Nível de interesse') plt.ylabel('Preço mediano') plt.title('Preço mediano do anúncio por nível de interesse')
# Mostre o gráfico plt.show()
Vencendo uma competição do Kaggle em Python

preço mediano do anúncio por nível de interesse

Vencendo uma competição do Kaggle em Python

Vamos praticar!

Vencendo uma competição do Kaggle em Python

Preparing Video For Download...