bugfix> python > 投稿

さまざまなエクササイズ(スクワット、腕立て伏せ、腹筋運動、バーピー)中にIMUデータ(加速度計、磁力計、ジャイロスコープ)があります。これらの演習は単一の1D時系列信号で完了します。機械学習分類法を使用して、信号内のさまざまな演習を識別したいと思います。信号を0Dピークに凝縮してそのように機能を構築するのではなく、時間領域をそのままにしておきます。以下は、4つのエクササイズを含む加速度計のサンプルデータを示す図です。したがって、私の方法は、どの方法が最も効果的ですか? K-meansクラスタリングは0Dの意味で完璧です。1Dに相当するものはありますか? Python(sklearn)へのリソースは大歓迎です!

前もって感謝します!

回答 2 件
  • 分類ではなく、クラスタリングを行いたいと思います。分類はデータを事前に定義されたカテゴリに分類します(通常はいくつかのトレーニングデータに基づいています)が、クラスタリングはデータの一部を以前は不明なクラスにグループ化するために使用されます。以下は、分類とクラスタリングの違いを示す短い表です。

    できることの1つは、時系列を重複するサンプル(おそらくそれぞれ1000タイムステップ)に切り分け、それらの統計(平均、分散など)を計算することです。次に、計算した統計でK-Meansクラスタリングを実行します。

    クラスタリングを実行した後、クラスタリング中に識別されたクラスを使用して、分類子のトレーニングデータを作成できます。

  • 時系列データの場合、標準的な方法はバッグオブフレームであり、フレームと呼ばれる小さなチャンクに分割されます。フレームはオーバーラップし、ウィンドウ化または分離できます。フレームサイズは重要なハイパーパラメーターであり、タスクに依存します。最小、最大、中央値、分散、RMSなどの機能は、各フレームで計算されます。分類器で経時変化を使用するには、遅延機能またはデルタ機能を使用します。遅延フィーチャは、前のフレームからの値です。デルタフィーチャは、現在のフレームと前のフレームとの差として計算されます。

    分類するには、さまざまなアクティビティのセグメントにラベルを付ける必要があります。アクセラレータデータでの人間の活動の検出には、UCI:Smartphonesを使用した人間の活動認識などの公開データセットも利用できることに注意してください。

あなたの答え