시작하기무료로 시작하기

소리를 여러 번 반복해서 듣기

이번 연습 문제에서는 아마 가장 단순한 분류 기법부터 시작해 볼 거예요. 데이터셋의 차원별로 평균을 내고, 그 결과를 시각적으로 살펴봅니다.

지난 장에서 다룬 심장 박동 데이터를 사용해요. 일부 녹음은 정상적인 심장 박동이며, 다른 일부는 비정상 활동입니다. 차이를 직접 구분해 볼 수 있는지 확인해 보세요.

여러 심장 박동의 오디오가 들어 있는 두 개의 DataFrame normalabnormal이 작업 공간에 준비되어 있고, 각각의 형태는 (n_times_points, n_audio_files)입니다. 샘플링 주파수는 sfreq라는 변수에 로드되어 있어요. 편리한 그리기 함수 show_plot_and_make_titles()도 함께 제공됩니다.

이 연습은 강의의 일부입니다

Python으로 배우는 시계열 데이터 Machine Learning

강의 보기

연습 안내

  • 먼저, 이 오디오 파일들의 시간 배열을 만드세요(모든 오디오는 길이가 같아요).
  • 그다음 두 DataFrame의 값을 함께 쌓아(normalabnormal 순서) (n_audio_files, n_times_points) 형태의 단일 배열을 만드세요.
  • 마지막으로 제공된 코드를 사용해 각 리스트 항목/축을 순회하면서, 해당 축 객체에 시간에 따른 오디오를 그리세요.
  • 왼쪽 열에는 정상 심장 박동을, 오른쪽 열에는 비정상 심장 박동을 표시합니다.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

fig, axs = plt.subplots(3, 2, figsize=(15, 7), sharex=True, sharey=True)

# Calculate the time array
time = np.arange(____) / ____

# Stack the normal/abnormal audio so you can loop and plot
stacked_audio = np.hstack([____, ____]).T

# Loop through each audio file / ax object and plot
# .T.ravel() transposes the array, then unravels it into a 1-D vector for looping
for iaudio, ax in zip(stacked_audio, axs.T.ravel()):
    ax.plot(time, iaudio)
show_plot_and_make_titles()
코드 편집 및 실행