6图文模板.Python数据挖掘与处理_第1页
6图文模板.Python数据挖掘与处理_第2页
6图文模板.Python数据挖掘与处理_第3页
6图文模板.Python数据挖掘与处理_第4页
6图文模板.Python数据挖掘与处理_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据科学概论--数据挖掘与处理NorthwesternPolytechnicalUniversity西北工业大学什么是数据挖掘数据挖掘算法的选择分类算法的评价标准回归算法的评价标准分类学习逻辑回归支持向量机朴素贝叶斯决策树回归预测线性回归支持向量机(回归)决策树(回归)聚类分析K-means算法K-medoids聚类轮廓系数目录数据挖掘--从大量数据中寻找其规律的技术,是统计学、数据库技术和人工智能技术的综合。数据挖掘是从数据中自动地抽取模式、关联、变化、异常和有意义的结构;数据挖掘大部分的价值在于利用数据挖掘技术改善预测模型。一、数据挖掘知识发现(KD)输出的是规则数据挖掘(DM)输出的是模型共同点两种方法输入的都是学习集(learningsets)目的都是尽可能多的自动化数据挖掘过程数据挖掘过程并不能完全自动化,只能半自动化知识发现与数据挖掘技术分类预言(Predication):用历史预测未来描述(Description):了解数据中潜在的规律数据挖掘技术异常检测分类(预言)聚集序列模式关联分析……数据挖掘技术异常检测是数据挖掘中一个重要方面,用来发现”小的模式”(相对于聚类),即数据集中间显著不同于其它数据的对象。异常探测应用电信和信用卡欺骗贷款审批药物研究气象预报金融领域客户分类网络入侵检测故障检测与诊断等异常检测Hawkins(1980)给出了异常的本质性的定义:异常是在数据集中与众不同的数据,使人怀疑这些数据并非随机偏差,而是产生于完全不同的机制。聚类算法对异常的定义:异常是聚类嵌于其中的背景噪声。异常检测算法对异常的定义:异常是既不属于聚类也不属于背景噪声的点。他们的行为与正常的行为有很大不同。什么是异常(outlier)?基于统计(statistical-based)的方法基于距离(distance-based)的方法基于偏差(deviation-based)的方法基于密度(density-based)的方法高维数据的异常探测异常检测方法的分类分类:预测分类标号(或离散值)根据训练数据集和类标号属性,构建模型来分类现有数据,并用来分类新数据预测:建立连续函数值模型,比如预测空缺值典型应用信誉证实目标市场医疗诊断性能预测分类VS.预测Scikit-learn模型选择第一步,建立一个模型,描述预定数据类集和概念集假定每个元组属于一个预定义的类,由一个类标号属性确定基本概念训练数据集:由为建立模型而被分析的数据元组形成训练样本:训练数据集中的单个样本(元组)学习模型可以用分类规则、判定树或数学公式的形式提供第二步,使用模型,对将来的或未知的对象进行分类首先评估模型的预测准确率对每个测试样本,将已知的类标号和该样本的学习模型类预测比较模型在给定测试集上的准确率是正确被模型分类的测试样本的百分比测试集要独立于训练样本集,否则会出现“过分适应数据”的情况数据分类:两步过程第一步:建立模型训练数据集分类算法IFrank=‘professor’ORyears>6THENtenured=‘yes’分类规则第二步:用模型进行分类分类规则测试集未知数据(Jeff,Professor,4)Tenured?通过对数据进行预处理,可以提高分类和预测过程的准确性、有效性和可伸缩性数据清理消除或减少噪声,处理空缺值,从而减少学习时的混乱相关性分析数据中的有些属性可能与当前任务不相关;也有些属性可能是冗余的;删除这些属性可以加快学习步骤,使学习结果更精确数据变换可以将数据概化到较高层概念,或将数据进行规范化准备分类和预测的数据使用下列标准比较分类和预测方法预测的准确率:模型正确预测新数据的类编号的能力速度:产生和使用模型的计算花销鲁棒性:给定噪声数据或有空缺值的数据,模型正确预测的能力可伸缩性:对大量数据,有效的构建模型的能力可解释性:学习模型提供的理解和洞察的层次比较分类方法混淆矩阵查准率、查全率与F1查准率:在预测值为正例的样本中真实值也为正例的样本数量所占的比例.查全率:在真实值为正例的样本中,预测值为正例的样本所占的比例F1:查准率与查全率的调和平均数不同场景海关稽查走私癌症筛查预测准确性的评估方法贝叶斯分类利用统计学中的贝叶斯定理,来预测类成员的概率,即给定一个样本,计算该样本属于一个特定的类的概率。朴素贝叶斯分类:假设每个属性之间都是相互独立的,并且每个属性对非类问题产生的影响都是一样的。贝叶斯分类GaussianNB(高斯朴素贝叶斯)高斯朴素贝叶斯适用于连续型数值,比如身高在160cm以下为一类,160-170cm为一个类。MultinomialNB(多项式朴素贝叶斯)多项式朴素贝叶斯常用于文本分类,特征是单词,值是单词出现的次数。BernoulliNB(伯努利朴素贝叶斯)伯努利朴素贝叶斯所用特征为全局特征,只是它计算的不是单词的数量,而是出现则为1,否则为0,也就是特征等权重。Scikit-learn中的贝叶斯分类方法#使用高斯朴素贝叶斯分类:Bayes.ipynbfromsklearn.naive_bayesimportGaussianNBgnb=GaussianNB()model=gnb.fit(x_train,y_train)y_pred=model.predict(x_test)survived_pred=model.predict(x_test)fromsklearn.metricsimportclassification_reportprint(classification_report(y_test,survived_pred,target_names=['died','survived']))预测泰坦尼克号生还率什么是决策树?类似于流程图的树结构每个内部节点表示在一个属性上的测试每个分枝代表一个测试输出每个树叶节点代表类或类分布决策树的生成由两个阶段组成判定树构建开始时,所有的训练样本都在根节点递归的通过选定的属性,来划分样本(必须是离散值)树剪枝许多分枝反映的是训练数据中的噪声和孤立点,树剪枝试图检测和剪去这种分枝决策树的使用:对未知样本进行分类通过将样本的属性值与判定树相比较用决策树归纳分类决策树算法(一个贪心算法)自顶向下的分治方式构造判定树树以代表训练样本的单个根节点开始使用分类属性(如果是量化属性,则需先进行离散化)递归的通过选择相应的测试属性,来划分样本,一旦一个属性出现在一个节点上,就不在该节点的任何后代上出现测试属性是根据某种启发信息或者是统计信息来进行选择(如:信息增益)递归划分步骤停止的条件给定节点的所有样本属于同一类没有剩余属性可以用来进一步划分样本——使用多数表决没有剩余的样本决策树算法特征选择、决策树生产和决策树裁剪三种常见的决策树算法,使用某特征对数据集划分之后,各数据子集的纯度要比划分前的数据集D的纯度高,也就是不确定性要比划分前数据集D的不确定性低。ID3:通过信息增益选择特征C4.5:通过信息增益比选择特征,C4.5算法是对ID3算法的一种改进,ID3算法对可取值数量较多的属性有所偏好,因此,C4.5算法不再使用信息增益,而是使用信息增益率来改进这种不利的影响。CART:通过Gini指数选择特征,Gini(D)反映了从数据集D中随机抽取两个样本,其类别标记不一致的概率。因此,Gini(D)越小,则数据集D纯度越高。决策树创建过程#决策树判断是否生还decisiontree.ipynb#从sklearn中引入决策树分类fromsklearn.treeimportDecisionTreeClassifierdtc=DecisionTreeClassifier()dtc.fit(x_train,y_train)y_pred=dtc.predict(x_test)fromsklearn.metricsimportclassification_reportprint(classification_report(y_test,y_pred,target_names=['died','survived']))决策树预测泰坦尼克号生还与否决策树在模型描述上有着巨大的优势。决策树的推断逻辑非常直观,具有清晰的可解释性,也可以很方便地将模型进行可视化。决策树的可视化后向传播是一种神经网络学习算法;神经网络是一组连接的输入/输出单元,每个连接都与一个权相连。在学习阶段,通过调整神经网络的权,使得能够预测输入样本的正确标号来学习。优点预测精度总的来说较高健壮性好,训练样本中包含错误时也可正常工作输出可能是离散值、连续值或者是离散或量化属性的向量值对目标进行分类较快缺点训练(学习)时间长蕴涵在学习的权中的符号含义很难理解很难根专业领域知识相整合后向传播分类k-最临近分类给定一个未知样本,k-最临近分类法搜索模式空间,找出最接近未知样本的k个训练样本;然后使用k个最临近者中最公共的类来预测当前样本的类标号基于案例的推理样本或案例使用复杂的符号表示,对于新案例,先检测是否存在同样的训练案例;如果找不到,则搜索类似的训练案例遗传算法结合生物进化思想的算法粗糙集方法模糊集方法允许在分类规则中定义“模糊的”临界值或边界其他分类方法预测是构造和使用模型评估无样本类,或评估给定样本可能具有的属性或值空间。预测和分类的异同相同点两者都需要构建模型都用模型来估计未知值预测当中主要的估计方法是回归分析线性回归和多元回归非线性回归不同点分类法主要是用来预测类标号(分类属性值)预测法主要是用来估计连续值(量化属性值)什么是预测?MAE:MeanAbsoluteError”(平均绝对误差)MSE全称为“MeanSquaredError”(均方误差)R2score,分子代表预测值与真实值的差异,而分母代表真实值与平均值的差异。Scikit-learn中使用以下方式导入fromsklearn.metricsimportmean_absolute_error,mean_squared_error,r2_score判断预测准确性线性回归:Y=+X其中和是回归系数,可以根据给定的数据点,通过最小二乘法来求得多元回归:Y=+1X1+2X2线性回归的扩展,设计多个预测变量,可以用最小二乘法求得上式中的,1和2非线性回归:Y=+1X1+2X22+3X33对不呈线性依赖的数据建模使用多项式回归建模方法,然后进行变量变换,将非线性模型转换为线性模型,然后用最小二乘法求解回归方法簇(Cluster):一个数据对象的集合在同一个类中,对象之间0具有相似性;不同类的对象之间是相异的。聚类分析把一个给定的数据对象集合分成不同的簇;聚类是一种无监督分类法:没有预先指定的类别;典型的应用作为一个独立的分析工具,用于了解数据的分布;作为其它算法的一个数据预处理步骤;数据挖掘算法—聚类模式识别空间数据分析在GIS中,通过聚类发现特征空间来建立主题索引;在空间数据挖掘中,检测并解释空间中的簇;图象处理经济学(尤其是市场研究方面)WWW文档分类分析WEB日志数据来发现相似的访问模式聚类的常规应用市场销售:

