Застосування метрики Чжана
Засновниця стартапу з електронних книжок знову звернулася по консультацію. Вона надіслала вам список наборів товарів, які досліджує, і попросила визначити, чи містить хоч один із них несвязані між собою позиції. Після завершення вона просить додати використану метрику до стовпця в датафреймі rules, який уже доступний вам і наразі містить стовпці antecedents і consequents.
Набори товарів доступні як список списків під назвою itemsets. У кожному списку антецедент іде першим, а консеквент — другим. Також у вас є датафрейм books з попередніх вправ. Зауважте, що метрику Чжана вже визначено і вона доступна як zhang(). Додатково, pandas доступний як pd, а numpy — як np.
Ця вправа є частиною курсу
Маркет-баcкет аналіз у Python
Інструкції до вправи
- Пройдіться циклом по кожному набору з
itemsets. - Для кожного набору дістаньте зі
booksстовпці для антецедента та консеквента. - Завершіть обчислення метрики та додайте результат до списку
zhangs_metric. - Надрукуйте значення метрики для кожного набору.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Define an empty list for Zhang's metric
zhangs_metric = []
# Loop over lists in itemsets
for itemset in ____:
# Extract the antecedent and consequent columns
antecedent = books[itemset[0]]
consequent = ____[itemset[1]]
# Complete Zhang's metric and append it to the list
zhangs_metric.append(zhang(____, ____))
# Print results
rules['zhang'] = zhangs_metric
print(rules)