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])