1、数据挖掘数据挖掘2培训内容培训内容第七章第七章 Clementine 的建模技术第八章第八章 神经网络第九章第九章 规则归纳第十章第十章 模型的比较和合并第十一章第十一章 Kohonen 网络 第十二章第十二章 关联规则第十三章第十三章 时序分析第十四章第十四章 其它模块第七章第七章 Clementine的建模技术的建模技术4Clementine 建模建模建模主要途径 :预测 预测一个数字值或符号值关联 寻找可能一起发生的事件聚类 寻找表现相似事物的群体5预测模型预测模型预测模型,有时提及为监督学习,输入用来为输出预测值Clementine 中有八个预测模型节点:神经网络四个不同的规则归纳方法
2、:C5.0,QUEST,CHAID和C&R Tree线性和 Logistic 回归分析一个序列探测方法6聚类方法聚类方法聚类方法,有时提及为无监督学习,没有输出字段的概念Clementine中有三个聚类方法:Kohonen网络 K-means聚类两步聚类 7关联技术关联技术关联技术可以看成是推广的预测模型,在这里数据中的字段被同时看成输入和输出Clementine中有三个关联技术:AprioriGRI Carma 序列探测节点将会随着时间(也就是序列)寻找关联规则8什么是监督学习?什么是监督学习?当我们知道模型输出时的一种建模技术我们将会 “监督” 这些算法并且告诉它们什么是我们想要预测的91
3、0什么是精炼?什么是精炼?一个精炼的模型可以直接 放置回数据流区域一个生成的模型创建的新字段(或者数据列)可能为:分组预测和关联值精炼模型精炼模型未精炼模未精炼模型型11什么是预测?什么是预测?决定一个数值或分类结果12什么是神经网络?什么是神经网络?在输入的基础上预测结果的一种建模技术,这些输入在隐藏层上被权重修改和大脑内神经元的行为相似输出隐藏层输入层13什么是规则归纳?什么是规则归纳?显示预测的“原因”与神经网络对比构造规则集消除不重要的因素Clementine 为规则归纳提供 C5.0 ,C&R Tree QUEST和CHAID算法Cat.%nBad52.01168Good47.991
4、55Total (100.00) 323Credit ranking (1=default)Cat.%nBad86.67143Good13.3322Total (51.08) 165Paid Weekly/MonthlyP-value=0.0000, Chi-square=179.6665, df=1Weekly payCat.%nBad15.8225Good84.18133Total (48.92) 158Monthly salaryCat.%nBad90.51143Good9.4915Total (48.92) 158Age CategoricalP-value=0.0000, Chi-s
5、quare=30.1113, df=1Young ( 35)Cat.%nBad48.9824Good51.0225Total (15.17) 49Age CategoricalP-value=0.0000, Chi-square=58.7255, df=1Young ( 35)Cat.%nBad0.000Good 100.008Total(2.48)8Social ClassP-value=0.0016, Chi-square=12.0388, df=1Management;ClericalCat.%nBad58.5424Good41.4617Total (12.69) 41Professio
6、nal14什么是线性回归?什么是线性回归?一种统计技术假定数据能够以线性的关系建立模型一般用来预测数字值15什么是什么是 Logistic 回归?回归?一种与线性回归相似的统计技术,预测输入属于一个特殊输出分类的概率用来预测一个二元结果多项 logistic 回归预测多重结果16什么是主成分和因子分析?什么是主成分和因子分析?通过把高度相关字段看成一样来减少字段数目的数据降维技术主成分分析找出最能够捕捉所有输入字段差异的输入字段的线性组合因子分析试图识别一组解释观察字段组内相关结构的概念,或者说因子主成分分析和因子分析的目标都是找出几个能够有效概括原始字段所含信息的导出字段17什么是聚类?什么
7、是聚类?一系列将具有相似特征的 情形分组在一起的技术考虑将相似的事物分组到一起18什么是什么是 Kohonen 网络?网络?将具有相似特征的情形分组在一起的聚类技术没有建立一个预测可以处理分类和连续字段有时候称为一个自组织映射(SOM) ,因为结果将生成一个二维 “映射”19什么是什么是 K-means 聚类?聚类?更传统的聚类技术和其它分类技术又非常紧密相关,但是对于分类数据处理的不是很好20什么是两步聚类?什么是两步聚类?K-means 聚类需要终端用户去决定聚类数, 两步聚类在统计算法的基础上决定聚类数并不像 Kohonen 那样需要大量的系统资源步骤:所有的记录进入最大聚类分组初始聚类
8、合并在一起21什么是关联规则?什么是关联规则?寻找一起发生的事件 在一家食品店的购买Clementine 为关联规则提供 GRI,Apriori 和 Carma 算法和和22什么是序列关联?什么是序列关联?序列关联可以使用序列算法 寻找序列或事件的顺序23何时使用何种技术何时使用何种技术:24 第八章第八章 神经网络神经网络25第八章第八章 神经网络神经网络内容介绍神经网络节点创建一个神经网络介绍生成的模型面板浏览并解释结果评估模型目的展示如何在 Clementine 中创建一个神经网络,浏览生成的模型并解释输出结果26神经网络神经网络设置变量类型过度训练模型敏感性分析生成的模型面板理解神经网
9、络结果27表现评估表现评估过程:训练模型测试模型评估模型不要单独使用训练数据评估模型的表现!不要单独使用训练数据评估模型的表现!为什么? 在测试数据上模型的表现有可能恶化,因为模型没有一般性 训练过度即使 Clementine 有 “避免过度训练” 这个选项用来确保模型的有效性模型有可能在有偏的样本上建立 (提高,减少)28使用神经网络使用神经网络建立一个神经网络用来预测字段 Risk类型节点设置字段:ID 类型设为无类型字段 RISK 方向设为输出实例化类型节点神经网络节点:设定随机种子233显示反馈图29生成的模型面板浏览模型生成的模型面板浏览模型浏览输入字段的权重30测试模型测试模型改变
10、数据源为Riskvalidate.txt生成的模型节点直接连接类型节点使用分析节点31理解神经网络理解神经网络生成的模型节点直接连接类型节点使用制表节点创建包含预测值的数据表格使用矩阵节点比较预测值和真值行 RISK,列 $N-RISK行百分比使用评估图节点生成收益图和功效图选择包含最优线和基准线32输出结果输出结果33分析预测结果分析预测结果 两个符号字段使用网络图节点:字段 MARITAL 和 $N-RISK 使用分布节点:字段 MARITAL颜色层叠字段 $N-RISK34分析预测结果分析预测结果一个数值字段一个符号字段使用直方图节点:字段 INCOME,颜色层叠字段 $N-RISK字段
11、 INCOME,颜色层叠字段 RISK比较生成的两个直方图35练习:预测练习:预测Response to campaign类型节点连接数据源节点(数据文件Charity)字段 Response to campaign 方向为输出以下五个字段 Pre-campaign expenditure,Pre-campaign visits,Gender,Age, Mosaic Bands(该字段需要把类型设置成集合)方向为输入神经网络节点连接类型节点使用默认设置生成并浏览神经网络模型查看其预测精度如何?哪些字段是最重要的?生成的神经网络模型连接类型节点,同时连接到矩阵节点建立一个预测 Response
12、和实际 Response 的矩阵哪一种在模型中预测的最好?利用网络图,条形图节点或数据稽查节点(选取一个颜色交叠字段)来分析预测结果定义流名称如 Network.str,并保存该流36第九章第九章规则归纳规则归纳37第九章第九章 规则归纳规则归纳内容介绍四个规则归纳节点: C5.0,CHAID,QUEST和 C&R Tree创建一个 C5.0规则模型浏览并解释结果创建一个规则集目的介绍如何在 Clementine 中建立一个规则归纳模型,浏览产生的模型并解释输出结果,以及如何通过决策树生成规则集38C5.0 与与 C&RTC5.0 仅仅处理符号数据输出建立决策树和规则集使用信息增益比率来拆分样
13、本输入字段较多时,比较稳健C&RT 建立决策树,可以转换成规则集只建立二元拆分使用离差度量来拆分样本39使用使用 C5.0 规则归纳技术规则归纳技术使用 C5.0 来预测 RiskC5.0 节点设置:生成决策树浏览模型:完全展开树显示实例和置信度40从决策树生成并浏览规则集从决策树生成并浏览规则集41理解结果理解结果生成的模型节点直接连接类型节点使用制表节点创建含预测值的数据表格使用矩阵节点比较预测值和真值行 RISK,列 $C-RISK行百分比42理解结果理解结果使用评估图节点生成收益图选择包括最优线改变评估图的目标种类:选项条目用户定义“命中” TARGET=“good risk”比较收益
14、图43练习:预测练习:预测Response to campaign打开前一章生成的数据流Network.str C5.0节点连接类型节点,使用默认设置生成并浏览C5.0规则节点完全展开所有规则,理解决策过程决策树是否与前面生成的神经网络模型类似生成的C5.0模型连接类型节点,同时连接到矩阵节点建立一个预测Response和实际Response的矩阵与神经网络模型相比,哪个模型预测精度更高?保存更新的流44第十章第十章模型的比较和合并模型的比较和合并45第十章第十章 模型的比较和合并模型的比较和合并内容用评估图和分析节点比较模型用验证数据比较模型合并使用神经网络和规则归纳目标介绍模型评估的方法,
15、以及如何比较和合并神经网络和规则归纳46联合模型联合模型使用分析节点来比较两个模型的预测结果我们可以联合模型并允许它们“投票决定”一个模型的预测我们可以使用一个模型的预测作为其它模型的输入我们可以使用一个模型来帮助我们理解其它模型47为什么使用多重模型?为什么使用多重模型?决定哪些是输入字段特别为神经网络使用理解模型预测的逻辑性使用在神经网络之后用来更好的理解神经网络提高模型表现使用多重模型并 “投票决定”模型使用多重模型: 一个模型的预测结果用来预测别的模型理解模型在哪里犯错通过预测在哪里犯错来改正模型表现 48比较模型比较模型使用分析节点使用评估图使用验证数据:RiskValidate.t
16、xt49在神经网络前使用规则归纳在神经网络前使用规则归纳减少神经网络的输入使用生成的 C5.0 规则接点自动生成过滤节点可以发现字段ID,AGE 和MORTGAGE 被排除生成的过滤节点后使用神经网络50在神经网络后使用规则归纳在神经网络后使用规则归纳帮助理解神经网络类型节点中设置: RISK 和 $NC-RISK 为无方向,$N-RISK 方向为输出使用 C5.0 在神经网络预测基础上生成规则集理解神经网络的预测原因51提高模型表现提高模型表现测试和训练平衡数据标准化数据联合模型52练习:比较两个模型练习:比较两个模型打开数据流:Network.str重组数据流使生成的神经网络模型和 C5.
17、0 模型在同一流中并与同一类型节点相连接添加分析节点到流中,并运行流哪个模型的预测精度更高?两个模型的预测结果中有多少是一致的?通过评估图来比较两个模型附加题:浏览生成的C5.0模型,并通过它生成过滤节点,并与类型节点相连规则的形成是基于全部的输入字段吗?53第十一章第十一章Kohonen网络网络54第十一章第十一章 Kohonen 网络网络内容介绍 Kohonen 节点创建一个 Kohonen 网络解释结果目的介绍如何用 Kohonen 节点分割和聚类数据,并解释结果55Kohonen 网络网络细分或聚类数据的技术解释 Kohonen 网络的结果用图表描述细分或聚类聚类不是预测,而是寻找事物
18、的自然分组56使用使用 Kohonen 网络网络寻找相似购买者的分组Kohonen 节点设置:用户定义字段:Ready made 到 Tinned Goods或者在类型节点中设置所有非食物字段无方向指定随机种子数 1000专家选项:长度 3,宽度 3输出反馈图57理解理解 Kohonen 网络网络58理解理解 Kohonen 网络网络关注主要类别:在浏览器中选择聚类 X、Y分别为 2、0的类别自动生成选择节点为每个聚类创建索引值导出字段 cluster导出规则 $KX-Kohonen 前提2 前提N = 结果完全形式:前提 结果 实例 支持 置信度 规则支持关联规则实例仅仅是相配前提的记录序列
19、规则实例相配整个规则的记录73序列节点序列节点序列节点设置:ID 字段 ID选择ID号相邻时间字段 Index1内容字段 Stage 74探索序列和模型预测探索序列和模型预测浏览生成的序列规则集增加实例和规则支持度到规则统计表通过支持度排序生成的序列规则集节点连接类型节点使用制表节点生成表格前三个序列预测75练习:电信业维修问题练习:电信业维修问题变量文件节点(FailTelRepair.txt )制表节点查看数据序列节点连接变量文件节点在ID field项选择ID,time field项选择Index1, content field项下选择Stage运行流,再简单模式下进行序列检测分析浏览生
20、成的规则集哪些序列事置信度最高?哪些序列事件支持度最高?使用其他的排序方式增加对规则集的了解比较本章输出的结果是否可以找到与代码299(代表维修失败)关联较多而与代码210(代表维修成功)关联较少的阶段代码可以帮助理解那个阶段会导致维修失败76第十四章第十四章 其它模块其它模块其它模块其它模块77第十四章第十四章 其它模块其它模块内容介绍Clementine Server 介绍Clementine Solution Publisher 介绍CEMI介绍Clementine Scripts 介绍Cleo介绍Text Mining for Clementine Predictive Marketi
21、ng和Predictive Web Analytics提高模型性能的建议78Clementine Server 1. Perform many operations in the database.2. Perform the rest on a powerfulserver.3. Use the client processor for viewing results.4. Data isnt passedacross the networkunnecessarily.Data PreparationClementine FeaturesFull-process in-database mi
22、ning with SQL optimizationScalable performanceData PreparationClementine Features79Clementine Solution Publisher80CEMI CEMIClementine FeaturesNeed something else?Add new algorithms, data preparation, graphics, maps call other applications, etc even those that have been developed in-house81Clementine
23、 Scripts Clementine Stream ScriptNotes:For loop using in_fields.Loop applies to IN fields only.Train net node changes name so refer to it by type (theres only one).As usual, script “goes with” stream.# Start with empty palette.clear generated palette# Now loop through all IN fields and# train with each in turn set to NONE.# Give models appropriate names.for f in_fields_at typeif type.direction.f = INset type.direction.f = NONEset :name = omit_ fexecute :trainnetset type.direction.f = INendifendfor # Save the palettesave generated palette as multitrain.gen82Cleo83Text Mining for Clementine