Nieuwe features maken
Feature engineering omvat ook het daadwerkelijk creëren van nieuwe features. Nieuwe features maken is belangrijk, omdat het model voor de nauwkeurigheid van voorspellingen op zulke features steunt. In deze oefening kijk je naar eigenschappen van drie kolommen die als gehele getallen in de data staan, maar categorische waarden voorstellen. Deze drie kolommen zijn: search_engine_type, product_type en advertiser_type. Je maakt count-features voor deze 3 kolommen, en ook voor device_id en site_id. Deze count-features geven het aantal klikken per waarde in die kolommen weer en worden later gebruikt voor voorspellingen.
De pandas-module is als pd beschikbaar in je werkruimte en de voorbeeld-DataFrame is geladen als df.
Deze oefening maakt deel uit van de cursus
CTR voorspellen met Machine Learning in Python
Oefeninstructies
- Print het totaal aantal waarden en het aantal unieke waarden voor elke feature in de lijst
feature_list. - Maak nieuwe features van de features in
new_feature_listdoor het aantal klikken per feature te tellen met.transform().
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Get counts of total and unique values for given features
feature_list = ["search_engine_type", "product_type", "advertiser_type"]
for feature in feature_list:
print(df[feature].____)
print(df[feature].____)
# Define new features as counts
new_feature_list = ['device_id', 'site_id'] + feature_list
for new_feature in new_feature_list:
df[new_feature + '_count'] = df.____(
new_feature)['click'].____("count")
print(df.head(5))