十大经典排序算法最强总结(强烈推荐)

本文强烈推荐一篇位于 优快云 的博客文章,详细内容请访问链接:https://blog.youkuaiyun.com/hellozhxy/article/details/79911867,该文章深入探讨了信息技术领域的关键话题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import pandas as pd from mlxtend.preprocessing import TransactionEncoder from mlxtend.frequent_patterns import fpgrowth, association_rules def preprocess_data(df, columns): # 对选定列进行独热编码(one-hot encoding),以适应FP-growth算法需求 te = TransactionEncoder() # 将每行非空值转为字符串后放入集合中再进行fit_transform操作 transformed_transactions = df[columns].apply( lambda row: set([str(item) for item in row.dropna()]), axis=1).tolist() one_hot_encoded_array = te.fit(transformed_transactions).transform(transformed_transactions) return pd.DataFrame(one_hot_encoded_array, columns=te.columns_) if __name__ == "__main__": # 读取Excel文件 df = pd.read_excel('关于“朋克养生”产品的调查问卷_数据详情表_原始数据_202502190844(1).xlsx') # 定义要分析的列名列表 columns_to_analyze = [ 'Q7_您是否曾有过以下“朋克养生”行为?', 'Q8_您是否认同朋克养生是当代年轻人典型生活方式?', 'Q10_您认为进行朋克养生行为的主要外部原因是?', 'Q11_您认为进行朋克养生行为的主要心理动机是?' ] # 数据预处理 - 转换为one-hot encoded DataFrame preprocessed_df = preprocess_data(df=df, columns=columns_to_analyze) # 使用fp_growth找到所有满足最小支持度(min_support) 的频繁模式(frequent patterns) frequent_itemsets = fpgrowth(preprocessed_df, min_support=0.25, use_colnames=True) # 查找所有的频繁2项集(你可以更改此参数来获取不同大小的频繁项集) two_items_frequents = frequent_itemsets[frequent_itemsets.itemsets.apply(lambda x: len(x)) == 2] print("Frequent Two-item Sets:") print(two_items_frequents)输出如下Frequent Two-item Sets: support itemsets 5 0.256198 (焦虑缓解或心理补偿, 部分认同) 6 0.264463 (焦虑缓解或心理补偿, 工作与学习压力),,根据代码,再写一段由频繁项集产生关联规则
最新发布
03-10
### 关联规则生成及解释 在前面的步骤中,我们已经通过 FP-Growth 算法找到了满足最小支持度条件的所有频繁项集,并进一步筛选出了一些特定大小(例如二元组)的频繁项集。接下来我们将基于这些频繁项集生成关联规则。 #### 步骤说明: 1. **加载必要的库**:我们需要继续使用 `mlxtend` 库提供的 `association_rules` 函数来创建关联规则。 2. **设定阈值和其他参数**: - `min_threshold`: 最小置信度,默认可以设置为0.8或其他合适的值,这取决于业务需求。 - 其他如提升度(`lift`)等指标也可以作为过滤条件加入进来。 3. **构建并展示关联规则**: 下面将演示如何利用上述信息构造关联规则,并打印出来供分析人员解读结果。 ```python # 设置最低置信水平 (confidence threshold) minimum_confidence = 0.8 # 根据频繁项集生成关联规则 rules = association_rules(frequent_itemsets, metric="confidence", min_threshold=minimum_confidence) print("\nGenerated Association Rules with Confidence >= ", minimum_confidence) print(rules[['antecedents', 'consequents', 'support', 'confidence']]) # 如果需要按 lift 排序查看最强相关的规则,则添加排序部分 sorted_rules_by_lift = rules.sort_values(by=['lift'], ascending=False) print("\nTop 5 Strongest Related Rules based on Lift:") print(sorted_rules_by_lift.head(5)[['antecedents', 'consequents', 'support', 'confidence', 'lift']]) ``` 此段代码会先输出所有达到指定置信度门槛以上的关联规则;然后按照提升度从高到低排列前五条最强烈的关联规则,帮助理解哪些因素之间存在较强的相关性。 以上就是从频繁项集中提取有价值的商业洞察的过程概述及其Python实现方法。希望这对您的数据分析有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值