算法思想源自论文:
段洁、胡清华、张灵均,等. 基于邻域粗糙集的多标记分类特征选择算法 [J]. 计算机研究与发展,2015,52(1):56-65
因为没找到Python源代码,所以自己试着写了一下,结果是对应上的。
代码分享在这里,需要的自取
"""
Author: wzk
Date: 2020-10-11
theme: 多标记邻域粗糙集特征选择算法
"""
from settings.setting import *
class ARMLNRS:
"""
基于邻域粗糙集的多标签特征选择
可以用欧式距离处理连续类型的数据集
1、输入数据集,训练集
2、双重for循环,二重循环下,计算当前属性依赖度
3、前向贪心搜索
"""
def __init__(self, train_data, train_target, test_data, test_target, delta, info):
"""
初始化对象参数
:param train_data: 训练集数据
:param train_target: 训练集标签
:param test_data: 测试集数据
:param test_target: 测试集标签
:param delta: δ邻域的值,
:param info: Config项中的配置,实验结果记录会用到这个
"""
self.train_data = train_data
self.train_target = train_target
self.test_data = test_data
self.test_target = test_target
self.info = info
self.delta = delta
pass
def compute_corr(self, i, j, tmp_train_data):
"""
计算相关性
:param i: 循环第i次
:param j: 当前特征
:param tmp_train_data: 临时数据
:return:
"""
if i ==