帮助市场人员发现客户中的不同群体,然后用这些知识来开展一个目标明确的市场计划;土地使用:

在一个陆地观察数据库中标识那些土地使用相似的地区;保险:

对购买了汽车保险的客户,标识那些有较高平均赔偿成本的客户;城市规划:

根据类型、价格、地理位置等来划分不同类型的住宅;地震研究:

根据地质断层的特点把已观察到的地震中心分成不同的类;应用聚类分析的例子一个好的聚类方法要能产生高质量的聚类结果——簇,这些簇要具备以下两个特点:高的簇内相似性低的簇间相似性聚类结果的好坏取决于该聚类方法采用的相似性评估方法以及该方法的具体实现;聚类方法的好坏还取决与该方法是能发现某些还是所有的隐含模式;聚类方法性能评价输入集适应性能够处理噪声和异常对输入数据对象的顺序不敏感能处理高维数据在决定输入参数的时候,尽量不需要特定的领域知识;方法特性可伸缩性能够处理不同类型的属性能发现任意形状的簇结果能产生一个好的、能满足用户指定约束的聚类结果结果是可解释的、可理解的和可用的聚类方法性能评价差异度/相似度矩阵:相似度通常用距离函数来表示;有一个单独的质量评估函数来评判一个簇的好坏;对不同类型的变量,距离函数的定义通常是不同的,这在下面有详细讨论;根据实际的应用和数据的语义,在计算距离的时候,不同的变量有不同的权值相联系;很难定义“足够相似了”或者“足够好了”只能凭主观确定;评价聚类质量k-means聚类:一种基于距离的聚类算法,模型可解释性强,运用较为广泛。1)随机选取k个中心点;2)遍历样本数据,将每个样本划分到最近的中心点;3)计算每个类中样本的平均值,并作为新的中心点;4)重复步骤2-3,直到中心点不再变化或者达到最大迭代次数。k-medoids聚类:1) 在总体n个样本点中任意选取k个点作为medoids;2) 按照与medoids最近的原则,将剩余的n-k个点分配到当前最佳的medoids代表的类中;3) 对于第i个类中除对应medoids点外的所有其他点,按顺序计算当其为新的medoids时,准则函数的值,遍历所有可能,选取准则函数最小时对应的点作为新的medoids;4) 重复2-3的过程,直到所有的medoids点不再发生变化或已达到设定的最大迭代次数;5) 产出最终确定的k个类常用聚类算法Scikit-learn的聚类算法make_blobs生成测试数据使用Kmeans算法进行聚类fromsklearn.clusterimportKMeanskmeans=KMeans(n_clusters=4)kmeans.fit(data)y_kmeans=kmeans.predict(data)使用不同颜色表示不同的聚类plt.scatter(data[:,0],data[:,1],c=y_kmeans,s=50,cmap='viridis')centers=kmeans.cluster_centers_plt.scatter(centers[:,0],centers[:,1],c='black',s=200,alpha=0.5)K-means算法例子k-means.ipynbk-means算法并不保证结果是全局最优的,并且在聚类之前需要指定聚类的个数,也就是簇的数量,它自己不会从数据中学习出簇的数量,如果选择的簇的数量不恰当,k-means算法尽管也会执行,但结果会不尽人意。K-means聚类的缺点轮廓系数(SilhouetteCoefficient)是结合类内聚合程度和类间离散程度来评估聚类性能,对任意样本点,计算方法为:1)计算到簇中个点的平均簇内距离a(Xi),也称之为类内聚合度;2)分别计算到其它簇中各点的平均距离,取最小值记为b(Xi),也称之为类间离散度;3)用s(Xi)表示轮廓系数,计算公式如下:

s(Xi)的取值范围为[-1,1],若s接近-1,表示样本更应该分到其它簇。使用轮廓系数评价聚类个数选择使系数较大所对应的k值Forn_clusters=2Theaveragesilhouette_scoreis:0.704978749608Forn_clusters=3Theaveragesilhouette_scoreis:0.588200401213Forn_clusters=4Theaveragesilhouette_scoreis:0.650518663273Forn_clusters=5Theaveragesilhouette_scoreis:0.563764690262Forn_clusters=6Theaveragesilhouette_scoreis:0.450466629437使用轮廓系数评价聚类效果手肘法利用SSE(sumofthesquarederrors,误差平方和)判断聚类个数是否最优随着聚类数k的增大,样本划分会更加精细,每个簇的聚合程度会逐渐提高,那么误差平方和SSE自然会逐渐变小。当k小于真实聚类数时,由于k的增大会大幅增加每个簇的聚合程度,故SSE的下降幅度会很大,而当k到达真实聚类数时,再增加k所得到的聚合程度回报会迅速变小,所以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论