コンテンツにスキップ

Opportunity Dataset Loader

Opportunity

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

Parameters:

Name Type Description Default
path Path

Opportunity(UCI)データセットのパス. "dataset"ディレクトリの親ディレクトリを指定する.

required

Attributes:

Name Type Description
NOT_SUPPORTED_LABELS List[str]

サポートしていないラベルのリスト

X_LABELS List[str]

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

SUPPORTED_Y_LABELS List[str]

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

load(self, window_size, stride, x_labels=None, y_labels=None, ftrim_sec=2, btrim_sec=2)

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

ここではADLのみをサポートしている.

Parameters:

Name Type Description Default
window_size int

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

required
stride int

ウィンドウの移動幅

required
x_labels Optional[list]

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

一部サポートしていないラベルがあることに注意.

None
y_labels Optional[list]

ターゲットのラベルリスト(使用方法はx_labelsと同様).

None
ftrim_sec int

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

2
btrim_sec int

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

2

Examples:

>>> opportunity_path = Path('path/to/dataset')
>>> opportunity = Opportunity(opportunity_path)
>>>
>>> x_labels = [
>>>     'Accelerometer_RKN^_accX',
>>>     'Accelerometer_RKN^_accY',
>>>     'Accelerometer_RKN^_accZ',
>>>     'Accelerometer_HIP_accX',
>>>     'Accelerometer_HIP_accY',
>>>     'Accelerometer_HIP_accZ',
>>> ]
>>> y_labels = ['Locomotion', 'subject']    # 基本行動と被験者をターゲットラベルとして取り出す
>>>
>>> x, y = opportunity.load(window_size=256, stride=256, x_labels=xlabels, y_labels=ylabels, ftrim_sec=2, btrim_sec=2)
>>> print(f'x: {x.shape}, y: {y.shape}')
>>>
>>> # > x: (?, 6, 256), y: (?, 2)

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 Opportunity dataset

Parameters:

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

Directory path of Opportunity(UCI) dataset, which is parent directory of "dataset" directory.

required

Returns:

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

Sensor data segmented by activity(Locomotion) and subject.

load_raw(path)

Function for loading raw data of Opportunity dataset

Parameters:

Name Type Description Default
path Path

Directory path of Opportunity(UCI) dataset, which is parent directory of "dataset" directory.

required

Returns:

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

Raw data of Opportunity dataset.

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