程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如何通过在 python 中引导来增加样本量?

发布于2023-02-03 21:17     阅读(781)     评论(0)     点赞(10)     收藏(2)


我尝试在 python 中的一个数据集上实现泊松回归。之后我想引导数据集以增加样本量。但是当我使用 spicy 的 bootstrap 函数时,我得到了一个错误,说

百分位数必须在 [0, 100] 范围内。

任何人都可以帮助如何在此数据集上执行引导程序?这是我的代码:

df = pd.read_csv('/content/ships.txt',sep='\s+')
df.to_csv('/content/ship2.csv',index=None)
data = pd.read_csv('/content/ship2.csv',skiprows=1,sep=',',names=['type','construction','operation','months','damage'])
dat = pd.get_dummies(data)
data_boot = bootstrap(dat,np.mean, n_resamples=100)

# ValueError: Percentiles must be in the range [0, 100]

解决方案


据我了解你的观点,你想通过复制它们的子样本来增加数据量(通常它不是数据科学中最好的,你完全应该考虑使用过采样方法,比如 SMOTE)。由于您的问题是重复的,我建议您对数据集进行采样并将结果连接到初始 df。这是执行此操作的代码

data1 = pd.read_csv('/content/ship2.csv',skiprows=1,sep=',',names=['type','construction','operation','months','damage'])
data2 = data1.sample(frac=0.1) # if you want to select a fraction, otherwise consider to substitute the "frac" parameter with "n"
data = pd.concat([data1, data2], axis=1)
data = data.sample(frac=1) # if you want to shuffle the increased dataset


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/1895305/435c143326ae04cc0aee/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

10 0
收藏该文
已收藏

评论内容:(最多支持255个字符)