Skip to main content
 首页 » 编程设计

python之如何使用 Python 进行随机分层抽样(不是训练/测试拆分)

2025年05月04日18开发

我正在寻找进行随机分层抽样(如调查和民意调查)的最佳方式。我不想做 sklearn.model_selection.StratifiedShuffleSplit 因为我没有做监督学习而且我没有目标。我只想从 pandas DataFrame ( https://www.investopedia.com/terms/stratified_random_sampling.asp ) 创建随机分层样本。

Python 是我的主要语言。

谢谢你的帮助

请您参考如下方法:

鉴于变量已装箱,下面的一行应该会为您提供所需的输出。我看到 scikit-learn 主要用于您以外的目的,但使用它的功能不会造成任何伤害。

请注意,如果您的 scikit-learn 版本早于 0.19.0,采样结果可能包含重复行。

如果您测试了以下方法,请分享它是否按预期运行。

from sklearn.model_selection import train_test_split 
 
stratified_sample, _ = train_test_split(population, test_size=0.999, stratify=population[['income', 'sex', 'age']])