FitbitのアクティビティデータをColabで可視化しましょう

こんにちは、GMOアドマーケティングのS.Rです。

Fitbitは人気の活動量計の一つです。

昨年、FitbitCharge2を購入し、日々のアクティビティデータ(運動、食事、体重、睡眠など)を記録していました。データ量が結構貯まっていたので、機械学習のエンジニアとして何かに利用してみようと思います。

Fitbitのデータと無料のデータ分析クラウドサービスColabと連携する方法を調べてみましたので、今回は、その方法について皆さんへ紹介させていただきます。

Fitbit側の権限設定

Fitbitの開発者センターで新しいAppを申請する

① Manage->Register An Appを選択してください。

※:引用元 | Fitbit Development: Fitbit SDK, https://dev.fitbit.com/

 

② Fitbitのアカウントでログインしてください。 

 

③ Appの情報を設定してください。下記は今回の設定例です。

項目名 内容
Application Name http://test.com
Description http://test.com
Application Website http://test.com
Organization http://test.com
Organization Website http://test.com
OAuth 2.0 Application Type Personal
Callback URL http://127.0.0.1:8080/ と入力
Default Access Type Read-Only

 

④ AppのClient IDとClient Secretを取得します。

Manage->Register An App->MANAGE MY APP-> hr_monitor でAppの詳細情報を確認します。

 

⑤ Access TokenとRefresh Tokenを生成します。

  • python環境がついているパソコンで下記のgithubcloneしましょう。

  • cherrypyをインストールします。

  • ④で取っていたClient IDClient Secret入れて下記のコマンド実行してください。

  • 起動されたブラウザで権限を選びましょう。

  • 許可を押すとAccess TokenとRefresh Tokenを生成できます。

これでFitbit側の権限設定が完了しました。Access TokenRefresh Tokenのタイムアウト時間は8時間になるので注意してください。

ColabでFitbitのサーバーからアクティビティデータを読み込む

① まずはColabのinstanceを作ってください。Colabのリンクは下記です。

https://colab.research.google.com/notebooks/intro.ipynb

② Fitbitのpython版のSDKをインストールしましょう。

③ 下記のリブをimportします。


④ Fitbitの認証情報でFitbitのサーバーへアクセス権限を取得します。

心拍数のデータの例

① 指定された日付の心拍データを読みこみます。


② 心拍データ秒毎の分布図を表示します。


睡眠の品質データの例

① 指定された日付の睡眠の品質データを読み込みます。

② 読み込んだデータに日付が付いてないので追加しましょう。

③ 時間毎の睡眠の品質点数を表示しましょう。

 

まとめ

今回はFitbitのアクティビティデータをColabで可視化する方法を皆さんへ紹介してみました。いかがでしたでしょうか。
Fitbitのデバイスで様々なアクティビティデータが取れます。
今回のブログが皆さんのFitbitのアクティビティデータの活用にお役に立てば幸いです。