用函数计算 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