三创赛商务大数据分析实战赛

数据采集

概念

数据采集就是搜集符合数据挖掘研究要求的原始数据(Raw Data)。原始数据是研究者拿到的一手或者二手资源。数据采集既可以从现有、可用的无尽数据中搜集提取你想要的二手数据,也可以经过问卷调查、采访、沟通等方式获得一手资料。不管用哪种方法得到数据的过程,都可以叫做数据采集。

步骤

1.采集:将整个HTML或者JS文件下载到本地,此时数据在文件中,文件可转换成文本这种可读的类型。
2.存储:存储数据一般将下载的文件或者文本整个存入数据库。
3.清洗:从文件或者文本中提取目标资料,并组织成表格形式,形成可供分析的原始资料。

采集工具与方法

使用八爪鱼采集器来进行数据采集

1. 进入八爪鱼采集器,创建任务组,并输入网址,保存设置即可打开网页。如图所示。

2.自动识别网页内容后,选取你想采集的内容,生成采集设置,选择是否要翻页等选项,确保下方栏内出现你想要采集的内容(如下图)后,开始采集

3.采集完成后,检查是否成功采集,并将文档保存

数据连接

数据源

了解数据连接的意义之前,首先先来了解一下数据源的概念:数据源是指数据库应用程序所使用的数据库或者数据库服务器。
数据源(Data Source)顾名思义,数据的来源,是提供某种所需要数据的器件或原始媒体。在数据源中存储了所有建立数据库连接的信息。就像通过指定文件名称可以在文件系统中找到文件一样,通过提供正确的数据源名称,可以找到相应的数据库连接。

数据源连接

数据连接也可以称作数据源连接,其主要作用是与业务数据库取得连接,从而获取业务数据进行分析。平台数据源的连接主要包含关系数据库、本地数据库、多维数据库、NoSQL数据库、高速缓存数据库、跨库联合数据源。“数据连接”界面如下

此次项目选择excel来进行操作

操作步骤

导入数据源
如图新建表,导入表格


选择所要上传的文件后进入“数据预览与导入”界面,选择导入的数据源、导入表名及其它设置信息后,点击“导入数据”按钮,完成数据导入

(1)导入数据源
可以选择文件数据导入到高速缓存库、MySQL、Oracle、DB2_V9、MSSQL。(目标数据源选择“MySQL、Oracle、DB2_V9、MSSQL”时,需在数据源界面勾选“允许加载Excel数据”)。

(2)导入表名、数据库表名

导入表名与数据库表名可根据自己的需要进行命名。输入表名时,应注意不支持输入类似如下的特殊字符:/\'|"*?%.><=:😭)[]。,输入数据库表名时注意仅支持字母、数字、下划线,且不能以数字开头。

(3)选择起始行

鼠标选中的行作为起始行,此行及之前的数据将不会导入。

(4)文件中无表头数据

勾选文件中无表头数据,将导入文件除表头外的全部数据。

(5)设置数据类型

用于设置导入目标库中各字段的数据类型

(6)设置字段名

点击字段名后面的“编辑”按钮,对字段名进行修改,修改后,点击“对号”按钮保存修改,点击“叉号”按钮取消修改

3.浏览效果

系统提示数据加载完成后,如图11所示,在弹出的窗口右下角可点击“新建自助数据集”按钮进入到新建自助数据集的实操;或者点击“关闭”按钮,将退出数据加载窗口,接下来可在加载的数据源路径下去查看创建的数据表。

在加载的数据源路径下(即“导入数据源”的路径)可以查看到创建的数据表

预览该表数据

数据挖掘基础

什么是数据挖掘

1.从技术角度

数据挖掘是从大量的、不完全的、有噪声的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有价值的信息的过程。

2.从商业角度

它是对商业数据库中的大量业务数据进行抽取、转换、分析和其他模型化处理,从中提取辅助商业决策的关键性信息。

简而言之:大数据挖掘是发现数据中隐含的有价值信息。且受多学科的影响,如科学信息、数据库技术、统计学、机器学习、可视化以及其他学科。

算法分类

1. 有监督学习

