⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ruduction.txt

📁 这是一个C++下的基于粗糙集理论的启发式属性约简算法,你可以随机选择一个属性
💻 TXT
字号:
一种基于粗糙集的启发式属性约简算法     2007-06-28 16:57:17 
大 中 小 
标签:属性约简 粗糙集 c 
原创dataminer@163.com, http://blog.sina.com.cn/dataminer321 转贴请注明。
QQ:275869936
 
 这是一个C++下的基于粗糙集理论的启发式属性约简算法,
大家看看吧
typedef struct unit
{
         int a;
         int b;
         int c;
         int d;
};
unit object[N],matrix[N][N];
object数组存储对象
matrix[j]是区分矩阵的一个单元
在存储空间上是比较浪费,
不过也是一个实现的思路
  for(i=0;i<N;i++)
  for(j=0;j<N;j++)
  {
     matrix[j].a = -1;
     matrix[j].b = -1;
     matrix[j].c = -1;
     matrix[j].d = -1;
  
  }
   for (i=0;i<N-1;i++)
   for (j=i+1;j<N;j++)
   {
     if (object.a == object[j].a )
        matrix[j].a = 0;
     else matrix[j].a = 1;
    if (object.b == object[j].b )
       matrix[j].b = 0;
    else matrix[j].b = 1;
    if (object.c == object[j].c )
      matrix[j].c = 0 ;
    else
       matrix[j].c = 1 ;

   if (object.d == object[j].d)
       matrix[j].d = 0;
   else
       matrix[j].d = 1;
   
}
剩下的就是如何启发的问题了,你可以随机选择一个属性,或者基于属性的重要性进行启发。只是提供一种编程思路。
 

这是一年前在哈工大机器学习论坛发表的帖子,今天搬家了,拿到这里充数了。

这是最初的程序,当然了今天再看看,就有很多改进的地方了,比如采用STL中的list、vector来保存对象域、属性集,就是通用的一种约简算法了,可以适用于所有的离散型数据集。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -