【机器学习】【贝叶斯算法】Python实现数据预处理实战演练(以购物数据为例)

python 复制代码
import pandas as pd
from mlxtend.frequent_patterns import apriori
from mlxtend.frequent_patterns import association_rules
retail_shopping_basket = {'ID': [1, 2, 3, 4, 5, 6],
                          'Basket': [['Beer', 'Diaper', 'Pretzels', 'Chips', 'Aspirin'],
                                     ['Diaper', 'Beer', 'Chips', 'Lotion', 'Juice', 'BabyFood', 'Milk'],
                                     ['Soda', 'Chips', 'Milk'],
                                     ['Soup', 'Beer', 'Diaper', 'Milk', 'IceCream'],
                                     ['Soda', 'Coffee', 'Milk', 'Bread'],
                                     ['Beer', 'Chips']]
                          }
retail = pd.DataFrame(retail_shopping_basket)
retail = retail[['ID', 'Basket']]
pd.options.display.max_colwidth = 100
retail

日常中见到的购物数据往往是所购买的数据而不是全部数据

数据集中都是字符串组成的,需要转换成数值编码

将展示不需要的字段属性拿出来

python 复制代码
retail_id=retail.drop(columns=['Basket'])
retail_id

根据每个数据集特性找到其分割符,如该数据集中的分隔符为,

python 复制代码
retail_Basket=retail.Basket.str.join(',')
retail_Basket
python 复制代码
retail_Basket=retail_Basket.str.get_dummies(",")
###get_dummies()需要告知其分隔符    该函数主要用于进行数据处理
##列属性为所有出现的属性   出现了则该记录该属性为1
retail_Basket
python 复制代码
retail=retail_id.join(retail_Basket)##将无关项重新组合
retail

后续在选择频繁项集与确定规则时不需要其他无关属性

python 复制代码
frequent_itemsets_2=apriori(retail.drop(columns=['ID']),use_colnames=True)
##min_support默认为0.5
frequent_itemsets_2
python 复制代码
association_rules(frequent_itemsets_2,metric='lift')

lift值越大则相关性越强

相关推荐
爱思德学术6 小时前
【EI收录】第三届智能交通及智慧城市国际会议(ICITSC 2026)
人工智能·智慧城市
muxin-始终如一6 小时前
Semaphore 使用及原理详解
java·开发语言·python
水水不水啊6 小时前
通过一个域名,借助IPV6免费远程访问自己家里的设备
前端·python·算法
马踏岛国赏樱花7 小时前
低成本大模型构建-KTransformers
人工智能
nju_spy7 小时前
力扣每日一题(11.10-11.29)0-1 和 k 整除系列
python·算法·leetcode·前缀和·单调栈·最大公约数·0-1背包
MR_Colorful7 小时前
从零开始:Windows 深度学习GPU环境配置完整指南(以TensorFlow为例)
人工智能·深度学习
roman_日积跬步-终至千里7 小时前
【模式识别与机器学习(8)】主要算法与技术(下篇:高级模型与集成方法)之 元学习
学习·算法·机器学习
名扬9117 小时前
webrtc编译问题-ubuntu
开发语言·python
心无旁骛~7 小时前
openGauss 在 AI、RAG 与向量数据库时代的技术破局与生态深耕
数据库·人工智能
haing20197 小时前
Bezier曲线曲率极值的计算方法
人工智能·算法·机器学习·曲率极值