监督学习是从有标记的训练数据中推导出预测函数。有标记的训练数据是指每个训练实例都包括输入和期望的输出。一句话定义:给定数据,预测标签。

举例:学认字根据生字表学习每一个字,然后对一篇新文章读出里边的字。

2. 无监督学习

无监督学习是从无标记的训练数据中推断结论。一句话定义:给定数据,寻找隐藏的结构。

举例:自动聚类对人群按照某种相似性进行归类,每类中可能是相同的肤色、发色等。

3. 强化学习

强化学习,又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。一句话定义:给定数据,学习如何选择一系列行动,以最大化长期收益。

数据挖掘过程

1. 定义挖掘目标

通过以下步骤确定挖掘目标

(1)需求背景是什么?

(2)客户的痛点是什么?

(3)映射到挖掘上,是要实现什么功能?

例如在银行客户流失案例中:

背景:客户是发展银行业务重点,客户流失问题就成为整个行业迫切需要解决的问题。
痛点:传统的方式是靠人工经验判断客户是否会流失,存在主观性的滞后性,解决问题的关键是提高客户流失的预见性。

2. 数据获取(八爪鱼)
3. 数据探索

数据探索是对建模分析数据进行先导性的洞察分析,利用绘制图表、计算某些特征量等手段,对样本数据集的结构特征和分布特性进行分析的过程。该步骤有助于选择合适的数据预处理和数据分析技术,它是数据建模的依据,比如:数据探索发现数据稀疏,建模时则选择对稀疏数据支持相对较好的分析方案。

数据质量分析:检查原始数据中是否存在脏数据。例如缺失值、异常值、不一致的值、重复数据、含有特殊符号的数据等。

数据特征分析:展示数据分布情况、数据对比分析、统计分析、正态性检验、相关性分析。

挖掘功能:通过历史客户数据,建立预测模型,针对流失概率超过一定阈值的客户发出预警信息,提前采取挽留措施。

4.数据预处理

数据预处理是将不规整的业务数据整理为相对规整的建模数据,数据的质量决定了模型输出的结果。

数据清洗:去掉噪声和无关数据。

数据转换:将原始数据转换成合适数据挖掘的形式。

数据集成:将多个数据源中的数据结合起来存放在一个一致的数据存储中。

数据规约:维归约、数据压缩、数据离散化、数据规范化等等。

5. 挖掘建模

(1)分类算法

根据样本数据形成的类知识,将其它数据对象归结到某个已知的类别中。分类问题的输出是离散型变量(如: +1、-1),是一种定性输出,预测的是标签。例如:预测明天天气是阴、晴还是雨。如图所示。

(2)回归算法

回归是用于预测输入变量与输出变量之间的关系,特别是当输入变量的值发生变化时,输出变量的值随之发生的变化。回归问题的输出是连续型变量,是一种定量输出,预测的是数量。例如:预测明天的温度是多少度。如图所示。

(3)聚类算法

聚类是在预先没有训练和不知道划分类别的情况下,根据信息相似度原则把样本划分为若干类。如图所示。

(4)关联规则

关联规则是反映一个事物与其他事物之间的相互依存性和关联性,用于从大量数据中挖掘出有价值的数据项之间的相关关系可从数据中关联分析出形如 “由于某些事件1. 的发生而引起另外一些事件的发生”之类的规则。如图所示。

(5)文本分析

文本分析主要是针对文本类型的数据进行分析处理。

常见的文本分析工作包括:分词、情感分析、文章关键词提取、文章摘要提取、文章聚类/分类、知识图谱等。

6. 模型评估

模型评估是评估所构建的模型是否符合既定的业务目标,它有助于发现表达数据的最佳模型和所选模式将来工作的性能如何。如图所示。

7. 数据展现

模型结果可视化。如图

新商科大数据商业智能实训平台数据挖掘模块介绍

新商科大数据商业智能实训平台数据挖掘模块是一个注重于实际生产应用的数据分析预测功能模块,它旨在为个人、团队和企业所做的决策提供预测。该模块不仅可为用户提供直观的流式建模、拖拽式操作和流程化、可视化的建模界面,还提供了大量的数据预处理操作。此外,它内置了多种实用的、经典的机器学习算法,这些算法配置简单降低了机器学习的使用门槛,大大节省了成本,并将挖掘结果发送到新商科大数据商业智能实训平台,与商业智能平台实现了完美整合。

