pytoolkit.tf.tdnn module

Tablur Data用NN。

サンプル

import pytoolkit.tf
import pytoolkit.tablurs

train_data_path = "path/to/train.csv"
test_data_path = "path/to/test.csv"
input_data_path = "path/to/input.csv"

# ログの初期化
pytoolkit.logs.init()

# データの読み込み
train_data, train_labels = pytoolkit.tablurs.load_labeled_data(
    train_data_path, "label_col_name"
)
test_data, test_labels = pytoolkit.tablurs.load_labeled_data(
    test_data_path, "label_col_name"
)

# 学習
model = pytoolkit.tf.tdnn.train(train_data, train_labels, groups=None)

# 保存・読み込み
model.save(model_dir)
model = pytoolkit.tf.tdnn.load(model_dir)

# 評価
score = model.evaluate(test_data, test_labels)
assert 0.0 <= score <= 1.0

# 推論
input_data = pytoolkit.tablurs.load_unlabeled_data(input_data_path)
results = model.infer(input_data)
assert isinstance(results, np.ndarray)
class pytoolkit.tf.tdnn.Model(train_model, infer_model, metadata)[ソース]

ベースクラス: BaseModel

テーブルデータのモデル。

パラメータ:
  • train_model (Model) --

  • infer_model (Model) --

  • metadata (dict[str, Any]) --

save(model_dir)[ソース]

保存。

パラメータ:

model_dir (str | PathLike[str]) -- 保存先ディレクトリ

戻り値の型:

None

classmethod load(model_dir)[ソース]

モデルの読み込み

パラメータ:

model_dir (str | PathLike[str]) -- 保存先ディレクトリ

戻り値:

モデル

戻り値の型:

Model

evaluate(data, labels)[ソース]

推論。

パラメータ:
  • data (DataFrame | DataFrame) -- 入力データ

  • labels (_SupportsArray[dtype] | _NestedSequence[_SupportsArray[dtype]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes]) -- ラベル

戻り値:

スコア

戻り値の型:

dict[str, float]

infer(data, verbose=True)[ソース]

推論。

パラメータ:
  • data (DataFrame | DataFrame) -- 入力データ

  • verbose (bool) -- 進捗表示の有無

戻り値:

推論結果

戻り値の型:

ndarray[Any, dtype[float32]]

infer_oof(data, folds, verbose=True)[ソース]

out-of-fold推論。

パラメータ:
  • data (DataFrame | DataFrame) -- 入力データ

  • folds (Sequence[tuple[numpy.ndarray[Any, numpy.dtype[numpy.int32]], numpy.ndarray[Any, numpy.dtype[numpy.int32]]]]) -- 分割方法

  • verbose (bool) -- 進捗表示の有無

戻り値:

推論結果

戻り値の型:

ndarray[Any, dtype[float32]]

infers_to_labels(pred)[ソース]

推論結果(infer, infer_oof)からクラス名などを返す。

パラメータ:

pred (ndarray[Any, dtype[float32]]) -- 推論結果

戻り値:

クラス名など

戻り値の型:

ndarray[Any, dtype[ScalarType]]

get_feature_names()[ソース]

列名を返す。

戻り値:

列名の配列

戻り値の型:

list[str]

pytoolkit.tf.tdnn.train(data, labels, folds=None, categorical_feature=None, epochs=100)[ソース]

学習

パラメータ:
  • data (DataFrame | DataFrame) -- 入力データ

  • labels (_SupportsArray[dtype] | _NestedSequence[_SupportsArray[dtype]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes]) -- ラベル

  • weights -- 入力データの重み

  • groups -- 入力データのグループ

  • folds (Sequence[tuple[numpy.ndarray[Any, numpy.dtype[numpy.int32]], numpy.ndarray[Any, numpy.dtype[numpy.int32]]]] | None) -- CVの分割情報

  • categorical_feature (list[str] | None) -- カテゴリ列

  • epochs (int) --

戻り値:

モデル

戻り値の型:

Model

pytoolkit.tf.tdnn.load(model_dir)[ソース]

学習済みモデルの読み込み

パラメータ:

model_dir (str | PathLike[str]) -- 保存先ディレクトリ

戻り値:

モデル

戻り値の型:

Model