开始使用免费开始使用

用函数计算 conviction

在顺利完成试点项目后,这家电子书初创公司的创始人决定聘请您负责一个更大的项目。她询问您是否能够为 goodreads-10k 数据集中的每一对图书计算 conviction,以便据此决定在网站上哪些图书应当彼此放得更近。

您同意接下这份工作,但很快意识到需要一种更高效的计算方式,因为您将多次计算该指标。您决定编写一个函数来计算它。该函数将接收一个 pandas DataFrame 的两列作为输入,一列是前件(antecedent),一列是后件(consequent),输出 conviction 指标。注意:pandas 已以 pd 提供,numpy 已以 np 提供。

本练习是课程的一部分

Python 中的购物篮分析

查看课程

练习说明

  • 计算前件的支持度,并将其赋值给 supportA
  • 计算"非后件"(NOT consequent)的支持度。
  • 计算"前件 且 非后件"的支持度。

交互式实操练习

通过完成这段示例代码来试试这个练习。

def conviction(antecedent, consequent):
	# Compute support for antecedent AND consequent
	supportAC = np.logical_and(antecedent, consequent).mean()

	# Compute support for antecedent
	supportA = ____.____()

	# Compute support for NOT consequent
	supportnC = 1.0 - ____.____()

	# Compute support for antecedent and NOT consequent
	supportAnC = ____ - supportAC

    # Return conviction
	return supportA * supportnC / supportAnC
编辑并运行代码