在我的数据集中,我有730亿个数据。我想从该数据源中解决分类问题。我需要原始数据中的样本,以便可以测试模型。数据框看起来像-
id age gender salary bonus area churn
1 38 m 37654 765 bb 1
2 48 f 3654 365 bb 0
3 33 f 55443 87 uu 0
4 27 m 26354 875 jh 0
5 58 m 87643 354 vb 1
如何使用pyspark进行随机抽样,以使我的因变量(客户流失率)不变。有什么建议吗?
要从原始数据中查看样本,我们可以在spark中使用样本:
df.sample(分数).show()
分数应该在[0.0,1.0]之间
例如:
df.sample(0.2).show(10)->重复运行此命令,它将显示原始数据的不同样本。
Spark支持Stratified Sampling。您可以在链接的文档中找到示例。
您也可以使用TrainValidationSplit
例如:
from pyspark.ml.tuning import TrainValidationSplit
# Prepare training and test data.
data = spark.read.format("libsvm")\
.load("data/mllib/sample_linear_regression_data.txt")
train, test = data.randomSplit([0.9, 0.1], seed=12345)