コンテンツにスキップ

mHealth Dataset Loader

MHEALTH

MHEALTHデータセットに記録されているセンサデータとメタデータを読み込む.

Parameters:

Name Type Description Default
path Path

mHealthデータセットのパス(path/to/dataset/).

required

Attributes:

Name Type Description
supported_x_labels List[str]

ターゲット以外のすべてのラベルのリスト

supported_y_labels List[str]

ターゲットラベルのリスト

load(self, window_size=100, stride=100, x_labels=None, y_labels=None, ftrim_sec=0, btrim_sec=0, subjects=None)

mHealthデータセットを読み込み,sliding-window処理を行ったデータを返す.

Parameters:

Name Type Description Default
window_size int

フレーム分けするサンプルサイズ

100
stride int

ウィンドウの移動幅

100
x_labels Optional[list]

入力(従属変数)のラベルリスト(ラベル名は元データセットに準拠).ここで指定したラベルのデータが入力として取り出される.

None
y_labels Optional[list]

ターゲットのラベルリスト(仕様はx_labelsと同様)

None
ftrim_sec int

セグメント先頭のトリミングサイズ(単位は秒)

0
btrim_sec int

セグメント末尾のトリミングサイズ(単位は秒)

0
subjects Optional[list]

ロードする被験者を指定する.指定されない場合はすべての被験者のデータを返す. 被験者は計10名おり,それぞれにIDが割り当てられている.

被験者ID: [1, 2, 3, 4, 5, 6 ,7, 8, 9, 10]

None

Examples:

>>> mhealth_path = Path('path/to/dataset/')
>>> mhealth = MHEALTH(mhealth_path)
>>>
>>> x_labels = ['acceleration_chest_x', 'acceleration_chest_y', 'acceleration_chest_z']
>>> y_labels = ['activity']
>>> subjects = [1, 2, 3]
>>> x, y = mhealth.load(window_size=128, stride=128, x_labels=xlabels, y_labels=y_labels, ftrim_sec=3, btrim_sec=3, subjects=subjects)
>>> print(f'x: {x.shape}, y: {y.shape}')
>>>
>>> # > x: (?, 3, 128), y: (?, 1)

Returns:

Type Description
Tuple[numpy.ndarray, numpy.ndarray]

sliding-windowで切り出した入力とターゲットのフレームリスト

x_framesは3次元配列で構造は大まかに(Batch, Channels, Frame)のようになっている. Channelsはx_labelsで指定したものが格納される.

y_framesは2次元配列で構造は大まかに(Batch, Labels)のようになっている. Labelsはy_labelsで指定したものが格納される.

y_framesはデータセット内の値をそのまま返すため,分類で用いる際はラベルの再割り当てが必要となることに注意する.

load(path)

Function for loading mHealth dataset

Parameters:

Name Type Description Default
path Union[pathlib.Path, str]

Directory path of mHealth dataset.

required

Returns:

Type Description
Tuple[List[pandas.core.frame.DataFrame], List[pandas.core.frame.DataFrame]]

Sensor data segmented by activity and subject.

load_raw(path)

Function for loading raw data of mHealth dataset

Parameters:

Name Type Description Default
path Path

Directory path of mHealth dataset.

required

Returns:

Type Description
List[pandas.core.frame.DataFrame]

Raw data of mHealth dataset.

Each item in 'chunks_per_subjects ' is a part of dataset, which is splited by subject.