精华内容
下载资源
问答
  • 数据准备(预处理)过程中常常需要进行数据的处理,例如数据清洗包括缺失值和异常值处理,数据变换如规范化数据,数据规约如属性规约(选择部分有代表性的属性)等,Python有很多进行数据预处理的快速方法,以数据...

    数据准备(预处理)过程中常常需要进行数据的处理,例如数据清洗包括缺失值和异常值处理,数据变换如规范化数据,数据规约如属性规约(选择部分有代表性的属性)等,在Python有很多进行数据预处理的快速方法,以数据清洗中的缺失值处理为例,在实际过程中常常会发现有的数据是缺失(NaN)的,这些值是需要特别处理的。缺失值的判断可利用numpy中的isnan()函数,而对于Series或DataFrame,缺失值的判断和处理非常的方便,例如df.dropna()可以删掉含NaN(NA)的行,df.dropna(how=‘all’)只丢弃全为NaN的那些行,也可以进行值的插补,例如用0、均值、中位数或众数等进行填充插补,也可用插值法即基于已知点建立插值函数f(x),通过xi求得f(xi)来近似替代,常用方法有拉格朗日插值法和牛顿插值法NaN,具体插值例子请见下周6.5节。以常用的简单填充为例,可用df.fillna(某一个值)方式用某一个值如0或平均值等代替NaN(例如df.fillna(0)表示用0代替NaN),也可用其method参数指定缺失值的填充方向,例如:

    fruit_df = pd.Series([‘apple’, ‘orange’, ‘pear’], index=[0, 2, 5])
    fruit_df = fruit_df.reindex(range(7))
    fruit_df
    0 apple
    1 NaN
    2 orange
    3 NaN
    4 NaN
    5 pear
    6 NaN
    dtype: object

    inplace参数设为True表示直接修改原对象fruit_df,否则将填充后的结果返回,原对象不变

    fruit_df.fillna(method=‘ffill’, inplace = True)
    print(fruit_df)
    0 apple
    1 apple
    2 orange
    3 orange
    4 orange
    5 pear
    6 pear
    dtype: object

    ffill表示用前一个非缺失值代替NaN填充,而bfill表示用下一个非缺失数据代替NaN填充,要根据数据的特点选择不同的填充方式,如果选择错误结果可能会不能正确填充,请选择如下填充方式的结果。

    fruit_df = pd.Series([‘apple’, ‘orange’, ‘pear’], index=[0, 2, 5])
    fruit_df = fruit_df.reindex(range(7))
    fruit_df.fillna(method=‘bfill’, inplace = True)
    print(fruit_df)

    A.
    0 apple
    2 orange
    5 pear
    dtype: object

    B.
    0 apple
    1 orange
    2 orange
    3 pear
    4 pear
    5 pear
    6 NaN
    dtype: object

    C.
    0 apple
    1 apple
    2 orange
    3 orange
    4 orange
    5 pear
    6 pear
    dtype: object

    D.
    0 apple
    1 orange
    2 orange
    3 pear
    4 pear
    5 pear
    6 pear
    dtype: object
    正确答案:B你选对了

    展开全文
  • 目前很多互联网软件应用,除了应用程序本身外,后台都会有数据库做支撑。...实际工作创建测试数据过程,往往需要很长的时间,有时候多影响到项目的进度。下面将从平时测试一些实际应用出发,

     目前很多互联网软件应用,除了应用程序本身外,后台都会有数据库做支撑。软件款测试人员在测试这种类型的应用软件时,除了需要设计测试用例外,还需要准备相应的测试数据。可以说准备测试数据也是作为软件测试的一项必须的工作。如果没有正确的测试数据,测试过程有时候就无法很好的执行,测试结果也会不准确。在实际工作中创建测试数据的过程,往往需要很长的时间,有时候多影响到项目的进度。下面将从平时测试一些实际应用出发,整理了如何准备测试数据的方法,和大家分享下,期待对大家有所帮助。


           测试数据的格式和内容是来源于我们设计的测试用例提取出的需求和被测软件的接口入参。一般创建测试数据的方法分为手动创建和采用程序的自动化创建两种方法。下面我们结合实际分别来谈谈这两种方法。


    手动创建测试数据的一般有如下几种方法:

    1)      手动创建订单测试数据:在测试环境下,我们根据下单流程和业务需求,来模拟用户购买下单,选择货到付款或者在线支付,从而得到自己想要的一个订单的数据,这种方式适合于需要的测试数据少的情况,基本常在联调测试或者系统测试完成后的验收测试阶段。


    2)      通过SQL语句修改数据库的方式:一般我们被测应用程序后台都有数据库来存储数据,这样我们可以通过一些SQL语句来创建属于我们的测试数据。首先我们登录测试环境下的数据库主机,可以用where查询条件来筛选定位部分符合某些条件的测试数据库记录,然后利用update方法来更新我们想要的字段名和对应的字段的value,从而创建了符合条件的一批测试数据。


    3)      测试数据的备份导入:在我们本地机器上存储了一些符合条件的保存在excel文件或者DB文件的备份,我们可以通过导入数据的方式,来实现创建合适的测试数据。


    4)      线上数据导入到测试环境:涉及到线上环境,这个要谨慎。一般要求事先进行调研,先确定线上的数据是否可以按照自己设置的条件准确地分流到测试环境,同时这些数据是直接使用还是需要加工后才能使用。一般都有专门用于测试的预发布环境(线上的测试环境),以及分流条件的配置,可以控制分流到预发布环境的数据数量。


    自动化创建测试数据的方法

    自动化创建测试数据基本上都是用自动化程序来实现的,下面以Python来说明下常见的几种情况:

    1)      Web页面创建测试数据:如果我们需要手动在web页面上点击一系列操作,才能完成下单的操作,我们可以考虑用Python加selenium的脚本是实现,当需要下单的时候,只需要运行一下脚本即可;实例代码如下:


    from selenium import webdriver

    import time

    driver = webdriver.Firefox()


    ##下面定义一些操作和处理方法,举例:


    driver.find_element_by_id("kw").send_keys("money is coming")

    time.sleep(2)

    driver.find_element_by_id("su").submit()

    time.sleep(3)

    driver.quit()


    2)      数据中包含数字(要求不重复)参数的处理方法:当我们创建的测试数据中,需要不重复的数字作为参数的时候,我们可以考虑用Python自带的random函数,举例如下:


    import random


    #用for循环指定数据的多少


    for i in xrange(1,5):


    #生成随机数的大小可以由上下限指定,


    num = random.randint(1,20000)


    #也可以直接是 data=num,看你的数据模板是什么


    data = “abc d%def” %num


    print data


    3)      数据中字符串(要求不重复)的处理方法:当我们创建的测试数据中,需要不重复的字符串作为参数的时候,我们可以考虑用Python自带的uuid函数,举例如下,


    import uuid


    #用for循环指定数据的多少


    for i in xrange(1,5):


        str = uuid.uuid1()


    #也可以直接是 data=str,看你的数据模板是什么


       data ="abc s% def" % str


             print data


    4)      数据库中批量数据的修改方法:也可以通过Python脚本加SQL语句来完成,举例如下:


    import pyodbc


    conn=pyodbc.connect('DRIVER={SQLServer};SERVER=192.168.1.1;DATABASE=TEST;UID=XXXXX;PWD=XXXX)


    sql = "update tablename set  productID =xxxx,quantity=xxxxx where orderID in( X1,X2,...Xn)"


    cursor = conn.cursor()


    cursor.execute(sql)


    resultRows = cursor.fetchall()


    nums=len(resultRows)


    print nums


            以上仅仅列举了一些常用的创建测试数据的方法,实际工作中,远远不止这些方法。在平时的项目测试过程中,有时候并不是单一的运用某种方法去创建测试数据,可以将手工方式和自动化方式结合起来,灵活运用多种方式去创建不同测试阶段需要的测试数据。同时,有经验的测试工程师平时都会保存一些常用的测试数据(比如,订单id,数据库备份,数据模板等等)。


            随着互联网软件应用越来越多,针对不同场景的测试用例也日益复杂化,很多情况下需要专门的测试数据来支持。在不久的将来,如何快速地创建测试数据,也是测试工程师的重要能力之一。 将来的IT时代,将是数据的时代,测试人员也要与时俱进,做一个Data达人。


    ◆来源:图文来自网络,如有侵权请联系删除

    展开全文
  • 答:作二进制除法,1101011011 0000除以10011(这是根据P(X)=X^4+X+1得出的)得余数1110 添加的检验序列是1110作二进制除法,两种错误均可发展仅仅采用了CRC检验,缺重传机制,数据链路层的传输还不是可靠的传输。...

    答:作二进制除法,1101011011 0000除以10011(这是根据P(X)=X^4+X+1得出的)得余数1110   

                 

    添加的检验序列是1110

    作二进制除法,两种错误均可发现(发展

    仅仅采用了CRC检验,缺重传机制,数据链路层的传输还不是可靠的传输。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            

    展开全文
  • 数据探索和数据准备的步骤

    千次阅读 2015-07-04 11:21:26
    数据探索和数据准备的步骤前言如我们所知,数据分析工作的70%的时间都用作于数据清洗,数据探索和数据准备当中,这可以说是数据分析的核心所在。数据清洗主要是工具层面上的,这里先不讨论。我们这里讨论数据探索和...

    前言

    如我们所知,数据分析工作的70%的时间都用作于数据清洗,数据探索和数据准备当中,这可以说是数据分析的核心所在。数据清洗主要是工具层面上的,这里先不讨论。我们这里讨论数据探索和数据准备的六大步骤。

    • 变量的识别
    • 单变量的分析
    • 双变量的分析
    • 处理缺失值
    • 处理异常值
    • 特征提取(Feature Engineering)

    变量的识别

    在对数据分析之前,我们需要去识别变量,去了解变量的类型和数据的类型。比如判别变量是分类型变量的还是连续型变量,是二分类还是有序变量。这些知识在任何一本统计学书上第一章都会详细介绍。图片来自于哈佛大学数据分析课程

    单变量的分析

    识别完变量之后,我们算是初步的了解了数据的全貌,知道其大概表示什么。接下来我们应该对每一个变量进行分析,以期更深入的了解数据,并希望从中得到一个假设,以便接下来的检验。对于单变量的分析,我们根据单变量的类型进行特定的分析。
    连续型变量

    • 概括性度量:均数,中位数,众数,最大值,最小值,极差,百分位数,四分位数,方差,标准差,偏度和峰度。
    • 图形:直方图和箱型图
    • 检验:检验其分布:P-P图和K-S单样本检验

    分类型变量:主要是要频数表(频率表)去了解其分布,图形主要是用条形图,也可以用游程检验去检验其是否随机,以判定抽样是否随机。

    双变量的分析

    进行完单变量的分析后,我们对数据有了更深的理解,下面我们该进行双变量的分析。我们进行双变量的分析主要有两个目的,第一,我们想知道我们的目标变量与已知变量之间有什么关系;第二,我们想验证在单变量分析中得出的假设。双变量的分析可以分为三类:
    连续型与连续型:对于两个连续型数据的分析,我们主要是用散点图和相关系数去判定。通过散点图看出两者是否有线性关系,在通过计算相关系数去判定关系的强弱。
    分类型与分类型:而对于两个分类型数据的分析,我们可以用交叉分组表,堆积条形图和卡方检验去验证两者之间的关系。
    分类型与连续型:分类型和连续型数据的分析,我们主要用到t检验和方差分析

    处理缺失值

    在数据分析中,缺失值是一个很让人头疼的问题,有时候缺失值过多,以至于根本无法进行数据分析。我们这里讨论一下如何处理数据中的缺失值。
    缺失值产生的原因无外乎两个:一、数据提取时出错,也就是自己操作出错,这个很好说,重新提取或检查一遍即可;二、数据收集时出错,这个很就不好解决。
    缺失值处理:

    • 删除:1.整行删除:对有缺失值的数据,整行删除。这样虽然简单,但是也削弱了模型的功能;2.只删除缺失值:这样虽然保存了较多的数据,但是使得数据中不同的变量有不同的样本量,不利于比较。
    • 替代:计算其均值/中位数/众数去代替缺失值,这也是最常用的方法。
    • 预测模型:以没有缺失值的数据为训练数据,以有缺失值的数据为测试数据,建立预测模型,预测其缺失值。缺点是,若变量之间没有关系,则预测的值根本不准。
    • KNN代替:用最邻近算法计算出其最邻近的属性,以那个属性的值代替缺失值。优点是,不管是分类型还是数值型的都可以操作,缺点是,太费时间。

    处理异常值

    对于异常值,我们可以说是对它喜忧参半,如果异常值是自然存在的,我们就可以对异常值进行一系列分析,比如用于欺诈检测,入侵检测等。但是大部分异常值的是人为产生的,其产生原因可能是录入错误、测量误差、实验误差、抽样误差等产生。这些异常值通常会混淆我们的视听,影响我们对数据的理解,破坏数据之间的联系,因此我们该学会如何去处理异常值。
    检测异常值

    • 图形:箱图、直方图、散点图
    • 在1.5倍的四分位差之外的数据可定为异常值
    • 在数据的5%-95%之外的数据可定为异常值
    • 在均值的三个标准差之外的数据
    • 用聚类分析的方法检测异常值(马氏距离和Cook’s D距离)

    处理异常值

    • 删除:如果是录入错误,或数据为很小的一部分即可删除。
    • 转换变量和聚类:有时候通过一些简单的变量转换和聚类即可减少异常值对整体数据的影响
    • 替换:用均值/中位数/众数去代替异常值
    • 分开处理:若其为自然的异常值,且数据较多,我们就可以将其另分一组,进行分析

    特征提取(Feature Engineering)

    在建模之前,特征提取是极其重要的步骤,它的好坏直接影响你模型的好坏,所以我们必须去学习如何实现特征提取。
    特征提取就是从已知的数据中提取更多的信息,你不加入任何数据,但是你却让你的数据更加有用。
    特征提取的方法有:变量转换和变量创建。
    变量转换:当我们需要改变数据的度量(标准化)或需要把非相关改为相关或改变变量分布时,我们需要用到变量转换,比如进行对数,平方/立方根,分组等方式。
    变量创建:我们都是基于现有的变量来创建新变量。比如说我们可以以上变量转换的方法形成新的变量,也可以把分类变量进行数值化,以便于分析等。
    总结一下:进行数据探索我们需要6个步骤

    1. 识别变量:分类型?数值型?
    2. 单变量分析:数值描述,图表描述,检验分布
    3. 双变量分析:线性关系?相关?
    4. 处理缺失值:删除?代替?预测?
    5. 处理异常值:如何检测?如何移除?
    6. 特征提取:一般有哪些提取方法?

    以上就是数据探索和数据准备的一些步骤,这些步骤不去实践永远都不会用作用,所以我们应该去多做分析,多去探索,如果你的英语不错,kaggle是一个好的去处。

    展开全文
  • 学习使用Hive的过程中,发现了一些坑,它们或许是Hive提倡的比关系数据库更加自由的体现(同时引来一些问题),或许是一些bug。总而言之,这些都需要使用Hive的开发人员额外注意。本文旨在列举我发现的2个通过查询...
  • 数据挖掘过程总结

    千次阅读 2016-06-30 20:11:02
    数据准备:确定数据挖掘任务所涉及的操作数据对象(目标数据),也就是根据数据挖掘任务的具体要求,从相关数据源抽取与挖掘任务相关的数据集 数据清洗:清除错误异常样本(根据问题确定具体判断条件),清除重复...
  • 数据分析的过程描述

    千次阅读 2021-03-24 15:53:44
    数据分析的过程描述 数据分析过程可以用以下几步来描述: 转换和处理原始数据,以可视化方式呈现数据,建模做预测。 因此数据分析几乎可以概括为由以下几个阶段组成的过程链: ① 问题定义 ② 数据转换 ③ 数据...
  • 如何准备性能测试数据

    千次阅读 2016-02-19 18:19:01
    软件性能测试过程中,测试数据准备是一个非常系统化、工作量非常庞大一项工作。如何准备支持不同业务操作、不同测试类型的大量测试数据来满足负载压力测试的需求是性能测试过程中经常面对的一个重要话题。   ...
  • 机器学习之数据准备

    千次阅读 2018-10-03 00:07:17
    04 | 数据准备 数据准备阶段包含从原始数据到形成最终数据集(将要被喂给模型工具的数据)的所有操作。数据准备任务可能要进行多次,没有规定的固定顺序。任务包括:表,记录和特征选择以及为了模型工具的数据清洗...
  • 数据挖掘过程模型研究

    千次阅读 2014-12-06 22:39:15
    越来越多的企业开始进行或准备进行数据挖掘,他们希望能够为企业决策提供有力的支撑,市场占据有利的位置。企业进行数据挖掘工作,为了保证目标、降低成本、提高效率,需要一个标准的过程模型。CRISP-DM通过...
  • 性能测试数据准备-埋数篇

    千次阅读 2019-01-07 21:03:20
    性能测试准备阶段一般需要提前将数据准备好,用于脚本的参数化以及后面压测。 性能测试数据一般分为存量数据和交易数据。存量数据为历史记录数据,一般较大。交易数据的数据量则需满足压测时的需求,要足够多。 ...
  • CAN笔记(20) 过程数据对象

    万次阅读 2019-09-11 11:48:25
    过程数据对象、CAN-ID定义、传输形式、通信参数、映射参数
  • 8.HCNA-HNTD——数据转发过程

    千次阅读 2015-02-26 08:59:49
    数据传输过程是一个非常复杂的过程,例如数据在转发的过程中会进行一系列的封装和解封装。对于网络工程师来说,只有深入地理解了数据在各种不同设备上的转发过程,才能够对网络进行正确的分析和检测。学习目标: 1...
  • 它是专门为了YOLO系列的网络训练准备数据的,YOLO这一点还是很任性的,它没有使用任何一个已有的深度学习框架来实现他的代码,而是自己写了一个纯C的轻量级框架—darknet,所以它的训练数据准备也不是按照标准开源...
  • 深度学习训练数据打标签过程

    万次阅读 多人点赞 2018-04-13 17:45:09
    为了获取大量的图片训练数据采集数据过程中常用视频的方式采集数据,但对于深度学习,训练的过程需要很多的有有标签的数据,这篇文章主要是解决视频文件转换成图片文件,并加标签,最后把数据存储到pkl文件中...
  • 网络5层体系结构数据传输过程

    千次阅读 多人点赞 2018-08-08 19:30:10
    5层网络体系结构  应用层  运输层  网络层(网际层)  数据链路层 ... 主要任务:考虑怎样才能连接各种计算的传输媒体... 主要任务:同一个局域网,分组怎样从一个主机传送到另一个主机(不经过路由器) ...
  • ArcGIS水文分析实战教程(3)DEM数据准备

    万次阅读 多人点赞 2017-06-21 23:12:37
    GIS与水文分析(3)DEM数据准备 ArcGIS的水文分析工具需要DEM数据才能执行,因此使用之前必须要准备好DEM数据并且针对DEM数据进行预处理。本章节内容介绍如何根据已有的数据制作和处理DEM,并实现水文分析前的...
  • 【机器学习】回归过程中数据标准化

    万次阅读 多人点赞 2018-05-01 14:12:13
    查询了大量的资料后,准备在这篇博客上做一个总结。 为什么要数据标准化 数据标准化的原理往往是来自于独立连续变量的量纲。举一个例子,如果我们要对人口进行回归,采取“个数”的量纲和“百万个”的量纲得到的...
  • 网上大量搜集资料后,实现Mask-RCNN,但是过程中还是出现了很多很多的问题,所以将过程记录如下,方便日后学习。 一、实验前准备 1. COCO数据集 COCO的 全称是Common Objects in COntext,是微软团队提供的一个...
  • SNAP 时间序列InSAR数据准备

    千次阅读 2018-09-26 16:19:41
    其中s1tbx可用于哨兵1A、1B InSAR数据处理,可以进行哨兵数据的导入、精轨校正、配准、干涉、数据条带分割、Deburst(不知道如何翻译准确)、数据剪裁操作,以及时间序列InSAR数据准备工作(时间序列分析StamPS文件...
  • 说明:虽然没图,但文字表述很清楚,自己做...依照excel数据模版格式准备好建表语句,将中间过渡表对应12家村行数据库分别建立。(二步骤的第2小步) 将excel补录数据转换成txt文件导入中间过渡表。(二步骤...
  • 浅谈测试数据准备

    千次阅读 2008-11-23 13:17:00
    项目进入正式测试阶段之前,有一个环节就是测试数据准备。当时,面对项目复杂的业务规则,一下子还不知道这个测试数据如何入手,往往准备的很粗糙。紧接着就是紧张的测试工作。测试过程中,原来不清晰的业务规则...
  • 自动化测试之测试数据准备

    千次阅读 2016-10-10 21:46:09
    而自动化的测试数据准备又有其特殊性,就是数据的可重复利用。因为脚本的执行跟人工的最大区别就是,它只会重复地机械地执行一个动作。而它最大的好处就是,公正。如果脚本failed了,那肯定是哪里出了问题,但这个...
  • PostgreSQL存储过程返回数据集实例

    千次阅读 2015-01-16 17:01:34
    这里用一个实例来演示PostgreSQL存储过程如何返回数据集. 1 首先准备数据表 //member_category create table member_category(id serial, name text, discount_rate real, base_integral integer); alter table ...
  • DMA传输数据过程简介

    万次阅读 2015-10-20 11:05:25
    准备阶段:这个阶段,CPU通过指令向DMA控制器发送必要的传送参数。  ①控制字送DMA控制器指出数据传送方向。  ②预置MBAP,即数据主存缓冲区的首址。  ③置DAR外设的地址,如外设为磁盘机,其地址包括...
  • 面试问题准备-数据仓库建模篇

    万次阅读 多人点赞 2019-04-06 23:26:51
    其次,对多个异构的数据源有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库数据一般不再修改。 数据仓库是一个面向主题的(Subject Oriented)、集成的(Integrate...
  • 数据库编程里使用数据类型,可以提高代码的重用性,它们经常被使用方法和存储过程中。使用数据类型,我们可以避免存储过程里定义一串的参数,让人眼花缭乱,它就相当于面向对象语言里,向一个方法里传入一个...
  • 很多小伙伴爬虫做多了发现没有开始做合理规划的情况下后期整理或者再次使用、查询的时候非常尴尬,为了避免这种尴尬的局面,很多内容要提前做好准备,也是为了后期的管理框架搭建做准备。 因此这个章节很重要,要...
  • 数据准备--降低基数,连续变量分段

    千次阅读 2016-11-21 16:04:32
    数据准备非常重要: 1.从不同的渠道收集数据; 2.清理数据意外错误或被认为是极端值的取值; 3.生成衍生的变量(feature)。数据处理过程,需要进行的操作: 当名义变量的取值大于12个,考虑降低基数: 1>将...
  • 大数据 《二》数据挖掘之过程模型

    万次阅读 2018-08-19 20:37:25
    数据挖掘之过程模型 一业务理解阶段 确立业务目标、进行环境评估、确定DM目标、产生项目计划 需要生产文档: 业务背景报告、业务目标报告、业务成功难则、资源清单、需求、假设、限制、风险和对策、成本和...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 801,542
精华内容 320,616
关键字:

在数据准备过程中