他的回复:
华为云ID:hw59611951第五章 智慧选址 学习目标:了解常用的聚类算法类型以及计算原理掌握聚类算法中的重要概念,如:距离度量方法根据应用场景选择适当的聚类算法掌握聚类模型评估方法学习内容:1.大数据“慧”说话:数据驱动业务2.“物以类聚”:聚类算法3.配送仓库选址实施 配送仓库选址问题:配送仓库选址问题总体是一个p-中值问题,即已知若千需求点的坐标和配送需求量,在空间中选取p个位置作为配送中心,使得所有需求点到归属的配送中心的加权距离和最小。配送仓库选址影响因素:成本因素交通因素企业效益政策因素其它因素:自然因素社会效应配送仓库选址影流程: 选址问题解决方案:启发式算法:NP-Hard问题,传统选址问题的常用方法基于专家咨询的层次分析法(AHP):“经验”驱动业务,决策受到专家的经验和领域知识限制中值法/重心法:主要考虑运输成本和效率,实用性强,但考虑因素较单一聚类方法聚类分析:聚类分析是分析研究对象(样品或变量)如何按照多个方面的特征进行综合分类的一种多元统计方法,它是根据物以类聚的原理将相似的样品(或变量)归为一类。把对象分为不同的类别,类别是依据数据的特征进行确定的把相似的东西放在一起,类别内部的差异尽可能小依据对象之间的相似程度,进行分类聚类算法应用——离群点检测:异常值检测-分析离群点离群点检测是数据挖掘中重要应用,任务就是发现与大部分观察对象显著不同的对象,大部分的数据挖掘方法会将这种差异信息视作噪声进行预处理,但是另外的一些应用中异常值本身代表重要的异常信息,是需要被关注和研究的应用方式利用聚类算法,找到远离其他簇的小簇;首先聚类所有对象,然后评估对象属于簇的程度,对不同距离的点迸行打分。聚类算法应用——客户分群:客户分群:根据客户数据,将相似性较高的客户聚为一类,打标签,进行客户类别细分,通过构建的用户画像进行精准营销。聚类算法应用——空间选址:通过地理位置的经纬度进行聚类计算,找出簇中心点,到簇中每个样本点的距离之和最短常用聚类算法分类: K-Means聚类算法:K-means方法是先确定聚类的数目k,然后将样本划分成k个聚类,并使得每个样本到其所在聚类的中心的距离平方和最小 聚类度量方法:“近朱者赤,近墨者黑”—使用距离表示亲疏和相似程度距离计算方法: K- Means聚类优缺点:优点简单、易于理解、运算速度快;对处理大数据集,该算法保持可伸缩性和高效性当簇接近高斯分布时,它的效果较好。缺点在 K-Means算法是局部最优的,容易受到初始质心的影响在K- Means算法中K值需要事先给定的,有时候K值的选定非常难以估计;在簇的平均值可被定义的情况下才能使用,只能应用连续型数据当数据量非常大时,算法的时间开销是非常大的;对噪声和孤立点数据敏感。 K- Mediods聚类:K- Mediods:是基于划分的另一种聚类算法,也是对 K-Means算法的种改进计算过程随机选取一组聚类样本作为中心点集每个中心点对应一个簇计算各样本点到各个中心点的距离(如欧氏距离,将样本点放入距离中心点最短的那个簇中计算各簇中,距簇内各样本点距离的绝对误差最小的点,作为新的中心点如果新的中心点集与原中心点集相同,算法终止;如果新的中心点集与原中心点集不完全相同,返回步骤2,继续进行迭代计算K- Mediods与K- Means对比: K-Mean的改进算法 K-Means+:K-Means与K- Means++:不同于K- Means算法第一次是随机选择K个聚类中心, K-Means++是假设已经选取了p个初始聚类中心(0D|distance(xi,xj)≤ε}目,该子样本集的样本个数记为|Nε(xj)|。核心对象:对于任一样本xj∈D,如果其ε-邻域对应的Nε(xj)至少包含 min_samples个样本,即如果|Nε(xj)|≥ min_samples,则xj是核心对象密度直达:如果xi位于xj的ε-邻域中,且xj是核心对象,则称xi由xj密度直达,注意反之不一定成立,即不能说xj由xi密度直达,除非且xi也是核心对象密度可达:对xi和xj,如果存在样本序列p1,p2,...,pT,满足p1=xi,,pT=xj,且pt+1由pt密度直达,则称xj由xi密度可达,密度可达满足传递性。此时p1,p2,...,pT-1均为核心对象,因为只有核心对象才能使其他样本密度直达。另外,密度可达不满足对称性,由密度直达的不对称得出密度相连:对于xi和xj,如果存在核心对象样本xk,使xi和xj均由xk密度可达,则称xi和xj密度相连。注意密度相连关系是满足对称性的。DBSCAN算法将数据点分为三类:核心点:在半径ε内含有超过 min_samples数目的点边界点:在半径内点的数量小于 min_samples,但是落在核心点的邻域内的点。噪音点:既不是核心点也不是边界点的点 DBSCAN聚类算法描述:输入:样本集,领域参数,样本距离度量方式;输出:簇划分C步骤1:初始化核心对象集合Ω=φ,初始化聚类簇数k=0,初始化未访问样本集合r=D,簇划分C=φ。步骤2:对=1,2…,m,按下面步骤找出所有核心对象:通过距离度量方式,找到样本x的ε一邻域子样本集Ne(xj)如果子样本集个数满足|Nε(xj)|≥ min_samples,将样本加入核心对象样本集合:Ω=ΩU{xj}步骤3:如果核心对象集合Ω=φ,则算法结束,否则转入步骤4步骤4:在核心对象集Ω中,随机选择一个核心对象O,初始化当前簇核心对象队Ωcur={O}。初始化类别序号k=k+1,初始化当前簇样本集合Ck={O},更新未访问样本集合r=r-{O}。步骤5:如果当前簇核心对象对列Ωcur=φ,则当前聚类簇Ck生成完毕,更新簇划分C={C1,C2…,Ck},更新簇对象集合Ω=Ω-Ck,转入步骤3。步骤6:在当前簇核心对象队列Ωcur中取出—个核心对象O’,通过领域距离阈值ε找出所有的ε-邻域子样本集Nε(O’),令Δ=Nε(O’)∩r,更新当前簇样本集合Ck=CkUΔ,更新未访问样本集合r=r-Δ,更新Ωcur=ΩcurU(Δ∩Ω)-O’,转入步骤5。输出结果为:簇划分C={C1,C2…,Ck}。 DBSCAN算法: DBSCAN聚类算法优缺点:DBSCAN的优点可以解决数据分布特殊(非凸,互相包络,长条形等)的情况对于噪声不敏感,速度较快,不需要指定簇的个数,可适用于较大的数据集在邻域参数给定的情况下结果是确定的,只要数据进入算法的顺序不变,与初始值无关缺点:因为对整个数据集我们使用的是一组邻域参数,簇之间密度差距过大时效果不好。数据集较大的时候很消耗内存对于高维数据距离的计算会比较麻烦,造成维数灾难。 聚类模型评估:性能度量:通过某种性能度量,对聚类结果的好坏进行评估。聚类性能度量一般分两类:外部指标:将聚类结果与某个“参考模型”进行比较,如讲聚类学习结果与业务专家给出的划分结果进行比较内部指标:直接考察聚类结果生成的参数,如互信息评分,兰德系数和轮毂系数等数学指标,不利用任何参考模型。 Silhonette轮廓系数:轮廓系数适用于实际类别信息未知的情况。对于单个样本,设a是其与同类别中其他样本的平均距离,b是这个样本与距离它最近的不同类别中样本的平均距离,其轮廓系数为 对于一个样本集合,它的轮廓系数是所有样本轮廓系数的平均值。轮廓系数的取值范围是[-1,1,同类别样本距离越相近目不同类别样本距离越远时,轮廓系数越高。 聚类算法选型:聚类算法应用选择考虑因素:数据规模数据分布对缺失值或异常值是否敏感对数据输入顺序是否敏感 空间选址数据准备:该案例使用 K-Means方法对设备的地理位置信息讲行空间聚类,从而确定仓库选址的最佳位置,所以从原始数据中提取出每台设备的经纬度信息。addr= data[['longitude','latitude']]部分数据展示