导数特征:Tempogram(速度图)
清洗数据的一个好处是,能够计算更复杂的特征。例如,您之前计算的包络(envelope)就是计算速度(tempo)和节奏(rhythm)特征的常用技术。在本练习中,您将使用 librosa 为心跳数据计算一些速度和节奏特征,并再次拟合一个模型。
请注意,librosa 的函数通常只接受 numpy 数组,不直接处理 DataFrame,因此我们将通过 .values 属性把 Pandas 数据以 Numpy 数组的形式取出。
本练习是课程的一部分
Python 中的时间序列机器学习
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Calculate the tempo of the sounds
tempos = []
for col, i_audio in audio.items():
tempos.append(lr.beat.____(y=i_audio.values, sr=sfreq, hop_length=2**10))
# Convert the list to an array so you can manipulate it more easily
tempos = np.array(tempos)
# Calculate statistics of each tempo
tempos_mean = tempos.____(axis=-1)
tempos_std = tempos.____(axis=-1)
tempos_max = tempos.____(axis=-1)