利用SQL Sserver进行数据分层抽样操作流程

1. 创建Integration Services项目

如下图所示,首先建立Integration Services项目,自定义名称,项目保存位置等信息。

《利用SQL Sserver进行数据分层抽样操作流程》
《利用SQL Sserver进行数据分层抽样操作流程》

2. 创建Data Flow Task

在控制流选项卡的状态下创建Data Flow Task

《利用SQL Sserver进行数据分层抽样操作流程》

3. 开始创建分层抽样数据

3.1 添加OLE DB Source

切换到数据流选项卡,添加OLE DB Source,用于装在数据源,在没有建立数据连接的情况下,右边有一个红色的叉。

《利用SQL Sserver进行数据分层抽样操作流程》

注意:一定要使用OLE DB Source,而不是OLE DB Destination

3.2 设置数据源

双击上图的OLE DB Source,跳出如下OLE DB源编辑器

《利用SQL Sserver进行数据分层抽样操作流程》

1.如果建立过连接,那么在OLE DB连接管理器点选需要连接即可;
2.如果没有连接可用,那么在新建一个数据库连接,配置相关信息即可;
3.建立好连接后,选择需要的表或者视图;
4.在预览里,可以查看连接好的表前200行数据;

3.3 创建Conditional Split

创建条件分层数据

《利用SQL Sserver进行数据分层抽样操作流程》

在没有Conditional Split与OLE DB Source之间的数据流之前,如果如果去设置Conditional Split的属性,会报错,当你去编辑属性的时候,发现根本找不到你需要的 表字段

《利用SQL Sserver进行数据分层抽样操作流程》

3.4 建立OLE DB Source与Conditional Split之间的数据流

《利用SQL Sserver进行数据分层抽样操作流程》

建立好数据流之后,再去设置分层条件

3.5 设置分层条件

根据列字段,设置分层的条件

《利用SQL Sserver进行数据分层抽样操作流程》 Paste_Image.png

如上图所示,这里使用了class字段进行分类,class字段位字符类型数据,因此在设置条件时,需要使用英文状态下的双引号包起来,如果出现如果所示的红色文字,请注意检查是否使用了中文状态下的双引号。输出名称自由设置即可。

3.6 插入Row Sampling

如下图所示,插入两个Row Sampling,一个用于装载Negative Data,一个用于装载Positive Data

《利用SQL Sserver进行数据分层抽样操作流程》
《利用SQL Sserver进行数据分层抽样操作流程》

注意:在建立Conditional Split与Row Sampling之间的数据流时,注意数据的数据与我们设置的Row Sampling预期是否一致。

3.7 设置Row Sampling的属性

双击Row Sampling,设置属性,如下图所,设置行数,选中样本输出名称及未选中样本输出名称,输出名称可以自行设定,便于自己区分。
勾选 使用以下随机种子选项,这样每次抽样的结果都会是一样的。

《利用SQL Sserver进行数据分层抽样操作流程》

注意:此次采用分层抽样而非概率随机抽样,因此此次需要抽取的数据行数,需要自行根据实际情况进行设定,如果采用八二原则,则需要计算分类群体的总量数据,在总量的基础上再进行 训练->测试数据的分割。

3.8 插入Union All并设置数据的合并

在次之前,我们已经将数据进行分层,并设置好各层的训练数据,测试数据的配比,在此,我们需要将分层数据进行抽样汇总,需要使用Union All单元。

《利用SQL Sserver进行数据分层抽样操作流程》

注意:数据输出之间的关联。

3.9 插入OLE DB Destination

最后,插入OLE DB Destination,用于分层抽样数据的目标宿主,在配置属性里面,新建表用于存储对应的分层数据。

《利用SQL Sserver进行数据分层抽样操作流程》 Paste_Image.png

注意:在创建向导里新建,会弹出创建的表,根据自己的需求,可以修改创建的表名称。
至此,基本已经建立分层抽样数据,但是,当我们查看数据流图时,发现OLE DB Destination上还有红色的叉。这是怎么回事。

《利用SQL Sserver进行数据分层抽样操作流程》

3.10 设置新建表字段与数据源之间的关联。

上一步的红色叉警告,是因为我们没对OLE DB Destination的表字段与数据源之间的关联,我们只需要在属性中配置他们的关系即可。

《利用SQL Sserver进行数据分层抽样操作流程》

打开属性向导,切换至映射选项卡,建立映射关系,确定即可。这样,红色警告就会消失。至此,分层抽样数据流图已经建立完毕。

《利用SQL Sserver进行数据分层抽样操作流程》

4. 运行项目,对数据进行分层抽样

万事具备,只欠运行。
点击启动,运行,就可以得到最终的数据。

《利用SQL Sserver进行数据分层抽样操作流程》

当我们看到数据流上有数据信息产生,有绿色的勾,那么即表示成功建立完毕。点击下面的链接,可以返回到数据流图界面。

《利用SQL Sserver进行数据分层抽样操作流程》

5. 数据库查看分层抽样数据

打开数据库,可以发现数据库中创建了两个新表,即我们在3.9中创建的表,里面有对应的分层数据。

《利用SQL Sserver进行数据分层抽样操作流程》

至此,分层抽样数据准备完毕,可以用于数据的建模分析。

    原文作者:我叫大湿兄
    原文地址: https://www.jianshu.com/p/de1f07f5d089
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