这是我的超市销售数据.csv :单据号,销售时间,商品货号,商品名称,销售单价,销售数量,销售金额 请给我一份完整代码
时间: 2025-05-21 16:40:13 浏览: 7
### 数据挖掘实验完整代码
以下是基于 PyCharm Community Edition 2022.3 和 pandas 库实现的一个完整的数据挖掘实验流程,涵盖了超市销售数据分析、购物篮分析以及 Apriori 算法的应用。
#### 安装所需工具包
在运行代码之前,请确保已安装以下 Python 包:
- `pandas`:用于数据处理。
- `mlxtend.frequent_patterns`:提供 Apriori 算法及相关功能。
可以通过以下命令安装这些依赖项:
```bash
pip install pandas mlxtend
```
#### 导入必要的模块
```python
import pandas as pd
from mlxtend.preprocessing import TransactionEncoder
from mlxtend.frequent_patterns import apriori, association_rules
```
#### 加载并预览数据
假设有一个名为 `超市销售数据.csv` 的文件存储了超市销售记录。该 CSV 文件应至少包含两列:`InvoiceNo` 表示单据号,`ItemName` 表示商品名称。
```python
# 加载数据
data = pd.read_csv('超市销售数据.csv')
# 查看数据的前几行
print(data.head())
```
#### 按单据号分组统计商品列表
将每张发票对应的商品汇总成一个列表形式。
```python
grouped = data.groupby('InvoiceNo')['ItemName'].apply(list).reset_index(name='Items')
print(grouped.head())
```
#### 过滤商品数量大于 1 的购物篮
仅保留那些购买了多个不同商品的交易记录。
```python
filtered_grouped = grouped[grouped['Items'].map(len) > 1]
print(filtered_grouped.head())
```
#### 准备 Apriori 输入格式
Apriori 需要输入的是布尔型矩阵,因此需先将其转换为适合的形式。
```python
transactions = filtered_grouped['Items'].tolist()
te = TransactionEncoder()
te_ary = te.fit(transactions).transform(transactions)
df_encoded = pd.DataFrame(te_ary, columns=te.columns_)
print(df_encoded.head())
```
#### 调用 Apriori 计算频繁项集和支持度
设置最小支持度阈值(如 0.05),找出满足条件的频繁项集。
```python
frequent_itemsets = apriori(df_encoded, min_support=0.05, use_colnames=True)
print(frequent_itemsets)
```
#### 使用关联规则计算置信度和提升度
生成关联规则,并指定评价指标及其最低阈值。
```python
rules = association_rules(frequent_itemsets, metric="lift", min_threshold=1)
rules = rules.sort_values(['confidence', 'lift'], ascending=[False, False])
print(rules[['antecedents', 'consequents', 'support', 'confidence', 'lift']].head(10))
```
以上代码实现了从原始销售数据到提取关联规则的过程[^1]。
---
### 关联规则解读说明
- **支持度 (Support)**:表示某两个或多个项目共同出现的概率。其数值越高,则表明该项组合越常见于整个数据集中。
- **置信度 (Confidence)**:衡量当某个前提事件发生时,另一个结果发生的可能性大小。较高的置信水平意味着更强的相关性。
- **提升度 (Lift)**:反映前后件之间的独立性和相互影响程度。如果 Lift 值接近 1,则两者几乎无关;若远超 1 则存在正向关系;反之则可能负相关[^3]。
---
###
阅读全文
相关推荐










