什么是数据挖掘
数据挖掘是一种从大量未经整理的数据中提取有价值信息的过程。它可以帮助人们分析数据、寻找规律和建立预测模型,是数据分析领域的重要工具之一。
1.什么是数据挖掘数据挖掘是指从大规模数据中发现有用信息的过程。数据挖掘需要使用统计学、机器学习等技术来自动化地分析数据,找出其中的模式、趋势和异常点。数据挖掘不但能够减少人工劳动力,同时还能在海量数据中挖掘出难以被察觉的关系,以实现更好的决策及预测。
2.数据挖掘的作用和意义数据挖掘在许多领域都有广泛应用,例如金融、医疗、电商、社交网络等。它可以帮助企业从数据中找到商业机会,如精细的产品定位、优化营销策略、识别欺诈行为等;在科学研究方面,数据挖掘可以帮助研究人员理解复杂的自然现象或社会现象,如预测气候变化、发现新药物等。因此,数据挖掘可以帮助人们更好地理解和利用大数据,具有重要的意义。
3.数据挖掘的目的数据挖掘的主要目的是从数据中发现有用的信息,这些信息可以让人们对某个领域进行更深入的了解,并为相关决策提供支持。数据挖掘的目标通常包括以下几个方面:
分类:将数据划分为不同的类别,例如针对客户的购买记录进行分类,以便企业更好地管理和营销产品。聚类:将数据按照相似性质分组,例如根据用户行为将用户分群,以便企业制定更加精细化的服务策略。关联规则挖掘:发现数据之间的关系,例如同时购买牛奶和尿布的顾客比例很高,可以对商品的销售布局进行优化。异常检测:识别不同于正常模式的数据点,例如使用信用卡时出现异常活动的检测。预测:基于历史数据,预测未来的趋势或事件,例如预测股票价格走势、气候等。数据挖掘技术具有哪些特点
原标题:数据挖掘技术具有哪些特点?数据挖掘源自《从数据库中发现知识》(缩写为KDD)。它首次出现在1989年8月在底特律举行的第十一届国际联合人工智能会议上。为了统一理解,Fayyad,Piatetsky-Shapiro和Smyth在权威文章集《知识发现与数据进展》中给出了KDD和数据挖掘的最新定义。从中总结了1996年该领域的进展,并予以区分:
KDD的定义是:KDD是从数据中识别有效,新颖,潜在有用且最终可以理解的模式的过程。
数据挖掘的定义是:数据挖掘是KDD中的一步,它使用特定算法在可接受的计算效率限制内生成特定模式。
数据挖掘技术的特点
1.基于大量数据:不是说无法挖掘小数据量。实际上,大多数数据挖掘算法都可以在较小的数据量上运行并获得结果。但是,一方面,过小的数据量可以通过手动分析来总结,另一方面,小数据量通常不能反映现实世界的一般特征。
2.非平凡性:所谓非平凡的意思是指所挖掘的知识是不简单的。一定不能与著名体育评论员所说的相似:“经过我的计算,直到比赛结束我才发现了一个有趣的现象。本届世界杯的进球数和失球数都是相同的。非常巧合!”这种知识。这似乎没有必要,但是许多不了解业务知识的数据挖掘新手经常会犯此错误。
展开全文3.隐含性:数据挖掘是发现数据深处的知识,而不是直接出现在数据表面的信息。常用的BI工具(例如亿信BI和豌豆BI)完全可以让用户找到此信息。
4.新奇性:挖掘的知识以前应该是未知的,否则仅是为了验证业务专家的经验。只有新知识才能帮助公司获得进一步的洞察力。
5.价值性:挖掘的结果必须为企业带来直接或间接的利益。有人说数据挖掘只是“杀龙技术”。它看起来牛气哄哄,但没有用。这只是一个错误的想法。不可否认的是,在某些数据挖掘项目中,由于缺乏明确的业务目标,或者由于数据质量不足,或者由于人们抵制不断变化的业务流程,又或者由于挖掘人员缺乏经验,都会导致结果不佳甚至根本没有效果。但是,大量成功的案例也证明了数据挖掘确实可以成为提高效率的武器。返回搜狐,查看更多
责任编辑:HHU商务数据挖掘期末考点复习
文章目录第一章概述第二章商务智能过程2.1四个部分2.2数据仓库与数据库2.3在线分析处理与在线事务处理第三章关联分析3.1频繁模式与关联规则3.2相关性度量liftcosine第四章分类4.1决策树4.1.1信息熵的概念4.1.2计算目标变量的信息熵4.1.3算条件熵4.1.4信息增益4.1.5补充4.1.6属性的类型及分裂条件定性(考试重点)定量4.2朴素贝叶斯分类4.3K近邻分类4.4分类性能的度量4.4.1划分数据集4.4.2度量指标4.4.3不同分类模型的比较第五章数值预测5.1模型检验5.2非线性回归5.3回归树与模型树第六章聚类6.1聚类方法分类6.2相似度衡量方法基于距离的相似度度量余弦相似度基于相关性的相似度度量Jaccard系数异种属性相似度的综合度量6.3K均值聚类6.4多种聚类方式特点对比第八章数据预处理8.1数据规范化8.2数据离散化8.3数据清洗第十章数据仓库10.1数据仓库的相关概念10.2数据仓库的体系结构10.3多维数据模型河海大学商务智能课考试重点梳理
特别鸣谢柳j同学提供的思维导图以及林yt同学的修改补充
思维导图第一章概述信息与知识
信息通过一定的技术和方法,对数据进行集成、分析,挖掘其潜在的规律和内涵,得到的结果是信息信息是具有商务意义的数据知识当信息用于商务决策,并基于决策开展相应的商务活动时,信息就上升为知识信息转化为知识的过程不仅需要信息,而且需要结合决策者的经验和能力,用以解决实际的问题商务智能的系统构成(六个主要组成部分)
数据源企业内部的操作型系统,即支持各业务部分日常运营的信息系统企业的外部,如人口统计信息、竞争对手信息等数据仓库各种数据源的数据经过抽取、转换之后需要放到一个供分析使用的环境,以便对数据进行管理,这就是数据仓库在线分析处理数据探查数据挖掘业务性能管理第二章商务智能过程2.1四个部分四个部分,每个部分问题
规划
在规划阶段,主要目标是选择要实施商务智能的业务部门或业务领域,从而解决企业的关键业务决策问题,识别使用商务智能系统的人员以及相应的信息需求,规划项目的时间、成本、资源的使用了解每个业务部门或业务领域的需求,收集他们当前急需解决的问题企业中哪些业务环节的支出费用太高?哪些过程耗用时间太长?哪些环节的决策质量不高需求分析
识别需求考虑重要性和实现的难易程度重要性方面,可以从三个方面进行衡量衡量商务智能提供信息的可操作性衡量实施商务智能可能给企业带来的回报衡量实施商务智能可以帮助企业实现短期目标实现的难易程度商务智能的实现需要涉及的范围衡量数据的可获取性设计
如果要创建数据仓库,则进行数据仓库的模型设计,常用的是多维数据模型。数据集市可以从数据仓库中抽取数据进行构建在不构建数据仓库的情况下,也可以直接为某个业务部门设计和实现数据集市。如果要实现OLAP解决问题,则要设计多维分析的聚集操作类型。如果要借助数据挖掘技术,则需要选择具体的算法实现
实现阶段,选择ETL工具实现源数据的抽取,构建数据仓库和(或)数据集市对数据仓库或数据集市的数据,选取并应用相应的查询或分析工具,包括增强型的查询、报表工具、在线分析处理工具、数据挖掘系统以及企业绩效管理工具等在具体应用该系统之前,需要完成对系统的数据加载和应用测试,设计系统的访问控制和安全管理方法。2.2数据仓库与数据库联系表现在两个方面数据仓库中的大部分
数据来自于业务系统的数据库中当前绝大多数数据仓库都是利用数据库系统来管理的区别:构建目的、管理的数据、管理方法都不同
数据库主要用于实现企业的日常业务运营,提高业务运营的效率;数据仓库的构建主要用于集成多个数据源的数据,这些数据最终用于分析数据库通常只包含当前数据,数据的存储尽量避免冗余,数据的组织按照业务过程涉及的数据实现,是应用驱动的。数据仓库中的数据是按照主题组织的,将某一主题的所有数据集成在一起,数据存在冗余。区别:构建目的、管理的数据、管理方法都不同
数据库中的数据需要进行频繁的插入、删除、修改等更新操作,需要复杂的并发控制机制保证事务运行的隔离性。数据仓库中的数据主要用于分析处理,除了初始的导入和成批的数据清除操作之外,数据很少需要更新操作数据库中数据的更新操作的时效性很强,事务的吞吐率是个非常重要的指标。而数据仓库的数据量十分庞大,分析时通常涉及大量数据,时效性不是最关键的。数据仓库中的数据质量非常关键,不正确的数据将导致错误的分析结果。2.3在线分析处理与在线事务处理在线事务处理(onlinetransactionprocessing),简称OLTP,是数据库管理系统的主要功能,用于完成企业内部各个部门的日常业务操作。
在线分析处理(onlineanalyticalprocessing),简称OLAP,是数据仓库系统的主要应用,提供数据的多维分析以支持决策过程
第三章关联分析3.1频繁模式与关联规则1.频繁模式概念
在数据集中经常出现(出现的频率不小于minsup,minsup是人为设定的,如为50%)的模式(可以是一个子序列、子结构、子集等),可以应用于销售分析、网页日志分析、DNA序列分析。
2.关联规则概念
当X出现时,Y也会出现。X->Y通常有两个数据,一个是XY一起出现的频率,另一个是当X出现时Y出现的条件概率。
链接1:数据挖掘随笔(一)频繁模式挖掘与关联规则挖掘以及Apriori算法(python实现)
链接2:频繁模式和关联规则
TIDtransactionT1鸡蛋,牙膏,牛排,牛奶,面包T2鸡蛋,亚麻籽,橄榄油,牛奶,面包T3鸡蛋,泡芙,奶油,牛奶,面包T4鸡蛋,低筋面粉,糖粉,黄油,牛奶举个例子,我们的鸡蛋牛奶$A={鸡蛋,牛奶},,,面包B={面包}$。
那么
support(A⇒B)=P(A∪B)=34=0.75support(A⇒B)=P(A∪B)=frac{3}{4}=0.75support(A⇒B)=P(A∪B)=43=0.75
DDD的transaction中包含{鸡蛋,牛奶,面包}{鸡蛋,牛奶,面包}{鸡蛋,牛奶,面包}的条目为T1,T2,T3T1,T2,T3T1,T2,T3一共三个,所以分子上是3
confidence(A⇒B)=P(A∪B)P(A)=34=0.75confidence(A⇒B)=frac{P(A∪B)}{P(A)}=frac{3}{4}=0.75confidence(A⇒B)=P(A)P(A∪B)=43=0.75
T1~T4中都出现了A,故分母为4,分子同上
很明显,对于计算出的值,我们需要设置人为的阈值才能判定A和B是否为一个关联规则。假定我们设置了两个阈值sss和ccc。那么如果support(A⇒B)≥s∧confidence(A⇒B)≥csupport(A⇒B)≥s∧confidence(A⇒B)≥csupport(A⇒B)≥s∧confidence(A⇒B)≥c,我们就说A⇒BA⇒BA⇒B是一条关联规则。它的实际意义可是买了鸡蛋,牛奶{鸡蛋,牛奶}鸡蛋,牛奶很有可能还会去买面包{面包}面包。
这就是关联规则挖掘的最简单的做法,由此,我们可以用两步来总结关联规则挖掘的步骤:
找出所有可能的频繁项集。频繁项集的定义为support在事务集中出现频率大于设定阈值min_sup的项集。在找出的频繁项集中生成强关联规则。符合强相关联规则的频繁项集对需要满足其support和confidence都分别大于预先设定好的阈值。举个例子
这里有个小错误,con(A->C)应该是ac/a=1/3
3.2相关性度量一般我们使用三个指标来度量一个关联规则,这三个指标分别是:支持度、置信度和提升度。
Support(支持度):表示同时包含A和B的事务占所有事务的比例。如果用P(A)表示使用A事务的比例,那么Support=P(A&B)
Confidence(可信度):表示使用包含A的事务中同时包含B事务的比例,即同时包含A和B的事务占包含A事务的比例。公式表达:Confidence=P(A&B)/P(A)
Lift(提升度):表示“包含A的事务中同时包含B事务的比例”与“包含B事务的比例”的比值。公式表达:Lift=(P(A&B)/P(A))/P(B)=P(A&B)/P(A)/P(B)。
提升度反映了关联规则中的A与B的相关性,提升度>1且越高表明正相关性越高,提升度3才算作值得认可的关联。
lift其实就是,如果现在用sup表示某一个项的出现频次(注意不是频率,上面图中的sup是频率)、n代表总条数,比如这里为n,那么lift(A⇒B)=sup(AB)∗nsup(A)sup(B)lift(A⇒B)=frac{sup(AB)*n}{sup(A)sup(B)}lift(A⇒B)=sup(A)sup(B)sup(AB)∗n
cosine这里下面开了根号,所以就不需要计算那个n了。直接sup(AB)sup(A)sup(B)frac{sup(AB)}{sqrt{sup(A)sup(B)}}sup(A)sup(B)sup(AB),再次提醒我这里的sup是出现次数
第四章分类分类:总结已有类别的对象的特点并进而进行未知类别对象的类别预测的过程分类器(classifier)训练数据集(trainingdataset)分类属性(classlabelattribute),每个取值称为一个类别(classlabel),就是标签y属性,用于描述一个对象的某个特性或性质,就是特征x测试数据集(testingdataset)4.1决策树构建过程分裂属性和分裂条件的选择分裂属性的选择通常利用类别纯度的衡量作为标准信息熵和gini指数两种4.1.1信息熵的概念信息熵的大小可以认为是继续搞清事物所需要的信息的大小,先有个概念,我们会在后面回顾4.1.2计算目标变量的信息熵全文用这个例子进行表示天气预测是否去打篮球。假设我们有以下数据:
WeatherPlayBasketballSunnyYesOvercastYesRainyYesSunnyYesSunnyNoOvercastYesRainyNoRainyNoSunnyYes其中,"Weather"是特征,"PlayBasketball"是目标变量。我们想要计算以"Weather"为节点分割数据时的信息熵。
首先,我们要计算目标变量"PlayBasketball"的熵,公式为:
H(X)=−∑P(x)log2P(x)H(X)=-sumP(x)log_2P(x)H(X)=−∑P(x)log2P(x)
在这个例子中,我们有6个"Yes"和3个"No",所以PlayBasketball的熵为:
H(PlayBasketball)=−[(6/9)∗log2(6/9)+(3/9)∗log2(3/9)]H(PlayBasketball)=-[(6/9)*log2(6/9)+(3/9)*log2(3/9)]H(PlayBasketball)=−[(6/9)∗log2(6/9)+(3/9)∗log2(3/9)]
我们可以计算得出$H(PlayBasketball)≈0.918$。
补充:信息熵是度量数据集的混乱程度或者说不确定性的一个度量。当数据集中所有数据都属于同一类别时,不确定性最小,此时的信息熵为0。
若所有行属于同一类别,比如全部都是"Yes",那么我们可以根据信息熵的公式得到:Entropy=−∑P(x)log2P(x)=−[1∗log2(1)+0]=0Entropy=-sumP(x)log_2P(x)=-[1*log2(1)+0]=0Entropy=−∑P(x)log2P(x)=−[1∗log2(1)+0]=0
其中,P(x)P(x)P(x)是特定类别的概率。
当两个类别均匀分布时,比如"Yes"和"No"各占一半,即概率分别为0.5,那么不确定性最大,此时的信息熵为1。若两个类别均匀分布,我们可以根据信息熵的公式得到:
Entropy=−∑P(x)log2P(x)=−[0.5∗log2(0.5)+0.5∗log2(0.5)]=1Entropy=-sumP(x)log_2P(x)=-[0.5*log2(0.5)+0.5*log2(0.5)]=1Entropy=−∑P(x)log2P(x)=−[0.5∗log2(0.5)+0.5∗log2(0.5)]=1
所以,在构建决策树时,我们的目标就是找到一种方式将数据划分成尽可能纯净(即熵小)的子集。4.1.3算条件熵在上面算完目标变量的信息熵之后,我们要计算各个特征的条件熵,条件熵的公式为:
H(Y∣X)=∑P(x)H(Y∣x)H(Y|X)=sumP(x)H(Y|x)H(Y∣X)=∑P(x)H(Y∣x)
其中,P(x)P(x)P(x)是特征X的概率分布,H(Y∣x)H(Y|x)H(Y∣x)是在给定X的条件下Y的熵。
统计一下例子的数据
WeatherPlayBasketball=YesPlayBasketball=NoSunny31Overcast20Rainy12例如,如果我们以"Weather"为节点分割数据
"Sunny"的条件熵为:H(PlayBasketball∣Weather=Sunny)=−[(2/3)∗log2(2/3)+(1/3)∗log2(1/3)]≈0.811H(PlayBasketball|Weather=Sunny)=-[(2/3)*log2(2/3)+(1/3)*log2(1/3)]≈0.811H(PlayBasketball∣Weather=Sunny)=−[(2/3)∗log2(2/3)+(1/3)∗log2(1/3)]≈0.811
对于"Overcast"天气:H(PlayBasketball∣Weather=Overcast)=−[1∗log2(1)+0]=0H(PlayBasketball|Weather=Overcast)=-[1*log2(1)+0]=0H(PlayBasketball∣Weather=Overcast)=−[1∗log2(1)+0]=0
对于"Rainy"天气:H(PlayBasketball∣Weather=Rainy)=−[(1/3)∗log2(1/3)+(2/3)∗log2(2/3)]≈0.918H(PlayBasketball|Weather=Rainy)=-[(1/3)*log2(1/3)+(2/3)*log2(2/3)]≈0.918H(PlayBasketball∣Weather=Rainy)=−[(1/3)∗log2(1/3)+(2/3)∗log2(2/3)]≈0.918
然后,我们需要计算以"Weather"为节点分割数据时的条件熵。这需要将各种天气下的条件熵结合天气的概率(在本例中是Weather=Sunny,Overcast,Rainy的概率)求和:H(PlayBasketball∣Weather)=P(Sunny)∗H(PlayBasketball∣Weather=Sunny)+P(Overcast)∗H(PlayBasketball∣Weather=Overcast)+P(Rainy)∗H(PlayBasketball∣Weather=Rainy)=(4/9)∗0.811+(2/9)∗0+(3/9)∗0.918≈0.764H(PlayBasketball|Weather)=P(Sunny)*H(PlayBasketball|Weather=Sunny)+P(Overcast)*H(PlayBasketball|Weather=Overcast)+P(Rainy)*H(PlayBasketball|Weather=Rainy)=(4/9)*0.811+(2/9)*0+(3/9)*0.918≈0.764H(PlayBasketball∣Weather)=P(Sunny)∗H(PlayBasketball∣Weather=Sunny)+P(Overcast)∗H(PlayBasketball∣Weather=Overcast)+P(Rainy)∗H(PlayBasketball∣Weather=Rainy)=(4/9)∗0.811+(2/9)∗0+(3/9)∗0.918≈0.764
4.1.4信息增益最后,我们可以用目标变量的熵减去条件熵,得到以"Weather"为节点分割数据时的信息增益,信息增益越大,说明以此特征为节点分割数据越好。
Gain(Weather)=H(PlayBasketball)−H(PlayBasketball∣Weather)=0.918−0.764=0.154Gain(Weather)=H(PlayBasketball)-H(PlayBasketball|Weather)=0.918-0.764=0.154Gain(Weather)=H(PlayBasketball)−H(PlayBasketball∣Weather)=0.918−0.764=0.154
这个结果说明,以"Weather"作为划分的节点能带来0.154的信息增益,这有助于我们决定是否选择"Weather"作为划分的节点。
4.1.5补充来自知乎问题,首先我们要先明白信息熵是什么首先区分两种信息量:继续搞清该事物所需的信息量VS此前已知信息所提供的信息量,这两种信息量此起彼伏,如果其中一个越大,另一个就越小。信息熵与继续搞清该事物所需的信息量同向变动,信息熵与此前已知信息所提供的信息量反向变动。
信息熵越大,表示事物的不确定性越大,因此继续搞清该事物所需的信息量越大,这说明此前已知信息或者说此前已知数据所提供的信息量越小;
信息熵越小,表示事物的不确定性越小,因此继续搞清该事物所需的信息量越小,这说明此前已知信息或者说此前已知数据所提供的信息量越大。
随机变量的信息熵越大,则它的值(内容)能给你补充的信息量越大,而知道这个值前你已有的信息量越小4.1.6属性的类型及分裂条件上面已经举了一个简单的打篮球(警觉)的例子,大概有所感受了,因为上面例子只有两列,一列是y(标签),一列是x(特征),体会不到决策树的选择过程,所以用下面这个例子来进一步介绍。
在这个例子中整个数据集的信息熵是按豪车计算的定性数据的计算是指按分类属性x(比如这里的婚姻、性别、年龄)的计算,也就是分列前的信息熵。定量数据的计算是分别对按数值属性x(比如这里的年收入)等进行计算,给x进行不同的分类条件的划分尝试。信息增益=分裂前信息熵-分裂后信息熵通过比较大小,信息增益越大(信息熵减少越多的),就会成为我们选择的分裂条件定性(考试重点)tips:比如这里按婚姻算,就是先分为三种情况:单身、已婚、离异,然后其中的每种又按照y(豪车的是否)来计算。定量4.2朴素贝叶斯分类P41
平滑处理就是每个类别+1
4.3K近邻分类积极方法(eagermethod)
决策树、贝叶斯懒惰方法(lazymethod)
K近邻对于一个预测样本,从训练数据集中找到与其最相似的K个样本,利用这K个样本的类别来决定此样本的类别
K由用户指定。相似样本的选择方法取决于样本之间相似度的衡量方法,多种相似度衡量方法的介绍详见第6章
为一个测试样本选取了K个与其距离最小的样本之后,可以利用投票法(voting),统计各个类别的样本个数,将K个类别中占大多数的类别赋予测试样本
4.4分类性能的度量4.4.1划分数据集保持法(holdout)
人为确定训练数据集和测试数据集的比例,常用的比例是2:1和1:1交叉验证法(cross-validation)
每个样本都交替地用于训练集或测试集
n折交叉验证n-Foldscross-validation
常用:10折交叉验证
数据集分成10份,每次用9分作训练集,1份做测试集
首先,我们将数据集平均分成10份(每份10个样本)。然后,我们进行10轮的训练和测试。在每一轮中,我们使用9份数据(90个样本)来训练我们的模型,并使用剩下的1份数据(10个样本)来测试模型的性能。这样,每份数据都有一次机会被用作测试集,而其余的时间都被用作训练集。
最后,我们得到10个测试分数,我们通常会计算它们的平均值作为最终的性能指标。这种方法的优点是我们使用了所有的数据进行了训练和测试,而且每个样本都被用于测试一次。
留一法(Leave-one-out)N折交叉验证
留一法是n折交叉验证的特殊情况,其中n等于样本总数。即,如果我们有100个样本,我们会进行100轮的训练和测试。在每一轮中,我们使用99个样本进行训练,并使用剩下的一个样本进行测试。
虽然这种方法可以得到最不偏倚的估计,但计算成本很高,特别是当样本数量非常大时。然而,如果样本量相对较小,这种方法可能是一个很好的选择,因为它允许我们充分利用所有的数据。
自助抽样法(bootstrap)
自助抽样法采用放回抽样来构造训练数据集4.4.2度量指标4.4.3不同分类模型的比较增益图(gainschart)
增益图是一种可视化工具,用于显示模型预测的累积效果。在增益图中,X轴表示样本的比例(从全部预测为正类开始的样本),Y轴表示正类样本的比例。增益图的起始点是(0,0),结束点是(1,1)。如果模型的预测完全准确,那么图形将会是一个向上并且向右的步骤图,其中步骤发生在所有真正例被预测为正类之后。如果模型的预测没有任何信息量(即,与随机猜测一样),那么图形将是一条从(0,0)到(1,1)的对角线。增益图是评估模型预测排名效果的一种好方法,特别是当我们对预测正类样本的排序比对预测的精度更感兴趣时。ROC曲线
Y轴:样本中所含正例样本的个数在正例样本总数中的百分比,即真正率TPX轴:所选样本中的负例样本占测试样本中总负例样本的比例,即假正率FPROC曲线的起点是(0,0),终点是(1,1)。如果模型的预测完全准确,那么ROC曲线会先向上到(0,1),然后向右到(1,1)。如果模型的预测没有任何信息量,那么ROC曲线将是一条从(0,0)到(1,1)的对角线。ROC曲线下的面积(AreaUndertheROCCurve,AUC)可以用作衡量模型性能的一个指标。AUC的值在0.5(没有预测能力)到1(完美预测)之间。第五章数值预测5.1模型检验5.2非线性回归非线性回归怎么转化为线性回归
对于模型y=axby=ax^by=axb,取对数后变为:logy=loga+blogxlogy=loga+blogxlogy=loga+blogx.
对于模型y=aebxy=ae^{bx}y=aebx,取对数后变为:lny=lna+bxlny=lna+bxlny=lna+bx.
对于模型y=a+blogxy=a+blogxy=a+blogx,如果令X=logxX=logxX=logx,则模型变为:y=a+bXy=a+bXy=a+bX.
这些都是常见的非线性模型,它们可以通过对数变换或变量替换转化为线性模型。这样做的好处是,线性模型在理论和实践上都更容易处理。
5.3回归树与模型树SDR(StandardDeviationReduction)和信息熵以及信息增益(InformationGain)都是决策树中用来选择分裂属性的准则,但它们适用的问题和具体的计算方法有所不同。
SDR(StandardDeviationReduction):
SDR是用于回归问题的决策树中,也就是目标变量是连续数值。它是基于目标属性取值的标准差来进行分裂属性的选择。如果一个分裂可以导致子数据集的标准差明显下降,那么这个分裂就可能是好的。标准差是一种衡量数据集中值的离散程度的指标,标准差越小,数据越集中。
SDR的计算公式通常为:SDR=sd(D)−(∣D1∣/∣D∣)∗sd(D1)−(∣D2∣/∣D∣)∗sd(D2)SDR=sd(D)-(|D1|/|D|)*sd(D1)-(|D2|/|D|)*sd(D2)SDR=sd(D)−(∣D1∣/∣D∣)∗sd(D1)−(∣D2∣/∣D∣)∗sd(D2)。其中,sd(D)sd(D)sd(D)代表数据集D中目标属性取值的标准差,∣D∣|D|∣D∣代表数据集D中包含的样本个数。
信息熵和信息增益(InformationGain):
信息熵和信息增益则是用于分类问题的决策树中,也就是目标变量是离散的。信息熵是一种度量数据不确定性的指标,信息熵越大,数据的不确定性越大。而信息增益则是判断一个属性在分类问题中的重要性的指标,信息增益越大,说明这个属性对分类的贡献越大。
信息增益的计算公式为:Gain=Entropy(D)−∑(∣Di∣/∣D∣)∗Entropy(Di)Gain=Entropy(D)-∑(|Di|/|D|)*Entropy(Di)Gain=Entropy(D)−∑(∣Di∣/∣D∣)∗Entropy(Di)。其中,Entropy(D)Entropy(D)Entropy(D)是数据集D的信息熵,∣Di∣/∣D∣|Di|/|D|∣Di∣/∣D∣是子数据集Di在D中的比例。
总的来说,SDR和信息增益都是评估分裂属性的有效性的指标,但SDR主要用于回归问题,而信息增益主要用于分类问题。它们都试图找到那些能够最大程度降低不确定性的属性作为分裂属性。
第六章聚类6.1聚类方法分类划分法(Partitioningapproach):k均值(k-means)、k中心点(k-medoids)等方法。层次法(Hierarchicalapproach):凝聚层次聚类(agglomerativehierarchicalclustering)和分裂层次聚类(divisivehierarchicalclustering)Diana、Agnes、BIRCH、ROCK、CAMELEON等。基于密度的方法(Density-basedapproach)DBSCAN、OPTICS和DenClue等。基于模型的方法(Model-based)EM、SOM和COBWEB等6.2相似度衡量方法基于距离的相似度度量余弦相似度基于相关性的相似度度量Jaccard系数异种属性相似度的综合度量称意味着“与名称有关”,标称属性的值是一些符号或者是事物的名称。6.3K均值聚类算质心假设我们有一个二维数据集,其中包含六个点:(1,1),(1,2),(2,1),(5,4),(5,5)和(6,5),并且我们想将这些点聚成两类,以下是K-means聚类的一个基本过程:
初始化:首先,我们需要选择K(这里K=2)个初始中心(称为质心)。有多种方法可以选择初始质心,其中一种简单的方法是从数据集中随机选择K个样本。假设我们选择了(1,1)和(5,4)作为初始的两个质心。
分配到最近的质心:接下来,我们将每个数据点分配给最近的质心。这个"最近"是根据某种距离度量来确定的,通常是欧几里得距离。对于我们的例子,(1,1),(1,2)和(2,1)会被分配到第一个质心,(5,4),(5,5)和(6,5)会被分配到第二个质心。
重新计算质心:然后我们需要重新计算每个类的质心。质心是其所包含的所有点的均值。对于我们的例子,第一个类的新质心是((1+1+2)/3,(1+2+1)/3)=(1.33,1.33),第二个类的新质心是((5+5+6)/3,(4+5+5)/3)=(5.33,4.67)。
重复步骤2和3:我们不断重复步骤2和3,直到质心不再发生显著变化,或者达到预设的最大迭代次数。在我们的例子中,质心已经不会再改变,所以算法在这里停止。
最后的结果是,(1,1),(1,2)和(2,1)被聚为一类,(5,4),(5,5)和(6,5)被聚为另一类。注意,K-means聚类的结果可能会受到初始质心选择的影响,有可能陷入局部最优,因此实际操作中可能需要多次运行算法,选择最好的结果。
6.4多种聚类方式特点对比1.K-均值(K-means):
优点:
计算速度快,大规模数据集上的效率较高。输出结果易于理解,聚类效果中等。缺点:
需要预先设定聚类个数K,这在许多情况下是个挑战。对初始质心的选择敏感,可能陷入局部最优。对于非球形(非凸)的数据结构,以及大小差异较大的簇效果较差。对于噪声和离群点敏感。适用场景:
适合连续数值型数据,不适用于类别型数据(使用k-modes或k-prototype进行扩展)。数据量大且数据维度相对较低时表现较好。2.层次聚类(HierarchicalClustering):
优点:
无需预先设定聚类个数。产生的层次结构可以在不同的层次进行分析,适用于层次性的数据。在数据量不是特别大时,效果往往优于K-means。缺点:
计算复杂度高,对于大规模数据集难以处理。一旦一个样本被归入某个类,就不能再改变,这可能导致聚类效果受到限制。对于噪声和离群点敏感。适用场景:
当需要得到数据的层次结构时。数据集相对较小且具有明显的层次结构时。补充:计算簇之间的相似度的衡量方法
最小距离(minimumdistance),即单链接Singlelink:基于来自两个簇中的结点之间的最小距离来衡量两个簇的相似度,最大距离(maximumdistance),即全链接completelink:基于来自两个簇中的结点之间的最大距离来衡量两个簇的相似度平均距离(averagedistance),即均链接Singlelink:基于来自两个簇中的结点之间的平均距离来衡量两个簇的相似度平均距离(averagedistance),即均链接Singlelink:计算两个簇的质心之间的距离来衡量两个簇的相似度3.DBSCAN(Density-BasedSpatialClusteringofApplicationswithNoise):
优点:
无需预先设定聚类个数。可以发现任意形状的聚类结构。具有识别噪声点的能力。缺点:
对于密度不均匀的数据集,可能难以找到合适的参数(如密度阈值)。对高维数据的聚类效果通常不好。适用场景:
数据集中的聚类呈现复杂形状时。
数据集中存在噪声点或者离群点时。
数据集的大小和密度相对适中,且数据维度不是特别高时。
聚类效果衡量方法
Cohesion(凝聚度):衡量簇内各对象紧密程度
Separation(分离度):衡量簇间各对象的相异程度
第八章数据预处理8.1数据规范化数据规范化又称标准化(standardization)最小-最大法(min-maxnormalization)z-scoreZ=(X−μ)/σZ=(X-μ)/σZ=(X−μ)/σ8.2数据离散化等距离分箱、等频率分箱基于熵的离散化分箱离散化由于是一种无监督离散化方法基于熵的离散化方法是常用的有监督的离散化方法信息熵的取值越小,类别分布越纯,反之越不纯离散化方法ChiMerge如果基于熵的方法可以看作是自顶向下的分裂方法,则ChiMerge则属于自底向上的合并方法ChiMerge则是从每个值都是一个小区间开始,不断合并相邻区间成为大的区间,它是基于统计量卡方检验实现的ChiMerge是一种基于卡方统计量的有监督离散化方法,用于将连续变量转换为离散变量。ChiMerge方法的基本原理是将连续变量的值域划分为一系列不相交的区间,使得同一区间内的值对应的目标变量的分布尽可能一致,而不同区间对应的目标变量的分布尽可能不同。
下面是ChiMerge方法的基本步骤:
初始化:将连续属性的每个值作为一个单独的区间。
计算每对相邻区间的卡方值。
合并卡方值最小的相邻区间,这两个区间的合并不会显著改变目标变量的分布。
重复步骤2和3,直到所有相邻区间的卡方值都大于预设的阈值,或者达到预设的区间个数。
下面是一个简单的例子。假设我们有以下的数据:
AgeClass23+45-56+60-33+48-50-38+我们希望使用ChiMerge方法将Age离散化,Class是目标变量。
卡方值的计算步骤如下:
对于每一对相邻的区间,分别计算在每个区间中目标类别‘+’和‘-’的出现次数。例如,第一个区间[23]中‘+’出现1次,‘-’出现0次,第二个区间[45]中‘+’出现0次,‘-’出现1次。
构造一个2x2的观察频数表,行代表区间,列代表类别,单元格的值为相应的出现次数。
‘+’‘-’23104501根据观察频数表,计算每个单元格的期望频数。期望频数为对应行的总数乘以对应列的总数,然后除以总的观察频数。在这个例子中,所有单元格的期望频数都是0.5。
计算每个单元格的卡方值,为(观察频数-期望频数)^2/期望频数,然后把所有单元格的卡方值加起来,得到这一对区间的卡方值。在这个例子中,卡方值为(1-0.5)^2/0.5+(0-0.5)^2/0.5+(0-0.5)^2/0.5+(1-0.5)^2/0.5=2。
对所有的相邻区间都进行这样的计算,找出卡方值最小的一对区间,然后合并这一对区间。
总的来说,ChiMerge是一种有效的离散化方法,尤其适合于那些连续变量和目标变量关系复杂的情况。
8.3数据清洗处理数据的缺失、噪音数据的处理以及数据不一致的识别和处理
处理数据的缺失
如果数据集含有分类属性,一种简单的填补缺失值的方法为,将属于同一类的对象的该属性值的均值赋予此缺失值;对于离散属性或定性属性,用众数代替均值
更复杂的方法,可以将其转换为分类问题或数值预测问题
第十章数据仓库10.1数据仓库的相关概念什么是数据仓库?数据仓库是一个面向主题的、集成的、随时间变化的、稳定的用于支持组织决策的数据集合。为什么要建立数据仓库?不同系统中的数据存在冗余、不一致的问题,每个系统仅反映的是一部分信息,且互不关联,形成信息孤岛。直接访问操作型系统获取数据进行分析,势必会干扰操作型系统中事物的高效运行,影响业务运营的效率。数据仓库与数据集市的区别数据仓库:1、一般先于数据集市被创建出来。2、多种不同的数据来源。3、包括所有详细数据信息。4、数据内容为公司级别,没有特定主题或领域。5、符合第三范式。6、通常需针对如何处理海量数据做优化。数据集市:1、一般后于数据仓库被创建出来。2、数据仓库为数据来源。3、包含适度聚合的数据和一些详细数据。4、数据内容为部门级别,有特定的领域。5、星形和雪花形。6、通常更注重如何快速访问和分析。10.2数据仓库的体系结构数据仓库系统的体系结构元数据是对数据仓库中数据的描述信息。主要描述三方面的信息:数据源数据信息、数据抽取与转换方面的信息、数据仓库中的数据信息。10.3多维数据模型什么是多维数据模型?多维数据模型又称维度数据模型,由维度表和事实表构成。事实表度量通常是定量属性,存放于事实表之中。度量最好具有可加性。维度表