一、简单随机抽样

将调查总体全部观察单位编号,再用抽签法或随机数字表随机抽取部分观察单位组成样本。
优点:操作简单,均数、率及相应的标准误计算简单。
缺点:总体较大时,难以一一编号。

1、pandas随机抽样

DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)

局限: 对于多类样本不能很好的进行抽样。
解决:对于不平衡数据,使用imblearn库中的函数完成随机过采样,随机欠采样。

注:
针对不平衡的数据,要实现欠抽样时,只需将replace=False,并只对大类样本进行抽样。要实现过抽样,相应的将repalce=True,并只对小类样本进行过抽样。最后将两类样本合并即可。

2、randow随机抽样

2.1、无放回随机抽样
sample(list, k)返回一个长度为k新列表,新列表存放list所产生k个随机不重复的元素

import random
idxTest = random.sample(range(nPoints),nSample)
#得到的idxTest 是一个list形式

2.2、有放回随机抽样

nBagSamples=50
for i in range(nBagSamples):idxBag.append(random.choice(range(len(xTrain))))
#choice直接选出的不是list

分层抽样

先按对观察指标影响较大的某种特征,将总体分为若干个类别,再从每一层内随机抽取一定数量的观察单位,合起来组成样本。有按比例分配和最优分配两种方案。
优点:样本代表性好,抽样误差减少。

整群抽样(cluster sampling)

总体分群,再随机抽取几个群组成样本,群内全部调查。
优点:便于组织、节省经费。
缺点:抽样误差大于单纯随机抽样。

系统抽样

先将总体的观察单位按某一顺序号分成n个部分,再从第一部分随机抽取第k号观察单位,依次用相等间距,从每一部分各抽取一个观察单位组成样本。
优点:易于理解、简便易行。
缺点:总体有周期或增减趋势时,易产生偏性。

# 系统抽样
def SystematicSampling(dataMat,number):    length=len(dataMat)k=int(length/number)sample=[]     i=0if k>0 :       while len(sample)!=number:sample.append(dataMat[0+i*k])i+=1            return sampleelse :return RandomSampling(dataMat,number)

不平衡数据抽样

上采样(过采样)和下采样(负采样)策略是解决类别不平衡问题的基本方法之一。上采样即增加少数类样本的数量,下采样即减少多数类样本以获取相对平衡的数据集。

1、下采样

从多数类中随机抽取样本(抽取的样本数量与少数类别样本量达到目标比例)从而减少多数类别样本数据,使数据达到平衡的方式。

def lower_sample_data(df, percent=1):'''percent:多数类别下采样的数量相对于少数类别样本数量的比例'''data1 = df[df['Label'] == 1]  # 将多数类别的样本放在data1data0 = df[df['Label'] == 0]  # 将少数类别的样本放在data0index = np.random.randint(len(data1), size=percent * (len(df) - len(data1)))  # 随机给定下采样取出样本的序号lower_data1 = data1.iloc[list(index)]  # 下采样return(pd.concat([lower_data1, data0]))

2、过采样

通过抽样来增加少数样本的数目,从而达到数据平衡的目的。一种简单的方式就是通过有放回抽样,不断的从少数类别样本数据中抽取样本,然后使用抽取样本+原始数据组成训练数据集来训练模型;不过该方式比较容易导致过拟合,一般抽样样本不要超过50%。

因为在上采样过程中,是进行是随机有放回的抽样,所以最终模型中,数据其实是相当于存在一定的重复数据,为了防止这个重复数据导致的问题,我们可以加入一定的随机性,也就是说:在抽取数据后,对数据的各个维度可以进行随机的小范围变动,eg: (1,2,3) --> (1.01, 1.99, 3);通过该方式可以相对比较容易的降低上采样导致的过拟合问题。

