コンテンツへスキップ
ページ

コンセプト

データセットと分割

Skynet がケースを読み取り、学習・検証・テストに分割する方法。

データセットはケースの表です。各行が 1 つのケースです。Skynet はケースに対してアーティファクトを実行し、各出力を採点し、そのスコアを使ってバージョンを比較します。このページでは、Skynet がケースをどのように読み取るか、列の役割が何をするか、ケースをどのように学習・検証・テストのセットに分割するかを説明します。

データを読み込む

ウィザードの 入力 ステップには、2 つの選択肢があります。

  • CSV、JSON、Excel ファイルをアップロード。Skynet は .csv、.json、.xlsx、.xls ファイルを受け付けます。
  • ライブラリから選択。以前に保存したデータセットを使います。

1 つの実行で使えるケースは最大 200,000 件です。

保存済みのデータセットを管理するには、データセット をお読みください。

列の役割

データの読み取り方 で、各列に役割を 1 つ割り当てます。

役割Skynet がその列で行うこと
入力値を input に入れます。実行コードがこれを受け取ります
出力値を expected に入れます。メトリクスがこれを受け取ります
スキップその列を使いません

各列には種類もあります: テキスト または 画像。

出力列にできるのは 1 つの列だけです。2 つ目の列を出力に設定すると、1 つ目の列はスキップに変わります。

コードが受け取るもの

Skynet は各行から 1 つのケースを作ります。

  • input は dict です。入力列ごとに 1 つのキーを持ちます。
  • expected は、キーを 1 つ(出力列の名前)持つ dict です。

次の表で、

messagelabelid
I was charged twicebilling17

役割を message = 入力、label = 出力、id = スキップ とした場合、コードは次を受け取ります。

{"message": "I was charged twice"}

データモード

役割によって、実行のデータモードが決まります。

モード条件動作
ペア1 つの列が出力すべての行が、入力と期待値を持つケースになります。少なくとも 2 行が必要です。
単一出力の列がない実行は最初の行の入力列だけを使います。期待値のない 1 つのケースになります。

単一モードでは、Skynet はその 1 つのケースを学習、選択、報告に使います。評価用に取り分けるデータはありません。

分割

ペアモードでは、Skynet はケースを 3 つのセットに分割します。

セット用途
学習エンジンはこれらのケースでバージョンを提案し、テストします。
検証 (Val)Skynet はこれらのケースで最良のバージョンを選びます。
テストSkynet はこれらのケースで最終スコアを報告します。

既定の分割

ペアの数学習検証テスト
5 以上70%15%15%
5 未満85%15%0%

ペアが 5 つ未満の場合、Skynet はテストセットを残しません。

Skynet がケースを数える方法

Skynet は、最大剰余法で割合をケースの整数件数に変換します。件数の合計は常にケースの数と一致します。割合が 0 より大きいセットには、少なくとも 1 件のケースが割り当てられます。割合が 0 のセットには、ケースは割り当てられません。

分割の前に、Skynet はケースをシャッフルします。シャッフルには実行のシードを使います。シードを指定しない場合、Skynet はケース、目的、アーティファクトからシードを作ります。そのため、同じ実行を再度送信すると、同じ分割になります。

フォールバック

  • ペアが 5 つ未満の場合、Skynet はテストセットを削除し、学習と検証の合計が 1 になるように調整します。
  • 学習が空の場合、Skynet は検証ケースを学習として使います。
  • 検証セットがない場合、Skynet は学習ケースで選択します。
  • テストセットがない場合、Skynet は検証で報告します。検証セットもない場合は、学習で報告します。

分割を変更する

分割のセクションには 推奨される分割 が表示されます。2 つのモードがあります。

  1. 推奨を使用: Skynet は上記の既定の分割を使います。
  2. 手動選択: 学習、検証、テスト を自分で設定します。

手動選択では、各フィールドに 0〜1 の割合を 0.05 刻みで入力します。各フィールドには、割り当てられるケースの数が表示されます。3 つの割合の合計は 1 である必要があります。そうでない場合、ウィザードに「分割の合計は 1 にする必要があります。」と表示されます。

コントラクトのサンプル

メトリクスと実行 ステップのコントラクトチェックは、3 つのサンプルケースでコードを実行します。Skynet はこれらのサンプルを学習ケースと検証ケースからのみ取り出し、テストからは決して取り出しません。

関連ページ