あの音は何だろう?
楽曲はもともとアナログなものです。音とは空気の振動にほかなりません。楽曲を分析するには、意味のある数値に変換する必要があります。Million Song Dataset に収録されたトラックには、楽曲全体にわたって一定間隔で計測された12種類の音色(ティンバー)の測定値があります。音色とは、音の知覚的な質を表す指標であり、たとえば声と弦楽器、打楽器を区別するために使われます。
この章では、トラックの音色データをもとに、そのトラックがリリースされた年を予測することに取り組みます。つまり、音色の測定値からモデルの特徴量(フィーチャー)を生成します。なお、特徴量とは機械学習における入力変数を指す用語で、統計学では説明変数と呼ばれることもあります。
音色データは行列の形式で表現され、行が時点、列が各音色の測定項目に対応しています。そのため、すべての音色行列は12列を持ちますが、行数は楽曲によって異なります。各列の平均値は、楽曲全体を通じた音色の平均的な傾向を表します。これにより、モデル用の12個の特徴量を生成することができます。
この演習はコースの一部です
sparklyr を使った Spark 入門(R)
演習の手順
Lady Gaga の「Poker Face」の音色測定値を格納した timbre は、ワークスペースにあらかじめ定義されています。
colMeans()を使ってtimbreの列ごとの平均を計算し、結果をmean_timbreに代入しましょう。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# timbre has been pre-defined
timbre
# Calculate column means
(mean_timbre <- ___)