当前位置: 首页 > news >正文

数据挖掘复盘——apriori

read_csv函数返回的数据类型是Dataframe类型 

对于Dataframe类型使用条件表达式 

df=df.loc[df.loc[:,0]==2]
  1. df: 这是一个DataFrame对象的变量名,表示一个二维的表格型数据结构,类似于电子表格或SQL表。

  2. df.loc[:, 0]: 这是使用DataFrame的.loc属性来进行选择操作。: 表示选择所有的行,而 , 0 表示选择所有的列中的第一列。这个操作的结果是选取了DataFrame中的第一列数据。

  3. df.loc[df.loc[:, 0] == 2]: 这一部分是将条件筛选应用于DataFrame。具体而言,它选择了第一列中等于2的行。内部的 df.loc[:, 0] == 2 是一个条件表达式,返回一个布尔型的Series,其中元素为True表示对应行的第一列等于2,False表示不等于2。

        通过在loc中嵌套条件表达式,可以实现返回布尔类型series,从而输出对应条件的数据(筛选后的)。

综合起来,整个语句的作用是从DataFrame中选择所有第一列等于2的行,然后将结果重新赋值给变量df。换句话说,它过滤了DataFrame,只保留了第一列中值为2的行。

dropna中axis=1和axis=0分别代表什么

在 Pandas 的 `dropna` 方法中,`axis` 参数用于指定操作的轴,可以是行轴(axis=0)或列轴(axis=1)。具体解释如下:axis=0:表示操作沿着行的方向进行,即删除包含缺失值的行。如果某一行中至少有一个元素是缺失值,整个行将被删除。

  df.dropna(axis=0)

axis=1:表示操作沿着列的方向进行,即删除包含缺失值的列。如果某一列中至少有一个元素是缺失值,整个列将被删除。

  df.dropna(axis=1)

使用这两个选项,你可以根据需要删除DataFrame中包含缺失值的行或列。如果不提供 `axis` 参数,默认值是 `axis=0`,即删除包含缺失值的行。

精简一下,axis=0对应行,axis=1对应列

调用apriori算法之前要使用

te = TransactionEncoder()   # 定义模型

 

转换成list of list形式

将 DataFrame 转换为 Python 列表。这样做的目的可能是为了后续的数据处理,因为一些库(比如 Apriori 算法)可能更适用于处理列表而不是 DataFrame。

df_arr=df.values.tolist()

 

 

df_tf=te.fit_transform(df_arr)
列表中的数值全部转换称为bool类型数据

 

frequent_itemsets = apriori(df,min_support=0.4,use_colnames=True)   # use_colnames=True表示使用元素名字,默认的False使用列名代表元素

使用apriori算法,设置最小置信度以及是否使用列标题。通过上述代码查找对应的频繁项集。

idx = frequent_itemsets["itemsets"].apply(lambda x: 2 in x)

创建一个索引数组,其中每个元素表示对应的项集中是否包含元素2。对于 Series 中的每个元素,这里使用了 apply 函数,其中的 lambda x: 2 in x 是一个匿名函数,表示对于每个频繁项集(表示为 x),检查元素2是否在其中。这一部分的结果是一个包含布尔值的 Series,其中 True 表示对应的频繁项集中包含元素2,而 False 表示不包含。

 

 

print(frequent_itemsets.loc[idx])

 输出包含2项的频繁项集。

http://www.lryc.cn/news/235464.html

相关文章:

  • Windows10下Maven3.9.5安装教程
  • 【开源】基于JAVA的校园失物招领管理系统
  • requests爬虫IP连接初始化问题及解决方案
  • Argo Rollouts结合Service进行Blue-Green部署
  • mongodb——原理简介,docker单机部署
  • ThinkPHP 系列漏洞
  • 系列十、你说你做过JVM调优和参数配置,请问如何盘点JVM系统的默认值?
  • Java Web——Web开发介绍
  • Vue 数据监听机制及 Vue 2.0 和 Vue 3.0 的比较
  • QT多线程项目中子线程无法修改主线程的ui组件
  • Python 如何实现备忘录设计模式?什么是备忘录设计模式?Python 备忘录设计模式示例代码
  • LangChain 代理 Agent(学习笔记)
  • 实验三 页面置换算法
  • Node.js中的Buffer和Stream
  • 3.5 Windows驱动开发:应用层与内核层内存映射
  • 【小黑送书—第八期】>>别再吐槽大学教材了,来看看这些网友强推的数学神作!
  • MatLab的下载、安装与使用(亲测有效)
  • 无人智能货柜:引领便捷购物新体验
  • 4.6 Windows驱动开发:内核遍历进程VAD结构体
  • 基于世界杯算法优化概率神经网络PNN的分类预测 - 附代码
  • NPM 与 XUI 共存!Nginx Proxy Manager 搭配 X-UI 实现 Vless+WS+TLS 教程!
  • 【网络奇遇记】那年我与计算机网络的浅相知
  • LeetCode26.删除有序数组中的重复项(双指针法)
  • 原型网络Prototypical Network的python代码逐行解释,新手小白也可学会!!-----系列8
  • 黑马点评回顾 redis实现共享session
  • Redis篇---第八篇
  • Unity使用Visual Studio Code 调试
  • 【Linux】进程替换|exec系列函数
  • Java编程技巧:将图片导出成pdf文件
  • 二项分布和泊松分布