?? ruduction.txt
字號(hào):
一種基于粗糙集的啟發(fā)式屬性約簡(jiǎn)算法 2007-06-28 16:57:17
大 中 小
標(biāo)簽:屬性約簡(jiǎn) 粗糙集 c
原創(chuàng)dataminer@163.com, http://blog.sina.com.cn/dataminer321 轉(zhuǎn)貼請(qǐng)注明。
QQ:275869936
這是一個(gè)C++下的基于粗糙集理論的啟發(fā)式屬性約簡(jiǎn)算法,
大家看看吧
typedef struct unit
{
int a;
int b;
int c;
int d;
};
unit object[N],matrix[N][N];
object數(shù)組存儲(chǔ)對(duì)象
matrix[j]是區(qū)分矩陣的一個(gè)單元
在存儲(chǔ)空間上是比較浪費(fèi),
不過(guò)也是一個(gè)實(shí)現(xiàn)的思路
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;
}
剩下的就是如何啟發(fā)的問(wèn)題了,你可以隨機(jī)選擇一個(gè)屬性,或者基于屬性的重要性進(jìn)行啟發(fā)。只是提供一種編程思路。
這是一年前在哈工大機(jī)器學(xué)習(xí)論壇發(fā)表的帖子,今天搬家了,拿到這里充數(shù)了。
這是最初的程序,當(dāng)然了今天再看看,就有很多改進(jìn)的地方了,比如采用STL中的list、vector來(lái)保存對(duì)象域、屬性集,就是通用的一種約簡(jiǎn)算法了,可以適用于所有的離散型數(shù)據(jù)集。
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -