如何对3D Numpy数组计算跨类别的特征重要性平均绝对值?
多维数组特征重要性的平均绝对值计算
处理多维数组时我常常感到困惑。假设有如下嵌套数组,其中每个子数组对应数据集里的一个类别(共5个类别),每个类别下包含4个样本的3个特征重要性分数。
import numpy as np arr = np.random.randn(5,4,3).round(1) arr array([[[ 0.7, -0.1, 0.6], # 类别0的特征重要性 [-0.8, -0.7, 1.4], [ 1.4, -0.1, 1.4], [-1.8, -1.2, -1.6]], [[-0.3, 2.1, 0.5], # 类别1的特征重要性 [-1.2, 1.4, -0.4], [ 0. , -1. , 0.8], [-0.8, 2.3, 0.3]], [[ 0.2, 0.6, -0.1], # 类别2的特征重要性 [-1.8, -0.2, 1.2], [-0.5, 0.5, 1. ], [ 1.3, 0.4, -2.6]], [[-1. , 0.8, -0.4], # 类别3的特征重要性 [ 1.2, 1.5, -0.5], [ 0.1, -0.5, 0.8], [ 2.5, -1.6, -0.6]], [[-1.2, 0.3, -0.9], # 类别4的特征重要性 [ 1. , -1. , -0.5], [ 0.3, 1.4, 0.5], [-2.3, 0.6, 0.2]]])
我需要计算跨所有类别的特征重要性的平均绝对值,理想结果是形状为(3,)的一维数组,以下是特征1的计算示例:
Feature1 = sum( abs(x) for x in [0.7,-0.8, 1.4, -1.8, -0.3, -1.2, 0.0, -0.8, 0.2, -1.8, -0.5, 1.3, -1.0, 1.2, 0.1, 2.5, -1.2, 1.0, 0.3, -2.3] ) / 12 # n = 12
内容的提问来源于stack exchange,提问作者Amina Umar
相关产品推荐
相关产品推荐

