EDA inițială

Câștigarea unei competiții Kaggle în Python

Yauhen Babakhin

Kaggle Grandmaster

Obiectivele EDA

 

  • Dimensiunea datelor
  • Proprietățile variabilei țintă
  • Proprietățile caracteristicilor
  • Generarea de idei pentru ingineria caracteristicilor
Câștigarea unei competiții Kaggle în Python

Two Sigma Connect: cereri pentru anunțuri de închiriere

 

Enunțul problemei
Prezicerea popularității unui anunț de închiriere a unui apartament

Variabila țintă
interest_level

Tipul problemei
Clasificare cu 3 clase: „high", „medium" și „low"

Metrică
Pierdere logaritmică multiclasă

Câștigarea unei competiții Kaggle în Python

EDA. Partea I

# Size of the data
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)
Câștigarea unei competiții Kaggle în Python

EDA. Partea 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
Câștigarea unei competiții Kaggle în Python

EDA. Partea I

# Describe the train data
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
Câștigarea unei competiții Kaggle în Python

EDA. Partea a II-a

 

import matplotlib.pyplot as plt
plt.style.use('ggplot')
# Find the median price by the interest level
prices = twosigma_train.groupby('interest_level', as_index=False)['price'].median()
Câștigarea unei competiții Kaggle în Python

EDA. Partea a II-a

# Draw a barplot
fig = plt.figure(figsize=(7, 5))
plt.bar(prices.interest_level, prices.price, width=0.5, alpha=0.8)

# Set titles plt.xlabel('Interest level') plt.ylabel('Median price') plt.title('Median listing price across interest level')
# Show the plot plt.show()
Câștigarea unei competiții Kaggle în Python

prețul median al anunțurilor în funcție de nivelul de interes

Câștigarea unei competiții Kaggle în Python

Să exersăm!

Câștigarea unei competiții Kaggle în Python

Preparing Video For Download...