数据的变换和离散化(利用决策树算法实现简单分类)

【项目目的】
1) 对实验数据集数据进行一定的变换,并离散化数据。
【项目原理】
一. 数据的变换
在数据变换中,数据被变换或统一成适合于挖掘的形式。数据变换策略主要有光滑、属性构造、聚集、规范化、离散化和由标称数据产生概念分层。
例如:通过规范化变换数据

二. 数据的离散化
离散化技术可以根据如何进行离散化加以分类。离散化可以分为监督和非监督的离散化,自顶向下离散化(分裂)。数据离散化也是数据归约形式。离散化的方式主要是分箱,直方图分析以及聚类分析,决策树分析,相关分析。
本实验具体使用决策树算法分析鸢尾花瓣的种类
决策树算法:决策树算法是一种逼近离散函数值的方法。它是一种典型的分类方法,首先对数据进行处理,利用归纳算法生成可读的规则和决策树,然后使用决策对新数据进行分析。本质上决策树是通过一系列规则对数据进行分类的过程。决策树算法构造决策树来发现数据中蕴涵的分类规则.如何构造精度高、规模小的决策树是决策树算法的核心内容。决策树构造可以分两步进行。第一步,决策树的生成:由训练样本集生成决策树的过程。一般情况下,训练样本数据集是根据实际需要有历史的、有一定综合程度的,用于数据分析处理的数据集。第二步,决策树的剪枝:决策树的剪枝是对上一阶段生成的决策树进行检验、校正和修下的过程,主要是用新的样本数据集(称为测试数据集)中的数据校验决策树生成过程中产生的初步规则,将那些影响预衡准确性的分枝剪除。
三. 使用开源软件KNIME进行挖掘
Knime是基于Eclipse的开源数据挖掘软件,它通过工作流的方式来完成数据仓库以及数据挖掘中数据的抽取-转换-加载操作。其中工作流又是由各个功能便利的结点来完成,节点之间相互独立,可以单独执行并将执行后的数据传给下一个结点
【数据说明】
摘录: Iris数据集是常用的分类实验数据集,由Fisher, 1936收集整理。Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集。数据集包含150个数据集,分为3类,每类50个数据,每个数据包含4个属性。可通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Setosa,Versicolour,Virginica)三个种类中的哪一类。

【实验步骤】
1. 打开knime软件并且新建项目KNIME-project4。

  1. 在knime软件左下方有许多可以供选择的节点。我们需要导入文件,这样在I/O的节点区选择File Reader ,knime软件还提供多种格式的数据集进行分析。选择节点然后拖动到工作区中间。

  2. 配置File Reader节点,导入我们的数据。右击点击配置,点击brower 选择到文件所在的路径,之后点击Apply ok完成配置。节点的红灯变成黄灯,右击运行,绿灯则表示导入成功

  3. 选择Mining选项下的Decision Tree算法,用到的是训练节点和预测节点,与前一节点连接,完成数据的训练,然后右击点击运行。

  4. 之后选择Decision Tree Prediction分别与前面两个节点连接,之后再右击运行这样可以就可以完成预测了

6.为了检测正确率可以使用scorer节点,右击点击apply ok配置之后运行

【项目结果分析】
右击Decision1 Tree Predictor节点,查看决策树模型可视化界面

使用花瓣的宽度和长度对鸢尾花进行划分,
1. 可以清楚地看到首先是宽度是大于还是小于0.6的把数据分成两个部分,小于等于0.6的50朵花全部属于setosa这种花,其他的两种都是大于0.6的。
2. 右边的两种花都是50朵。可以对右边的数据进一步分类。宽度是否大于1.7,可以再一次把右边的数据分成两个部分。小于等于1.7的左侧54朵花,90.7%都是属于versicolor 有49朵花,剩下的5朵花是属于virginica。右侧virginica占据大多数有45朵占97.8%,剩下的一朵是versicolor
3.可以对左侧的数据按照花瓣长度是否大于4.9进行分类。结果左侧48朵小于等于4.9,右侧是有6朵的。左侧47朵花是versicolor,只有一朵花是virginica
4.对右侧的花继续进行划分,看花瓣的宽度是否大于1.5.左侧小于等于1.5的3朵花全是virginica,右侧大于1.5的两朵花是versicolor,剩下的一朵是virginica
5.决策树算法可视化可以很清楚的显示结果,比口述的方便太多,这也是KNIME软件的方便之处。
综上所述可以看出三种花的各自特性。
Setosa的花瓣宽度全部小于等于0.6,
Versicolor的花瓣大部分宽度是0.6至1.7之间,长度是小于4.9的,少数部分是不符合这个区间的
Virginica宽度大部分是大于1.7的
【设计思考题目】
1. 决策树算法可以对数据进行很仔细的分类,从而找出其中的规律,可以推广到哪些行业之中。
个人觉得在销售行业可以大显神通,收集到以往的用户的信息,进行决策树算法的分析分类,可以针对各种用户进行各种产品的合理推送,从而增加推荐的准确性,增加销售业绩。
2. 决策树算法对科学研究有什么作用?
可以运用在统计学和人工智能行业,对数据做出更加精细的分类,提高统计学的方法种类,统计学更加丰富多彩,人工智能也能做出更加准确地判断,会更加的智能化。

你可能感兴趣的:(数据的变换和离散化(利用决策树算法实现简单分类))