2023-07-10
1.
はじめに
2.
Kaggleとは
3.
Dataikuとは
4.
データの読み込みと可視化
5.
モデルの構築と予測
6.
おわりに
こんにちは、株式会社VillageAI取締役の松本祐輝です。
本記事では、kaggleの「Room Occupancy detection data (IoT sensor)」を分析ツール「Dataiku」を利用して分析してみたいと思います。
Kaggleとは、データサイエンティスト達が、自分たちのデータ分析力を磨く場として機能しているプラットフォームとなります。kaggleとはカグルと読み、kaggleに参加し、スキルを磨く方々をカグラーと呼びます。
the home of Data Science & Machine Learning
と表記されるように、データサイエンスと機械学習の家と呼ばれ、世界中の、機械学習・データサイエンスに携わる約40万人が集まるコミュニティです。
Kaggleの中では、企業や政府などの組織と、データ分析のプロであるデータサイエンティストや機械学習エンジニアを繋げるプラットフォームとして機能しており単純にエンジニアと企業をマッチングするのではなく、コンペが行われ盛り上がりをみせています。
Dataikuは、データサイエンスと機械学習のためのエンドツーエンドプラットフォームです。
データの準備からモデルの展開までをサポートし、効率的なチームコラボレーションが実現できます。
ビジネスユーザーやデータサイエンティストは、異種のデータソースからのデータ統合やモデル構築を簡素化できます。
豊富なデータ可視化機能やセキュリティ対策も特長です。
温度、湿度、照度、CO2 からの在室してるかどうかの二値分類のデータです。
在室有無は、毎分撮影されたタイムスタンプ付きの写真から取得したもののようです。
データを読み込んで、Prepareレシピで日時のカラムから、時間帯を抽出します。
照度が相関係数0.826と高い数値になっていて、箱ひげ図を見ても在室しているときは照度が高く、していないときは照度が低くなっている事がわかります。照度はモデルを作る上で重要な特徴量になりそうです。
ただ、照度をメインとしたモデルは、ホームセキュリティを目的に使うとすると適切ではないかもしれません。
(泥棒はわざわざ明かりを付けない)
そこで、今回は照度を除いたセンサーのみでモデルを作ってみることにします。
データを学習用とテスト用に分割し、学習データでモデルの構築、テストデータで予測を実行するフローを作成します。
今回は、ランダムではなく日付で分けました。
結果、Accuracy 99%というすごく高い精度になりました。
重要度は、下図のようになり、CO2、時間、温度の順に影響度が高いようです。
最後にテストデータでの予測結果と、正解データの比較をします。
正解率は、約82%となりました。
(2948 + 1054) / 4880 ≒ 0.82
中身を見てみると、予測の外れ方が偏ってます。
在室なしと予測して実際には在室ありとなったものが43件に対して、在室ありと予測して実際には在室なしは835件と約20倍外れてしまっています。
この辺りは、外れたデータを見て仮説立てて対応する必要がありそうです。
kaggle「在室検知データ(IoTセンサー)」のデータを使って、在室検知のモデルを構築してみました。
Dataikuを使うとデータの読み込みから、前処理、データの分割、モデル構築、予測が簡単に実行できます!
また、照度と在室は、高い相関がありましたが、今回は利用するシーンをホームセキュリティとし、特徴量から外しました。このように実際では、「精度が高い=役立つ」とはならないケースもあるので、目的に合わせて特徴量を選定する必要があることがイメージ出来たのではないかと思います!
最後に、今回作成したフローを載せておきます。