该模块将机器学习系统做成更加通用的、简单易用的平台,可以帮助学生或企业将相关业务轻易接入该平台,从而帮助其利用机器学习的手段挖掘分析企业数据和解决相关的业务问题。

该模块为用户和企业提供拖拽式操作和可视化操作界面。用户只需要拖拽和组合各种数据源、数据预处理操作、机器学习算法、训练、预测和评估组件,即可完成复杂的机器学习任务。

数据预处理

ETL基本概念

ETL通常是将多来源的异构数据,进行处理后得到具备完整性、一致性的数据模型。ETL模块以工作流的形式实现为库表提取数据模型的语义,通过易于操作的可视化工具,将数据加工成具备语义一致性与完整性的数据模型;也可以增强自助数据集构建数据模型的能力。

从业务角度来说,ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。ETL是BI项目重要的一个环节。通常情况下,在BI项目中ETL会花掉整个项目至少1/3的时间,ETL设计的好坏直接关系到BI项目的成败。在系统的【数据准备】模块,有一个自助ETL功能,页面跟数据挖掘一样。但只包含数据源、目标源、数据预处理、自定义模块和时间序列五个部分。

数据预处理基本概念

数据预处理(data preprocessing)是指在主要的处理以前对数据进行的一些处理,目的是为了提高数据挖掘的质量。数据预处理有多种方法:数据清理,数据集成,数据变换,数据归约等。这些数据处理技术在数据挖掘之前使用,大大提高了数据挖掘模式的质量,降低实际挖掘所需要的时间。

数据预处理方法

数据预处理方法

该部分内容着重介绍数据预处理各方法的说明以及适用场景,具体详细参数配置可查看附录一《知识拓展:数据挖掘工作流节点资源》。

1.采样
  采样即采集样本,系统支持三种类型的采样:

2.拆分

拆分是将原始样本集按照训练集和测试集的方式拆分为两个子集。拆分后各个子集的比例总和小于等于100%。数据拆分经常作为回归或者分类算法节点的前置节点。

3.过滤与映射

过滤与映射节点是根据用户需求,通过写SQL语句(片段),对数据按照过滤表达式进行筛选。

4.列选择

列选择节点用于从输入数据集中选取指定的数据字段。常用于数据集中字段过多,对分析结果无用,而又影响分析效率的情况。

5.空值处理

空值处理节点是将空值替换为均值、最大频数或者用户自定义的值等,实现空值的填充或者过滤。

用于设置空值的处理类型:

最大值:使用本列字段的最大值替换空值,适用于数值型字段。

最小值:使用本列字段的最小值替换空值,适用于数值型字段。

平均值:使用本列字段的平均值替换空值,适用于数值型字段。

中位数:使用本列字段的中位数替换空值,适用于数值型字段。

按空值百分比删除列:若空值超过设置的百分比,则删除整列;适用于字符、数值型字段。

出现频率最多替换:使用本列出现频率最多的值替换空值;适用于字符、数值型字段。

指定值:使用设定的值替换空值,适用于字符、数值型字段。

过滤整行:只要选定行有空值,就删除该行。

6.合并列

合并列是将两张表的数据按列合并,组成新表,行数不同时,缺失部分则自动填充空值。

7.合并行

合并行是将两张表的数据按行合并,合并成为一个新表,左表及右表选择输出的字段个数以及类型应保持一致。

8.源数据编辑

元数据编辑支持对数据集中的字段进行重新命名或者修改数据类型。

9.JOIN

JOIN节点是基于连接字段按照给定的连接方式进行两个表格的字段组合得到新的数据表,支持两个数据表的单个或多个字段为连接字段的连接操作,连接方式包括内连接、外连接、左连接、右连接。

支持选择:

左连接:返回选择的左右表字段中,左表的全部数据和右表中满足关联条件的数据。

右连接:返回选择的左右表字段中,右表的全部数据和左表中满足关联条件的数据。

