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. |