ПочатиПочніть безкоштовно

Визначення метрики Чжана

Зазвичай, коли потрібно багаторазово виконувати одну дію, ми пишемо функцію замість того, щоб щоразу кодувати окремий випадок. У цій вправі ми визначимо функцію для метрики Чжана, яка приймає антецедент і консеквент та повертає значення метрики. У наступному розділі задачі ускладнюватимуться, тож зручний спосіб обчислення метрики суттєво спростить роботу.

Зауважте, що numpy вже імпортовано як np, а pandas — як pd. Також нагадаємо, що вираз для метрики Чжана через підтримку має вигляд:

$$Zhang(A \rightarrow B) = $$ $$\frac{Support(A \& B) - Support(A) Support(B)}{ max[Support(AB) (1-Support(A)), Support(A)(Support(B)-Support(AB))]}$$

Ця вправа є частиною курсу

Маркет-баcкет аналіз у Python

Переглянути курс

Інструкції до вправи

  • Визначте значення підтримки для антецедента і консеквента окремо.
  • Визначте підтримку {antecedent, consequent}.
  • Завершіть вирази для чисельника і знаменника.
  • Завершіть вираз для метрики Чжана.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Define a function to compute Zhang's metric
def zhang(antecedent, consequent):
	# Compute the support of each book
	supportA = antecedent.____
	supportC = consequent.____

	# Compute the support of both books
	supportAC = np.____(antecedent, consequent).____

	# Complete the expressions for the numerator and denominator
	numerator = supportAC - supportA*supportC
	denominator = ___(supportAC*(1-supportA), supportA*(supportC-supportAC))

	# Return Zhang's metric
	return numerator / denominator
Редагувати та запускати код