Прогнозування CTR за допомогою машинного навчання в Python
Kevin Huo
Instructor
print(df.hour.head(1))
14102101
df['hour'] = pd.to_datetime(
df['hour'], format = '%y%m%d%H')
df['hour_of_day'] = df['hour'].dt.hour
print(df.hour.head(1))
2014-10-21 01:00:0
print(df.groupby('hour_of_day')
['click'].sum())
click
hour_of_day
1 1092
2 6546
Категоріальні ознаки потрібно перетворити на числовий формат
Хеш-функція: відображає довільне значення у ціле число й завжди повертає той самий результат для одного введення
Лямбда-функція: lambda x: f(x)
Застосуйте хеш-функцію через f(x) = hash(x) так:
df['site_id'] = df['site_id'].apply(lambda x: hash(x))
83a0ad1a -> -9161053084583616050
85f751fd-> 818242008494177460
count() та nunique():df['ad_type'].count()
50000
df['ad_type'].nunique()
31

Більше ознак — краща передбачувальна здатність
Приклад нової ознаки: покази за device_id (користувач) і search_engine_type:
df['device_id_count'] = df.groupby('device_id')['click'].transform("count")
df['search_engine_type_count'] = df.groupby('search_engine_type')['click'].transform("count")
print(df.head(1))
... device_id_count search_engine_type_count
... 40862 47710
Прогнозування CTR за допомогою машинного навчання в Python