
26
2
章 耐障害性分散データセット
distinct_gender = data_from_file_conv.map(
lambda row: row[5]).distinct()
distinct_gender.collect()
そうすると、次のように出力されるはずです。
最初に、性別だけを含んでいる列だけを取り出します。そして、
.distinct()
メソッドを使ってリ
スト中のユニークな値だけを取り出します。最後に、
.collect()
メソッドを使って返された値を画面
に出力します。
これは負荷の高いメソッドであり、データをシャッフルすることになるので、本当に必要な場
合にだけ慎重に使うようにしてください。
2.4.5
.sample(...)
変換
.sample(...)
メソッドは、データセットからランダムにサンプリングした結果を返します。最初の
パラメータはサンプリングで置き換えを許すかどうかの指定で、2 番めのパラメータは返すデータの比
率、3番めのパラメータは疑似乱数生成器に渡すシードです。
fraction = 0.1
data_sample = data_from_file_conv.sample(False, fraction, 666)
この例では、オリジナルのデータセットから 10%をランダムにサンプリングしています。確認のため、
データセットのサイズを出力してみましょう。
print('Original dataset: {0}, sample: {1}'\
.format(data_from_file_conv.count(), ...