内连接:返回选择的左右表字段中,左表中满足关联条件的数据和右表中满足关联条件的数据。

全连接:返回选择的左右表字段的所有数据。

10.行选择

行选择的作用是根据不同的筛选或者删除条件,选择不同数量的行。

筛选行:表示保留根据条件选择的行。

删除行:表示删除根据条件选择的行。

11.去重复值

去除重复值节点是用于删除数据集中的重复行,当同一列中存在许多相同的字段时,默认保留列中字段相同重复的第一行。

12.排序

排序节点可实现对单个字段或多个字段组合的升序或降序排序。

当选择多列时,平台会根据选择的第一列进行排序,当第一列相同时,再根据第二列进行排序;如果第一列和第二列都相同,再按照第三列进行排序,以此类推。

13.增加序列号

增加序列号节点是在数据表第一列追加ID列。

14.聚合

聚合可根据需求对数据进行各种聚合运算,包括分组、求均值、最大值、最小值、求和、统计、去重统计。用户可以根据不同数据类型使用不同的聚合函数以及生成新特征名称。

15.分列

分列节点是根据特定的分隔符,将字符串字段的内容进行分割。

16.派生列

派生列节点是用于在数据集中生成可行的新特征字段。它可对现有数据的某个特征操作,允许用户自定义生成特征名称,并将生成的新特征字段添加到原数据集中。

目前支持的的派生列的函数有:

17.行转列

行转列节点是用于实现将数据结果的行转换成列。

18.列转行

列转行节点是用于实现将数据结果的列转换成行。

特征工程

什么是特征工程

在数据挖掘领域广泛流传了这么一句话:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那么特征工程到底是什么呢?其实特征工程的本质就是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。简而言之,特征工程就是一个把原始数据转变成特征的过程,这些特征可以很好的描述这些数据,并且利用它们建立的模型在未知数据上的表现性能可以达到最优(或者接近最佳性能)。

在实际应用当中,可以说特征工程是机器学习成功的关键,往往我们在特征工程环节所花时间也是很多的。因此业界也有很多人将特征工程比做一门艺术。

特征工程的重要性

1.特征越好,灵活性越强

只要特征选的好,哪怕是最一般最简单的模型也能获得很好的性能。

2.特征越好,构建的模型越简单

从另外的一个角度来说,特征选的越好,你就不需要再去花很多时间找最优参数,因为即使你的参数不是最优,最终模型的性能也会不错。特征工程可以大大降低模型的复杂性。

3.特征越好,模型的性能越出色

进行特征工程的最终目的就是为了让模型的性能做到最优。?3

特征工程功能介绍

1.特征选择

特征选择的作用是从数据集中选取有用特征,用于分类预测或者回归预测算法的训练。

2.特征转换

特征转换的作用是实现特征类型的转换。例如性别男女转换成0、1。

3.卡方特征选择

卡方特征选择与特征选择的功能类似,都用于筛选特征到算法节点。卡方特征选择是根据卡方检验的数据相关性对特征变量进行排序,然后选择与目标变量相关性较大的特征变量。不同之处是,卡方特征选择只设置需要选择的特征数量,然后该节点会根据目标字段列自动选择最相关的特征。

4.PCA(主成分分析)

PCA主成分分析的目的是通过对高维数据进行降维,使用最少数量的主成分来解释最大量的方差。因为它可减少变量数目以此避免多重共线性,适用于预测变量较多大于观测值数目的情况。

5.OneHot编码

OneHot编码是分类变量作为二进制向量的表示。这首先要求将分类值映射到整数值。然后,每个整数值被表示为二进制向量,除了整数的索引之外,它都是零值,它被标记为1,我们编码后的结果是一个稀疏向量,稀疏向量就是由特征数量,特征索引和特征值组成。

6.特征离散

特征离散的作用是将连续的数据进行等距离散化,但是用户可以根据数据的特征自定义离散区间。

7.随机森林特征选择

特征选择是为算法服务的,选择不同的特征会直接影响到模型的效果。随机森林特征行选择,就是使用随机森林算法,来自动选择相关性高的特征。

8.自由特征组合

