加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 襄阳站长网 (https://www.0710zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

干货收藏!Python完整代码带你一文看懂抽样

发布时间:2019-09-25 18:49:07 所属栏目:建站 来源:宋天龙
导读:副标题#e# 1.什么时候需要抽样 抽样工作在数据获取较少或处理大量数据比较困难的时期非常流行,这主要有以下几方面原因: 数据计算资源不足。计算机软硬件的限制是导致抽样产生的基本原因之一,尤其是在数据密集的生物、科学工程等领域,不抽样往往无法对海

以上的数据记录数不是固定的,在实际工作时,如果没有特定时间要求,笔者一般会选择一个适中的样本量做分析,此时应综合考虑特征数、特征值域分布数、模型算法适应性、建模需求等;如果是面向机器计算的工作项目,一般会选择尽量多的数据参与计算,而有关算法实时性和效率的问题会让技术和运维人员配合实现,例如提高服务器配置、扩大分布式集群规模、优化底层程序代码、使用实时计算的引擎和机制等。

(2)抽样样本在不同类别中的分布问题

做分类分析建模问题时,不同类别下的数据样本需要均衡分布。

抽样样本能准确代表全部整体特征:

  • 非数值型的特征值域(例如各值频数相对比例、值域范围等)分布需要与总体一致。
  • 数值型特征的数据分布区间和各个统计量(如均值、方差、偏度等)需要与整体数据分布区间一致。
  • 缺失值、异常值、重复值等特殊数据的分布要与整体数据分布一致。

异常检测类数据的处理:

  • 对于异常检测类的应用要包含全部异常样本。对于异常检测类的分析建模,本来异常数据就非常稀少,因此抽样时要优先将异常数据包含进去。
  • 对于需要去除非业务因素的数据异常,如果有类别特征需要与类别特征分布一致;如果没有类别特征,属于非监督式的学习,则需要与整体分布一致。

4.代码实操:Python数据抽样

本示例中,将使用random包以及自定义代码实现抽样处理。数据源文件data2.txt、data3.txt和data4.txt位于“附件-chapter3”中。

整个示例代码分为5部分。

第1部分:导入需要的库

  1. import random # 导入标准库 
  2. import numpy as np # 导入第三方库 

这里用到了Python内置标准库random以及第三方库Numpy,前者用于做随机抽样,后者用于读取文件并做数据切片使用。

第2部分:实现简单随机抽样

  1. data = np.loadtxt('data3.txt') # 导入普通数据文件 
  2. data_sample = data[random.sample([i for i in range(len(data))], 2000)] 
  3.  # 随机抽取2000个样本 
  4. print(data_sample[:2]) # 打印输出前2条数据 
  5. print(len(data_sample)) # 打印输出抽样样本量 

首先通过Numpy的loadtxt方法读取数据文件。

(编辑:PHP编程网 - 襄阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!