V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
ALLROBOT
V2EX  ›  程序员

请教特征提取的一些函数,有些地方不太明白

  •  
  •   ALLROBOT · 2022-04-06 22:25:10 +08:00 · 609 次点击
    这是一个创建于 988 天前的主题,其中的信息可能已经有所发展或是发生改变。
    import numpy as np
    
    
    # 均方根
    def featureRMS(data):
        return np.sqrt(np.mean(data ** 2, axis=0))
    
    
    # 取绝对值求各列均值
    def featureMAV(data):
        return np.mean(np.abs(data), axis=0)
    
    # 求离散的差值,按列的后尾元素向上面的元素进行求差,然后取绝对值再求所有矩阵同一元素位置的和,最后除以矩阵个数
    def featureWL(data):
        return np.sum(np.abs(np.diff(data, axis=0)), axis=0) / data.shape[0]
    
    #
    def featureZC(data, threshold=10e-7):
        numOfZC = []
        channel = data.shape[1]
        length = data.shape[0]
    
        for i in range(channel):
            count = 0
            for j in range(1, length):
                diff = data[j, i] - data[j - 1, i]
                mult = data[j, i] * data[j - 1, i]
    
                if np.abs(diff) > threshold and mult < 0:
                    count = count + 1
            numOfZC.append(count / length)
        return np.array(numOfZC)
    
    
    def featureSSC(data, threshold=10e-7):
        numOfSSC = []
        channel = data.shape[1]
        length = data.shape[0]
    
        for i in range(channel):
            count = 0
            for j in range(2, length):
                diff1 = data[j, i] - data[j - 1, i]
                diff2 = data[j - 1, i] - data[j - 2, i]
                sign = diff1 * diff2
    
                if sign > 0:
                    if (np.abs(diff1) > threshold or np.abs(diff2) > threshold):
                        count = count + 1
            numOfSSC.append(count / length)
        return np.array(numOfSSC)
    

    能请教一下 MAV 、WL 、ZC 、SSC4 个函数的都是啥数学公式? 网上搜的那些都搜不到😅

    大学数学早就还给老师了.....

    noqwerty
        1
    noqwerty  
       2022-04-06 22:34:02 +08:00
    noqwerty
        2
    noqwerty  
       2022-04-06 22:34:46 +08:00   ❤️ 1
    似乎这里都包括了? Mean Absolute Value, Waveform Length, Zero Crossing, 和 Slope Sign Change
    ALLROBOT
        3
    ALLROBOT  
    OP
       2022-04-06 22:39:20 +08:00
    @noqwerty 666 ,感谢!

    我挺纳闷这么神奇的网站你从哪找到的🤣
    noqwerty
        4
    noqwerty  
       2022-04-06 22:44:36 +08:00 via iPhone
    @ALLROBOT Google 直接搜 mean absolute value MAV 第一条就是😂因为 MAV 比较常见所以从这个入手查了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5090 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 01:21 · PVG 09:21 · LAX 17:21 · JFK 20:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.