自由特征组合是将现有特征按照一定方式进行组合,形成新的特征,为后续的挖掘工作提供基础。

9.自定义离散

用户自定义离散规则,可以将数据映射到自定义的区间内。

10.特征抽取

特征抽取主要是对特征工程中的一些处理方法,进行抽取和转换:抽取就是一个寻找特征规律的过程;变换则是数据按照抽取出来的规律进行处理的过程。

特征抽取可以像模型一样将抽取到的规律保存起来,这样可以避免新数据的抽取结果与原结果不一致的影响。

(1)抽取

抽取是按照一定的标准对特征列进行编码。

(2)变换

变换就是将所有特征经过某种变化,提取隐含信息。

统计分析

1.相关性分析

相关性分析是用来反映变量之间的相关关系的密切程度。相关系数的取值一般介于-1和1之间。当相关系数为正的时候,意味着变量之间是正相关的;当相关系数为负的时候,意味着变量之间是负相关;当相关系数为0的时候,意味着变量之间是不相关的。

2.假设检验

假设检验是通过特征变量与目标变量之间的偏差来检验数据之间的相关性或回归分析中的拟合结果。

3.高维数据可视化

高维数据可视化是指对选择数据进行图形展示(散点图/平行坐标图),可对数据或结果数据进行分析。

4.全表统计

全表统计是对观测数据进行不同的统计分析,可统计信息:样本个数、缺失值个数、平均值、标准差、方差、总和、唯一值、最小值、最大值、上四分位、下四分位、中位数、众数、峰度、偏度等指标;还可使用箱线图和直方图尽可能简单全面表达数据所蕴含的数值范围、分布等信息。

5.RFM

通过对选择的特征列按照阈值进行二分(可按均值、指定值、中值),将客户数据划分为不同的客群。

参数配置:

(1)可选列:选择需要进行划分的字段,仅可选数值型字段;

(2)划分方法:可按均值、中值和指定值进行二分;

(3)指定值:当划分方法选择指定值时,用于设置划分的阈值。

输出结果说明:

划分结果生成两个标签列BinaryClass和RFMClass,其中BinaryClass权值位数为选择的字段个数,字段的选择顺序对应权值位的顺序,每一个权值位的取值为0或1,当对应字段取值小于所选阈值时,权值位取0,否则取1;RFMClass为BinaryClass其根据二进制取值转换成十进制取值。

文本分析

1.分词

将中文文本从连续字符形式转化为离散词流形式,即将完整的文本字符串切分为词或单个字的形式。即对句子进行精确分词,在词库中进行搜索匹配,将句子根据匹配的结果分成那些常见的词组或者单词。

添加特殊的或不应被切分开的词语至“用户词典”,分词时将依据“用户词典”进行分词。

2.词袋

为了对句子进行分词,根据分隔符将句子分割开来,分成一个个独立的词语或者单词。

3.TF-IDF

一种统计方法,TF意思是词频,IDF意思是逆文本频率指数,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF值越高,说明该词越重要。

4.停用词处理

那些词频很高,但对文章却没有太多意义的语气词和助词等等,比如这、我、你们、吗等等,对这些词进行去掉处理以便能够更好的分析语义。

数据挖掘进阶

回归算法

回归算法概述

回归分析是在掌握大量观察数据的基础上,利用数理统计方法建立两种或两种以上变量间相互依赖的定量关系的统计分析方法。回归分析又称回归模型或因果法,通常依据事物发展变化的因果关系来预测事物未来的发展走势。

一般情况下,字母Y皆指模型的被解释变量,即被预测的变量。

而X=(x1,x2,···,xk)为解释变量,其中xk为第k的解释变量。

下标i或t是指第i次或第t次观测,即xki(或xkt)指样本集的第i(或t)观测。但xki通常用于表达横截面数据,如某一年不同地区某些指标的情况;而xkt通常用于描述时间序列数据,如某地区某几年某些指标的情况。

平台上的回归算法主要有线性回归和梯度提升回归树算法。

1.线性回归

线性回归是一种常用的回归方法,它是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计方法,通过凸优化的方法进行求解。

2.梯度提升回归树

