如何利用 python 构建关联矩阵代码
时间: 2024-09-18 16:11:14 浏览: 44
在 Python 中,构建关联矩阵通常用于描述两个集合之间成员之间的相似度或关联程度。关联矩阵是一个二维数组,其中的每个元素表示对应项之间的关系强度,比如在市场篮子分析中,它可能会记录商品A和B一起被购买的概率。
以下是一个简单的例子,假设我们有一个用户购物记录的数据集,我们可以使用`pandas`库来创建关联矩阵:
```python
import pandas as pd
# 假设 data 是包含用户ID和购买的商品列表的 DataFrame
data = {'user_id': [1, 1, 2, 3, 4],
'items': ['item1', 'item2', 'item2', 'item1', 'item3']}
df = pd.DataFrame(data)
# 将物品转换为 set,并去重
unique_items = df['items'].apply(set).unique()
# 创建空的关联矩阵,形状为 (n_unique_items, n_unique_items)
assoc_matrix = pd.DataFrame(index=unique_items, columns=unique_items, data=0)
# 计算每个项目对其他项目的共现次数
for i, item_set in enumerate(df['items'].apply(set)):
for j, other_item_set in enumerate(unique_items):
if i != j:
assoc_matrix.loc[item_set, other_item_set] = len(item_set & other_item_set)
# 如果需要,可以将值标准化到[0,1]范围,例如通过除以每个行的最大值
assoc_matrix = assoc_matrix.apply(lambda row: row / row.max(), axis=1)
print(assoc_matrix)
```
在这个例子中,矩阵中的每个元素表示两个商品同时被购买的情况占比。`
阅读全文