基于pandas的粗糙集依赖度约简算法思路及实现

对于粗糙集的算法这里不再过多赘述,主要讲解下实现思路和张贴代码。实验是根据山东大学学报的基于粗糙集的协同过滤算法研究进行复现。首先使用DataFrame读取Movielens的数据集 这里的决策系统及决策表的建立是将用户当作样本,项目当成属性,决策属性为用户的划分。 选择一个条件子集C,同时建立子集B⊆C,条件a∈C-B。 使用子集C对样本进行划分并求出下近似集。使用子集B对样本进行划分求出另一下近似集。 依据计算公式求出依赖度,并删除符合约简条件的属性a。 重复4、5步骤直到遍.
摘要由CSDN通过智能技术生成

对于粗糙集的算法这里不再过多赘述,主要讲解下实现思路和张贴代码。

 

实验是根据山东大学学报的基于粗糙集的协同过滤算法研究进行复现。

约简前后的对比放在下面这个链接里面,同时还有一个spyder保存下来的变量缓存。

链接:https://pan.baidu.com/s/1dCqh0sTY-qWwA3BU9eBCZQ 
提取码:oy8e

  1. 首先使用DataFrame读取Movielens的数据集
  2. 这里的决策系统及决策表的建立是将用户当作样本,项目当成属性,决策属性为用户的划分。
  3. 选择一个条件子集C,同时建立子集B⊆C,条件a∈C-B。
  4. 使用子集C对样本进行划分并求出下近似集。使用子集B对样本进行划分求出另一下近似集。
  5. 依据计算公式求出依赖度,并删除符合约简条件的属性a。
  6. 重复4、5步骤直到遍历完所有项目。

以上是算法的核心逻辑块,但是这里存在一个遍历的问题,即可能会存在约简的片面性和不完整性,对于不同的子集属性a的依赖度是不相同的,但算法会在其中一个确定不需要属性a的过程将其删除。

在划分和寻找下近似过程中建议参考不同的约简算法,我为了图省事直接进行循

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值