QoreSDK by QuantumCore

Modules

qore_sdk.client module

class qore_sdk.client.WebQoreClient

Bases: object

WebQoreと通信するためのクライアント

Parameters
  • username (str) – 発行されたユーザ名

  • password (str) – 発行されたパスワード

  • endpoint (str) – 発行されたendpoint

classifier_predict

分類用のモデルの精度を検証する.

Parameters
  • X (numpy.ndarray) – 推論用データ X.shape = (データ数, 時間, 実データ)

  • softmax_top (int) – (Optional) 1以上を指定すると、各データでの推論ラベルの上位とその確率値を返す

Returns

{‘Y’: 正解ラベル (List(int)), ‘res’: ‘ok’}

{‘Y’: 正解ラベル (List(List(int))), ‘softmax’: List(List(float))) ‘res’: ‘ok’} if softmax_top > 1

Return type

Dict

classifier_test

分類用のモデルの精度を検証する.

Parameters
  • X (numpy.ndarray) – 検証データ X.shape = (データ数, 時間, 実データ)

  • Y (numpy.ndarray) – 正解ラベル Y.shape = (データ数, 1)

Returns

{‘accuracy’: accuracy (float), ‘f1’: f1 value (float), ‘res’: ‘ok’}

Return type

Dict

classifier_train

分類用のモデルを学習させる.

Parameters
  • X (numpy.ndarray) – 学習データ X.shape = (データ数, 時間, 実データ)

  • Y (numpy.ndarray) – 正解ラベル Y.shape = (データ数, 1)

Returns

{‘res’: ‘ok’, ‘train_time’: train time (float)}

Return type

Dict

regression_predict

分類用のモデルの精度を検証する.

Parameters

X (numpy.ndarray) – 推論用データ X.shape = (データ数, 時間, 実データ)

Returns

{‘Y’: predicted value (List(float)), ‘res’: ‘ok’}

Return type

Dict

regression_test

回帰用のモデルの精度を検証する

Parameters
  • X (numpy.ndarray) – 検証データ X.shape = (データ数, 時間, 実データ)

  • Y (numpy.ndarray) – 正解ラベル Y.shape = (データ数, 1)

Returns

{‘mse’: mean square error (float), ‘res’: ‘ok’}

Return type

Dict

regression_train

回帰用のモデルを学習させる

Parameters
  • X (numpy.ndarray) – 学習データ X.shape = (データ数, 時間, 実データ)

  • Y (numpy.ndarray) – 正解データ Y.shape = (データ数, 1)

Returns

{‘res’: ‘ok’, ‘train_time’: train time (float)}

Return type

Dict

qore_sdk.featurizer module

class qore_sdk.featurizer.Featurizer

Bases: object

時系列の周波数分解による特徴抽出器。n_filtersでいくつの特徴に分解するかを定める。

Parameters

n_filters (int) – 抽出する特徴量の数.

>>> import numpy as np
>>> X = np.arange(10*10*100).reshape(10, 10, 100)
>>> n_filters = 40
>>> featurizer = Featurizer(n_filters)
>>> features = featurizer.featurize(X, axis=2)
>>> features.shape
(10, 10, 40)
featurize
Parameters
  • X (numpy.ndarray) – データ. 任意の次元数.

  • log_scale (bool) – 周波数分解後に対数をとるかどうか.

  • axis (int) – 特徴抽出をする時系列がある軸. Noneの場合、axisは一番後ろの軸.

  • plot_sample (bool) – Deprecated. 特徴抽出の過程を可視化するかどうか.

  • random (bool) – Deprecated. 可視化するサンプルをランダムに選択するかどうか.

Returns

分解済みデータ.

Return type

numpy.ndarray

qore_sdk.utils module

qore_sdk.utils.sliding_window()

時系列を複数の小時系列に分割する。Featurizerなどの特徴抽出器の前段で主に使われる。

Parameters
  • X (numpy.ndarray) – 任意次元数のデータ

  • width (int) – 小時系列の長さ

  • stepsize (int) – 分割する際の移動幅

  • axis (int) – 時系列データの処理軸

  • out_axis (int) – 分割数をどの軸に反映させるか. Noneの場合, out_axis==axis.

  • y (numpy.ndarray) – 入力Xに対するターゲットとなる任意次元数の配列y(主に1次元配列). 分類タスクの文脈で、時系列の各サンプルにラベル付けされている場合、分割した小時系列には複数のラベルが対応することになる。小時系列一つに対して一つのラベルを対応させたい場合、yもXと同様に分割し、複数のyの値の中での最頻値や最後のyの値を小時系列のラベルとする.

  • y_def (str) – yも同様に分割した場合、複数のyの値から小時系列に対応するラベルをどう算出するかを指定する. ‘last’の場合は複数のyの値のうち最後の値をラベルとする. ‘mode’の場合は最頻値.

  • y_axis (int) – どの軸で最頻値をとるかを指定する.

Returns

X

Return type

numpy.ndarray

>>> import numpy as np
>>> X = np.arange(10*550).reshape(10, 550)
>>> X = sliding_window(X, 100, 50, axis=1)
>>> X.shape
(10, 10, 100)
qore_sdk.utils.under_sample()

under-samplingのための関数。n_samples_per_classでクラス当たりのサンプル数を定める。

Parameters
  • X (numpy.ndarray) – データ

  • y (numpy.ndarray) – ラベル

  • n_samples_per_class (float) – クラス当たりのサンプル数

Returns

X, y

Return type

(numpy.ndarray, numpy.ndarray)

>>> import numpy as np
>>> X = np.arange(10*10*100).reshape(10, 10, 100)
>>> y = np.concatenate([np.repeat(0, 3), np.repeat(1, 7)])
>>> _, counts = np.unique(y, return_counts=True)
>>> counts
array([3, 7])
>>> X, y = under_sample(X, y, n_samples_per_class=3)
>>> _, counts = np.unique(y, return_counts=True)
>>> counts
array([3, 3])

About Us