python抽样方法概述相关推荐

  1. 基于 Python 的 8 种常用抽样方法

    抽样是统计学.机器学习中非常重要,也是经常用到的方法,因为大多时候使用全量数据是不现实的,或者根本无法取到.所以我们需要抽样,比如在推断性统计中,我们会经常通过采样的样本数据来推断估计总体的样本. 上 ...

  2. python按指定概率抽样_python:抽样和抽样方法

    学习目标目标 知道总体.样本.样本大小.样本数量 知道样本统计量和总体统计量 知道总体分布.样本分布和抽样分布 知道常用的抽样方法 某糖果公司研发了一种超长效口香糖,为了得到口味持续时间的数据,公司聘 ...

  3. python:抽样和抽样方法

    学习目标 目标 知道总体.样本.样本大小.样本数量 知道样本统计量和总体统计量 知道总体分布.样本分布和抽样分布 知道常用的抽样方法 某糖果公司研发了一种超长效口香糖,为了得到口味持续时间的数据,公司 ...

  4. python os方法-Python os.lchflags() 方法

    Python os.lchflags() 方法 概述 os.lchflags() 方法用于设置路径的标记为数字标记,类似 chflags(),但是没有软链接. 只支持在 Unix 下使用. 语法 lc ...

  5. python统计分析方法

    本文将通过kaggle的一个实例来,来展示如何通过统计分析的方法来分析自己的数据集.当我们处理一个数据集,分析里面特征的时候.通常分成三个步骤: 探索性数据分析 统计分析 预测建模 这三个步骤也可以看 ...

  6. python tell方法_Python File tell() 方法

    Python File tell() 方法 概述 tell() 方法返回文件的当前位置,即文件指针当前位置. 语法 tell() 方法语法如下: fileObject.tell(offset[, wh ...

  7. python tell方法_Python File tell()方法

    Python File tell()方法 概述 tell() 方法返回文件的当前位置,即文件指针当前位置. 语法 tell() 方法语法如下: fileObject.tell(offset[,when ...

  8. 数据处理笔记11 类别不平衡处理-抽样方法

    目录 失衡的程度 分层抽样 分层抽样示例 上采样 下采样 失衡的程度 不平衡数据即类别之间的分布不均匀 一般多少比例为严重不平衡, 参考: 数据比例达到多少才是不平衡数据? - 知乎 根据少数类占比, ...

  9. matlab舍选抽样正态分布,正态分布的抽样方法.pdf

    正态分布的抽样方法 第 14 卷 第 4 .5 期 计 算 物 理 Vol . 14 ,No . 45 1997 年 9 月 CH IN ESE J OU RNAL OF COM PU TA T IO ...

最新文章

  1. 浅谈ASP.NET的Postback
  2. VC各种情况下的窗口句柄的获取
  3. python lua 性能比较 内存_Lua 的速度为什么比 Python 快?
  4. 服务器抽屉式维护,一种服务器用可顺序运动的滑轨
  5. 用企业实例说明,制造业如何打破4大困境,解决数字化转型痛点
  6. liunx 命令手册 (chm)
  7. 推荐一款轻量级的kafka管理平台:kafka-console-ui
  8. 201703-2-学生排队
  9. 【正在完善】高级CSS特效解析其示范案例
  10. 力扣5.8每日一题——状压dp
  11. Matlab中散点图绘制详细教程scatter函数(附matlab代码)
  12. wordpress比其它phpcms有什么优势,看完就知道了
  13. Unity分屏之使用TUIO实现互动投影
  14. 十年前与十年后的我们,流着泪看完的经典语录!
  15. 卸载删除gitlab
  16. ODL中的Karaf命令使用
  17. 几行最简单的代码 ,却改变了世界!
  18. 多线程(一) 线程概念及创建线程的方法
  19. 5种方法完美解决android软键盘挡住输入框方法详解
  20. Nvidia显卡重新安装解决方案

热门文章

  1. C#画五角星、月牙形和它们相交求面积
  2. 用svg画一个梯形角标
  3. jQuery全屏滚动插件 Fullpage.js 及 move.js
  4. 一 树莓派简介与购买
  5. 一小段Python代码,破解加密zip文件的密码
  6. Microsoft Visual Studio 2008破解方法
  7. elasticsearch_head 启动集群健康值未连接?
  8. 自动发带查询结果附件的邮件
  9. 新建word文档默认作者如何修改
  10. 贪吃蛇(欢乐小游戏)