Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

タクシーデータ処理・分析プロジェクト

概要

このプロジェクトは、タクシーに搭載されたセンサーから収集された大量のJSON形式のテレメトリデータを処理し、乗客の乗降イベント(乗り・降り)を検出するための機械学習用データセットを構築することを目的としています。

収集されるデータには、GPS、速度、加速度、ジャイロセンサーなどの情報が含まれており、これらのデータを統合・分析することで、乗客の行動パターンを明らかにします。

プロジェクト構成

probe/
├── src/                           # ソースコード
│   ├── taxi_data_processor.py     # オリジナルの統計集計ベースのプロセッサ
│   └── taxi_data_processor_v2.py  # 基本データと加速度データを分離する改良版プロセッサ
├── tests/                         # テストスクリプト
│   ├── test_processing.py         # オリジナルプロセッサ用テスト
│   └── test_v2_processing.py      # v2プロセッサ用テスト
├── scripts/                       # ユーティリティスクリプト
│   └── setup_and_run.py           # 環境構築と実行を自動化
├── data/                          # 入力データ
│   └── change_flag_filled0.csv    # 乗降イベントの正解ラベル(必須)
├── outputs/                       # 生成されたデータセット
│   └── taxi_dataset_*.csv         # 処理結果のCSVファイル
├── docs/                          # ドキュメント
│   └── README.md                  # このファイル
├── json/                          # 生のJSONデータ(約49,000ファイル、約30GB)
│   ├── TRP_*.json
│   └── ...
├── pyproject.toml                 # プロジェクトの依存関係定義
├── uv.lock                        # 依存関係のロックファイル
└── .gitignore                     # Gitの無視リスト

主な機能

  • データ処理:

    • src/taxi_data_processor.py: センサーデータを統計値(平均、最大、最小、標準偏差など)に集約し、タイムスタンプごとに1つのレコードを生成します。
    • src/taxi_data_processor_v2.py: 基本データ(GPS、速度など)と高周波の加速度・ジャイロデータを分離して、それぞれ別のデータセットとして出力します。これにより、より詳細な時系列分析が可能になります。
  • 乗降イベント検出:

    • data/change_flag_filled0.csv に含まれる正解ラベルと、車両のステータスコードの変化パターンを組み合わせて、乗車(get_on)と降車(get_off)のイベントを特定します。
    • v2プロセッサでは、車両が停車している区間を特定し、その区間に対して乗降ラベルを付与することで、より精度の高いラベリングを目指しています。
  • テスト:

    • tests/ ディレクトリには、各プロセッサの動作を検証するためのテストスクリプトが含まれています。処理を実行する前に、これらのテストを実行することが推奨されます。

セットアップと実行方法

1. 環境構築

プロジェクトの依存関係は pyproject.toml で管理されています。uv を使った環境構築が推奨されます。

# uv を使って仮想環境を作成し、依存関係をインストール
uv venv
uv sync

2. 実行

自動セットアップ・実行スクリプト(推奨)

scripts/setup_and_run.py は、環境チェック、依存関係のインストール、データ処理の実行をまとめて行います。

python scripts/setup_and_run.py

手動での実行

オリジナルプロセッサ
# テストの実行
python tests/test_processing.py

# 本処理の実行
python src/taxi_data_processor.py
v2プロセッサ
# テストの実行
python tests/test_v2_processing.py

# 本処理の実行
python src/taxi_data_processor_v2.py

注意:

  • データ処理には大量のJSONファイル(json/ディレクトリに配置)と、正解ラベルファイル(data/change_flag_filled0.csv)が必要です。
  • 全ファイルの処理には数時間かかる場合があります。

生成されるデータセット

処理が完了すると、outputs/ ディレクトリに以下のCSVファイルが生成されます。

  • オリジナルプロセッサ:

    • taxi_dataset_full.csv: 全データ
    • taxi_dataset_train.csv: 学習用データ(80%)
    • taxi_dataset_test.csv: テスト用データ(20%)
  • v2プロセッサ:

    • taxi_dataset_v2_base.csv: 基本データ(GPS、速度など)
    • taxi_dataset_v2_accel.csv: 加速度・ジャイロデータ

これらのデータセットを用いて、乗降イベント予測モデルの学習や、さらなるデータ分析を行うことができます。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages