Đặc trưng đạo hàm: Tempogram
Một lợi ích của việc làm sạch dữ liệu là bạn có thể tính được các đặc trưng tinh vi hơn. Ví dụ, phép tính bao bì (envelope) mà bạn đã thực hiện là một kỹ thuật phổ biến để tính các đặc trưng tempo và rhythm. Trong bài tập này, bạn sẽ dùng librosa để tính một số đặc trưng về tempo và nhịp cho dữ liệu nhịp tim, rồi lại huấn luyện một mô hình.
Lưu ý rằng các hàm của librosa thường chỉ hoạt động trên numpy arrays thay vì DataFrame, nên chúng ta sẽ truy cập dữ liệu Pandas ở dạng Numpy array bằng thuộc tính .values.
Bài tập này là một phần của khóa học
Machine Learning cho Dữ liệu Chuỗi thời gian bằng Python
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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)