最大相关最小冗余

数据一般的形式是有维度的,每一个维度就是数据的特征变量,很多特征变量之间有相似的,也有不相似的,如果一个特征很多的数据,比如10000个,建模的时候所有的数据都利用起来,会很慢,而且模型会很复杂,会造成浪费和不实用。大相关最小冗余就是一种选特征的思想,最大相关是希望模型和选取的特征变量之间是最大相关的,有些数据的特征对于我们要解决的问题是没有关系的,所以在利用数据的时候要将相关性最大的特征挑选出来,相关性最大,也就时候得到的模型越能够解决问题。最小冗余是指,因为有可能特征之间是高度相关的,这就导致了特征变量的冗余,我们希望这种冗余最下。这两个方向都要达到,就是最大相关最小冗余的思想。最大相关的是特征变量与模型之间,最小冗余是特征变量之间。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
最大相关最小冗余(MROC)是一种在特征选择中常用到的算法。其目的是通过选择与目标变量最相关、但彼此之间冗余程度最小的特征子集,来减少特征维度并提高模型的性能。以下是使用Python实现MROC算法的简单示例代码: ```python import numpy as np def max_relevance_min_redundancy(X, y, k): n_features = X.shape[1] selected_features = [] selected_indices = [] # 计算每个特征与目标变量的相关性 relevances = np.zeros(n_features) for i in range(n_features): relevances[i] = np.corrcoef(X[:, i], y)[0, 1] # 选择相关最大的特征子集 max_relevance_index = np.argmax(relevances) selected_features.append(X[:, max_relevance_index]) selected_indices.append(max_relevance_index) # 计算已选特征之间的冗余度 redundancies = np.zeros(n_features) for i in range(1, k): for j in range(n_features): if j not in selected_indices: feature_subset = np.column_stack(selected_features + [X[:, j]]) redundancies[j] = np.corrcoef(feature_subset.T)[k-1, k-1] # 选择冗余最小的特征加入已选特征子集 min_redundancy_index = np.argmin(redundancies) selected_features.append(X[:, min_redundancy_index]) selected_indices.append(min_redundancy_index) return np.column_stack(selected_features) # 示例用法 X = [[1, 2, 3, 4], [2, 3, 4, 5], [3, 4, 5, 6], [4, 5, 6, 7]] y = [0, 1, 0, 1] k = 2 selected_features = max_relevance_min_redundancy(np.array(X), np.array(y), k) print(selected_features) ``` 这段代码实现了一个名为`max_relevance_min_redundancy`的函数,用于计算最大相关最小冗余特征子集。该函数的输入参数为特征矩阵`X`、目标变量向量`y`和选择的特征数`k`,输出为所选特征子集。 在函数内部,首先计算每个特征与目标变量的相关性,并选择相关最大的特征加入已选特征子集。然后,循环k-1次,每次计算已选特征之间的冗余度,并选择冗余最小的特征加入已选特征子集。最后,将所选特征子集合并为一个特征矩阵,并返回结果。 在示例中,特征矩阵X为一个4x4的二维数组,目标变量向量y为一个长度为4的一维数组,选择的特征数k为2。运行结果会打印出选取的特征子集。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值