梯度提升回归树是梯度提升树算法,原理是训练多棵回归树,每棵树建立是基于前一课树的残差,基函数为CART树,损失函数为平方损失函数的回归算法。

回归模型

根据前面的学习,回归是用于预测输入变量与输出变量之间的关系,特别是当输入变量的值发生变化时,输出变量的值随之发生的变化。回归问题的输出是连续型变量,是一种定量输出,预测的是数量。例如:预测明天的温度是多少度。如图所示就是一个比较简单的回归模型工作流示例。

该工作流示例中,从指定的关系数据库中获取数据集,通过“空值处理”的数据预处理后,在“特征选择”节点确定数据集的特征列和标签,然后通过“拆分”节点将一部分数据进行线性回归算法训练,训练得出的模型对另一部分数据进行预测,将预测结果与实际结果进行对比,得出对该模型的评估结果。

分类算法

分类算法概述

分类是一个有监督的学习过程,目标数据库中有哪些类别是已知的,分类过程需要做的就是把每一条记录归到对应的类别之中。分类的目的是为了确定一个点的类别,具体有哪些类别是已知的。

分类算法分为二分类算法和多分类算法。二分类算法表示分类标签只有两个分类,具有代表性的有支持向量机和梯度提升决策树。多分类算法表示分类标签多于两个分类,比较常见的有逻辑回归、朴素贝叶斯、决策树和随机森林。本章主要介绍几种多分类算法,并以逻辑回归算法为例,进行银行零售客户流失预测的案例实操。

逻辑回归算法

实际生活与工作中,我们可能会遇到以下问题:

判断某位用户的性别?

判断一条评论是正面的还是负面的?

预测用户是否会购买某件商品?

预测客户是否会对某条网页广告进行点击操作?

拿预测客户是否会对某条网页广告进行点击操作举例,告诉你用户有49%的概率想点,不仅表述不会那么绝对,而且还提供了额外信息:若广告再吸引一些,这位用户还是有希望的。而逻辑回归可以实现温柔的反馈,它将提供样本属于正类的可能性是多少。

逻辑回归是一种分类算法,它进行分类的主要思想是:根据现有数据对分类边界线建立回归公式(寻找到最佳的拟合直线),以此进行分类。简单来说,它就是利用Logistic函数拟合数据来预测某一个事件发生的概率。

逻辑回归算法可用于二元及多元分类问题,是分类算法的经典算法。对于二分类问题,算法输出一个二元逻辑回归模型。对于多分类问题,算法会输出一个多维逻辑回归模型。

朴素贝叶斯

贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。

由于贝叶斯定理假设一个属性值对给定类的影响独立于其它属性的值,而此假设在实际情况中经常是不成立的,因此其分类准确率可能会下降。为此,就衍生出许多降低独立性假设的贝叶斯分类算法。其中朴素贝叶斯分类算法的运用最为广泛。

贝叶斯学派的思想可以概括为先验信息+数据信息=后验信息。也就是说我们在实际问题中需要得到的后验概率,可以通过事物的先验概率和数据信息一起综合得到。先验概率是指目前为止,数据所在领域的历史经验。

决策树

决策树是一种常用的分类算法,它是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。根节点到每个叶子节点均形成一条分类的路径规则。而对新的样本进行测试时,只需要从根节点开始,在每个分支节点进行测试,沿着相应的分支递归地进入子树再测试,一直到达叶子节点,该叶子节点所代表的类别即是当前测试样本的预测类别。

决策树是一类常见的机器学习方法。以二分类任务为例,我们希望从给定训练数据集中习得一个模型,用以对新示例进行分类。

(1)样本分类任务可视作“当前样本属于正类吗?”这个问题的“判断”或“决 策”过程;

(2)类似于人类在面临决策时一种自然的处理机制;

(3)是一种基于树结构的决策过程。

决策树工作原理:

例1:判断“这是一颗好瓜吗?”

例如,当我们要对“这是一颗好瓜吗?”这样的问题进行决策时,通常会进行一系列的判断或“子决策”:我们先看“它是什么颜色?”,如果是“青绿色”,则我们再看“它的根蒂是什么形态?”,如果是“蜷缩”,我们再判断“它敲起来是什么声音?”,最后,我们得出最终决策:“这是个好瓜”。

