gpt4 book ai didi

python - 如何将大数据集划分为n个子集并保持类别比例

转载 作者:行者123 更新时间:2023-11-30 09:31:30 24 4
gpt4 key购买 nike

我正在研究二元分类问题,并且使用了一个大数据集(样本数量很大,功能不多)。数据不平衡,但我正在使用权重数组来解决这个问题(某种程度上)。

我一直在这个集合的小版本中尝试使用 sklearn 的一些分类器,显然 SVM 可以很好地满足我的需求。然而,一旦我尝试将 SVM 放入整个数据集中,就会花费很长时间(而且我也耗尽了内存)。

我想知道的是,Sklearn 中是否有任何快速方法来划分这个集合,比如说分成 10 个子集,保持类的比例,那么我可以将每个子集划分为训练/测试并拟合每个子集独立的 SVM(所以我也可以使用不同的处理器)?

最佳答案

您可以添加一个新列,它将是一个随机数,使用np.random.random_sample从0到1,然后您可以对class进行分组,并将pd.cut应用于生成的随机数,就像创建一个新列数据集一样:

df = pd.DataFrame({'class': np.random.choice(['A', 'B'], 100), 
'value': np.random.random_sample(100)})
df['dataset'] = pd.DataFrame(df.groupby('class').apply(lambda x:
pd.cut(x['value'], 10, labels=range(0, 10)))).reset_index(0, drop=True)

关于python - 如何将大数据集划分为n个子集并保持类别比例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55770280/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com