コンテンツにスキップ

シンプルなサンプリング

データから一部の行を取り出します。大きなデータで試しに処理を流す、全体の傾向を見る、といった使い方をします。

訓練データと検証データに分けたいならランダムにデータを分割を使ってください。

入出力

ポート内容
入力データデータ
出力データデータ

Spark エンジンでも動きます。ただし Spark では行数が指定どおりちょうどにはなりません。 比率でも実数値でも、内部では「その割合で各行を残すか決める」形になるので、おおよその行数になります。ちょうどの行数がほしいときは Spark を使わないでください。

行の数だけが変わります。 列はすべてそのまま残ります。

並び順は手法で変わります。 ランダムサンプリングでは元の並び順のままです(抜き出したあとに元の順に並べ直します)。層別サンプリングでは層ごとにまとまった並びになり、層の中では元の順になります。

設定項目

手法を選択必須
ランダムサンプリング(既定)か層別サンプリング。
層化する列を選択必須
層別サンプリングのときだけ出ます。この列の構成比を保ったまま抜き出します。複数選べます。
サンプルサイズの決め方を指定
比率で指定(既定)か実数値で指定。
サンプルサイズを指定(0~1)必須
比率で指定のときだけ出ます。既定は 0.5。
サンプルサイズを指定(整数)必須
実数値で指定のときだけ出ます。既定は 2500。

オプション

重複行の発生を許可する
on にすると、同じ行が複数回選ばれることがあります。既定は off です。
乱数シードを固定する
整数を入れます。考え方は乱数シードを参照。

比率で指定するときの範囲

0 と 1 そのものは入れられません。 0 は 1 行も取らない指定、1 は全行を取る指定になるため、どちらもエラーになります。全行がほしいならこのノードを使わないでください。

層別サンプリングを使う場面

元の構成比を保ちたいときに使います。たとえば会員区分が 90:10 のデータからランダムに 100 行取ると、少ない方が 0 件になることがあります。層別なら 90:10 のまま抜けます。

層化する列が空欄の行も 1 つの層になります。 空欄どうしでまとまって、そこからも指定した割合で抜かれます。

比率で指定するのが基本です。 実数値で指定すると、各層からその数ずつ抜こうとするので、小さい層では行数が足りずエラーになります。

エラーと対処

比率が範囲外

比率で指定で、0 以下か 1 以上の値を入れたときに出ます。

比率は 0~1 の値を指定してください。

直し方 — 0.1 のように、0 と 1 のあいだの値を入れてください。

サンプルサイズが行数より大きい

実数値で指定で、データの行数(層別なら層の行数)より大きい数を入れたときに出ます。

サンプルサイズが実際のデータ数より大きいです。値を小さくするか、重複レコードの発生を許可するオプションを有効にしてください。

直し方 — 数を減らすか、重複行の発生を許可するを on にしてください。層別のときは、いちばん小さい層の行数に合わせる必要があります。

選んだ列が入力データにない

層化する列を選択で選んだ列が、前のノードで名前を変えられた・消されたときに出ます。

対象の列が存在しません。

直し方 — 層化する列を選択で選び直してください。層別にしないなら手法を選択をランダムサンプリングに戻します。

よく使う例

1. 試しに 1000 行で流す

重い処理を組み立て中で、まず少ない行で動きを確かめたいとき。

入力 — 500 万行のデータ

設定

設定項目値
手法を選択ランダムサンプリング
サンプルサイズの決め方を指定実数値で指定
サンプルサイズを指定(整数)1000

出力 — 1000 行になります。列はそのままなので、後続のノードはそのままつなげます。

2. 構成比を保って抜く

会員区分の割合を変えずに 10% だけ取りたいとき。

入力(1000 行)

会員区分行数
一般900
優待100

設定

設定項目値
手法を選択層別サンプリング
層化する列を選択会員区分
サンプルサイズの決め方を指定比率で指定
サンプルサイズを指定(0~1)0.1

出力 — 一般 90 行 / 優待 10 行の 100 行になります。ランダムサンプリングだと優待が 0 件になることがあります。

3. 半分だけ取り出す

全体の傾向を見るだけなので、半分あれば十分というとき。

入力 — 20 万行のデータ

設定

設定項目値
サンプルサイズの決め方を指定比率で指定
サンプルサイズを指定(0~1)0.5(既定)

出力 — 10 万行になります。

4. 重複ありで水増しする

ブートストラップのように、同じ行が複数回出てもよいとき。

入力(100 行)

顧客利用額
C-11200
C-2800

設定

設定項目値
サンプルサイズの決め方を指定実数値で指定
サンプルサイズを指定(整数)300
重複行の発生を許可するon

出力 — 300 行になります。同じ顧客の行が何度も出てきます。

関連