从pyspark中的数据帧中随机采样

问题描述 投票:0回答:2

在我的数据集中,我有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进行随机抽样,以使我的因变量(客户流失率)不变。有什么建议吗?

pyspark pyspark-sql pyspark-dataframes
2个回答
0
投票

要从原始数据中查看样本,我们可以在spark中使用样本:

df.sample(分数).show()

分数应该在[0.0,1.0]之间

例如:

df.sample(0.2).show(10)->重复运行此命令,它将显示原始数据的不同样本。


0
投票

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)

© www.soinside.com 2019 - 2024. All rights reserved.