例2:“新物种是哺乳动物还是非哺乳动物”

再比如,假设科学家发现了一个新的物种,怎么判断它是哺乳动物还是非哺乳动物呢?同样需要对该物种进行一系列的判定:首先看“该物种是冷血动物还是恒温动物?”,如果答案是冷血的,那么该物种肯定不是哺乳动物;但当我们发现该物种是恒温的,那么可能是鸟类或者哺乳动物。我们再判断“该物种是胎生还是蛋生呢?”,如果答案为胎生,则该物种是哺乳动物;否则为鸟类。

总结上述两个实例:

(1)决策过程中的每个“青绿”或“乌黑”、“恒温”或“冷血”的判定问题,都是对某个属性“色泽”、 “体温”的判定。

(2)每个判定问题的测试结果,或是导出最终结论,或是导出进一步的判定问题。

(3)聚类后同一类的数据尽可能聚集到一起,不同类数据尽量分离判定问题其考虑范围必定在上次决策结果的限定范围内。如在确认“根蒂=青绿”之后判定“根蒂=?”,亦或是在确认“体温=恒温”之后判定“胎生=?”。

随机森林

随机森林是一种刚新兴起的、高度灵活的机器学习算法,拥有广泛的应用前景,从市场营销到医疗保健保险,既可以用来做市场营销模拟的建模,统计客户来源,保留和流失,也可用来预测疾病的风险和病患者的易感性。随机森林就是通过集成学习的思想将多棵树集成的一种算法,它的基本单元是决策树。

1.什么是集成算法

集成算法也称集成学习(ensemble learning),通过构建并结合多个学习器来完成学习任务。其核心思想为通过训练若干个个体学习器,通过一定的结合策略,就可以最终形成一个强学习器,以达到博采众长的目的。

如图1所示示例,采用三个弱分类器的结果进行投票:

多个学习器产生的结果须进行合并处理,最常用的就是投票法结合策略。 其主要有以下几种方式:

(1)绝对多数投票法

若某标记得票过半数,则预测结果为该标记,否则拒绝预测。

(2)相对多数投票法

预测为得票最多的标记,若同时有多个标记获得最高票,则随机选取一个作为结果。

(3)加权投票法

对每个学习器结果进行加权,最终将各个类别的加权票数求和,最大的值对应的类别为最终类别。

2.集成算法-bagging

(1)从原始样本集中抽取训练集。每轮从原始样本集中使用Bootstraping(即自助法:它是一种有放回的抽样方法(可能抽到重复的样本))的方法抽取n个训练样本。共进行k轮抽取,得到k个训练集。(k个训练集之间是相互独立的)

(2)每次使用一个训练集得到一个模型,k个训练集共得到k个模型。(根据具体问题采用不同模型算法,如逻辑回归、决策树、感知器等)

(3)将上步得到的k个模型采用投票的方式得到分类结果。

Bagging + 决策树 = 随机森林。

简而言之,随机森林指的是利用多棵树构成森林对样本进行训练并预测的一种分类器。但是每棵决策树之间没有关联,每棵树都是基于随机抽取的样本和特征进行独立训练。

随机森林算法广泛应用于分类问题。其是决策树的组合,将许多决策树联合到一起,以降低过拟合的风险。随机森林支持连续数据或离散数据进行二分类或多分类。

分类模型

根据前面的学习,分类模型是根据样本数据形成的类知识,将其它数据对象归结到某个已知的类别中。分类问题的输出是离散型变量(如: +1、-1),是一种定性输出,预测的是标签。如图2是一个比较简单的分类模型工作流示例:

该工作流示例中,从指定的数据库中获取数据集,通过“空值处理”的数据预处理后,在“特征选择”节点确定数据集的特征列和标签,然后通过“拆分”节点将一部分数据进行逻辑回归算法训练,训练得出的模型对另一部分数据进行预测,将预测结果与实际结果进行对比,得出对该模型的评估结果。

posted @   Dyciy  阅读(91)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 【.NET】调用本地 Deepseek 模型
点击右上角即可分享
微信分享提示