用户画像•精准营销,分析产品潜在用户,针对特定群体利用短信邮件等方式进行营销;•用户统计,比如中国大学购买书籍人数TOP10,全国分城市奶爸指数;•数据挖掘,构建智能推荐系统,利用关联规则计算,喜欢红酒的人通常喜欢什么运动品牌,利用聚类算法分析,喜欢红酒的人年龄段分布情况;•进行效果评估,完善产品运营,提升服务质量,其实这也就相当于市场调研、用户调研,迅速下定位服务群体,提供高水平的服务;•对服务或产品进行私人定制,即个性化的服务某类群体甚至每一位用户(个人认为这是目前的发展趋势,未来的消费主流)。比如,某公司想推出一款面向5-10岁儿童的玩具,通过用户画像进行分析,发现形象=“喜羊羊”、价格区间=“中等”的偏好比重最大,那么就给新产品提供类非常客观有效的决策依据。•业务经营分析以及竞争分析,影响企业发展战略用户画像的价值1:精准营销。精准营销是用户画像或者标签最直接和有价值的应用。这部分也是我们广告部门最注重的工作内容。当我们给各个用户打上各种“标签”之后,广告主(店铺、商家)就可以通过我们的标签圈定他们想要触达的用户,进行精准的广告投放。无论是阿里、还是腾讯很大一部分广告都是通过这种方式来触达用户,百度的搜索广告方式有所不同。2:助力产品。一个产品想要得到广泛的应用,受众分析必不可少。产品经理需要懂用户,除了需要知道用户与产品交互时点击率、跳失率、停留时间等行为之外,用户画像能帮助产品经理透过用户行为表象看到用户深层的动机与心理。3:行业报告与用户研究。通过对用户画像的分析可以了解行业动态,比如90后人群的消费偏好趋势分析、高端用户青睐品牌分析、不同地域品类消费差异分析等等。这些行业的洞察可以指导平台更好的运营、把握大方向,也能给相关公司(中小企业、店铺、媒体等)提供细分领域的深入洞察。用户画像是对人的深入挖掘,除了基本的人口统计学信息、地理位置、设备资产等客观属性之外,如兴趣偏好等是自由度很大的标签,在很多应用题场景,广告主(或需求方)更需要用户兴趣、价值观、人格层面的标签。比如汽车客户,环保类的电动车品牌想要触达的是有环保意识、喜欢小排量的用户,这就涉及到人的价值观层面了,因此制作这些标签的时候不能仅仅通过用户行为直接产生,需要更深入人格的建模。随着互联网野蛮生长时代的消退以及数据技术的进一步提升,从人心理、人格层面的深度分析将逐渐得到重视和应用。我十分期待阿里能构建一套基于人格心理学的标签,这必将给淘宝带来更好的用户体验,增加我这种不喜欢花哨页面用户的停留时间。用户画像构建流程数据收集数据收集大致分为网络行为数据、服务内行为数据、用户内容偏好数据、用户交易数据这四类。•网络行为数据:活跃人数、页面浏览量、访问时长、激活率、外部触点、社交数据等•服务内行为数据:浏览路径、页面停留时间、访问深度、唯一页面浏览次数等•用户内容便好数据:浏览/收藏内容、评论内容、互动内容、生活形态偏好、品牌偏好等•用户交易数据(交易类服务):贡献率、客单价、连带率、回头率、流失率等当然,收集到的数据不会是100%准确的,都具有不确定性,这就需要在后面的阶段中建模来再判断,比如某用户在性别一栏填的男,但通过其行为偏好可判断其性别为“女”的概率为80%。还得一提的是,储存用户行为数据时最好同时储存下发生该行为的场景,以便更好地进行数据分析。用户行为建模该阶段是对上阶段收集到数据的处理,进行行为建模,以抽象出用户的标签,这个阶段注重的应是大概率事件,通过数学算法模型尽可能地排除用户的偶然行为。这时也要用到机器学习,对用户的行为、偏好进行猜测,好比一个y=kx+b的算法,X代表已知信息,Y是用户偏好,通过不断的精确k和b来精确Y。在这个阶段,需要用到很多模型来给用户贴标签。•用户汽车模型根据用户对“汽车”话题的关注或购买相关产品的情况来判断用户是否有车、是否准备买车•用户忠诚度模型通过判断+聚类算法判断用户的忠诚度•身高体型模型根据用户购买服装鞋帽等用品判断•文艺青年模型根据用户发言、评论等行为判断用户是否为文艺青年•用户价值模型判断用户对于网站的价值,对于提高用户留存率非常有用(电商网站一般使用RFM实现)还有消费能力、违约概率、流失概率等等诸多模型。用户画像基本成型该阶段可以说是二阶段的一个深入,要把用户的基本属性(年龄、性别、地域)、购买能力、行为特征、兴趣爱好、心理特征、社交网络大致地标签化。为什么说是基本成型?因为用户画像永远也无法100%地描述一个人,只能做到不断地去逼近一个人,因此,用户画像既应根据变化的基础数据不断修正,又要根据已知数据来抽象出新的标签使用户画像越来越立体。关于“标签化”,一般采用多级标签、多级分类,比如第一级标签是基本信息(姓名、性别),第二级是消费习惯、用户行为;第一级分类有人口属性,人口属性又有基本信息、地理位置等二级分类,地理位置又分工作地址和家庭地址的三级分类。数据可视化分析这是把用户画像真正利用起来的一步,在此步骤中一般是针对群体的分析,比如可以根据用户价值来细分出核心用户、评估某一群体的潜在价值空间,以作出针对性的运营。聚类分析-K均值算法K均值算法详解及实现算法流程K均值算法,应该是聚类算法中最为基础但也最为重要的算法。其算法流程如下:随机的取k个点作为k个初始质心;计算其他点到这个k个质心的距离;如果某个点p离第n个质心的距离更近,则该点属于clustern,并对其打标签,标注pointp.label=n,其中n=k;计算同一cluster中,也就是相同label的点向量的平均值,作为新的质心;迭代至所有质心都不变化为止,即算法结束。当然算法实现的方法有很多,比如在选择初始质心时,可以随机选择k个,也可以随机选择k个离得最远的点等等,方法不尽相同。K值估计对于k值,必须提前知道,这也是kmeans算法的一个缺点。当然对于k值,我们可以有很多种方法进行估计。本文中,我们采用平均直径法来进行k的估计。也就是说,首先视所有的点为一个大的整体cluster,计算所有点之间距离的平均值作为该cluster的平均直径。选择初始质心的时候,先选择最远的两个点,接下来从这最两个点开始,与这最两个点距离都很远的点(远的程度为,该点到之前选择的最远的两个点的距离都大于整体cluster的平均直径)可视为新发现的质心,否则不视之为质心。设想一下,如果利用平均半径或平均直径这一个指标,若我们猜想的K值大于或等于真实的K值,也就是簇的真实数目,那么该指标的上升趋势会很缓慢,但是如果我们给出的K值小于真实的簇的数目时,这个指标一定会急剧上升。根据这样的估算思想,我们就能估计出正确的k值,并且得到k个初始质心,接着,我们便根据上述算法流程继续进行迭代,直到所有质心都不变化,从而成功实现算法。如下图所示:聚类分析-K值估计算法我们知道k均值总是收敛的,也就是说,k均值算法一定会达到一种稳定状态,在此状态下,所有的点都不会从一个簇转移到另一个簇,因此质心不在发生改变。在此,我们引出一个剪枝优化,即:k均值最明显的收敛过程会发生在算法运行的前期阶段,故在某些情况下为了增加算法的执行效率,我们可以替换上述算法的第五步,采用“迭代至仅有1%~3%的点在影响质心”或“迭代至仅有1%~3%的点在改变簇”。k均值适用于绝大多数的数据类型,并且简单有效。但其缺点就是需要知道准确的k值,并且不能处理异形簇,比如球形簇,不同尺寸及密度的簇,环形簇等等。本文主要为算法讲解及实现,因此代码实现暂不考虑面向对象思想,采用面向过程的实现方式,如果数据多维,可能会需要做数据预处理,比如归一化,并且修改代码相关方法即可。层次聚类算法详解及实现层次聚类简介层次聚类分为凝聚式层次聚类和分裂式层次聚类。凝聚式层次聚类,就是在初始阶段将每一个点都视为一个簇,之后每一次合并两个最接近的簇,当然对于接近程度的定义则需要指定簇的邻近准则。分裂式层次聚类,就是在初始阶段将所有的点视为一个簇,之后每次分裂出一个簇,直到最后剩下单个点的簇为止。本文中我们将详细介绍凝聚式层次聚类算法。对于凝聚式层次聚类,指定簇的邻近准则是非常重要的一个环节,在此我们介绍三种最常用的准则,分别是MAX,MIN,组平均。如下图所示:C4.5算法C4.5是做什么的?C4.5以决策树的形式构建了一个分类器。为了做到这一点,需要给定C4.5表达内容已分类的数据集合。等下,什么是分类器呢?分类器是进行数据挖掘的一个工具,它处理大量需要进行分类的数据,并尝试预测新数据所属的类别。举个例子吧,假定一个包含很多病人信息的数据集。我们知道每个病人的各种信息,比如年龄、脉搏、血压、最大摄氧量、家族病史等。这些叫做数据属性。现在:给定这些属性,我们想预测下病人是否会患癌症。病人可能会进入下面两个分类:会患癌症或者不会患癌症。C4.5算法会告诉我们每个病人的分类。做法是这样的:用一个病人的数据属性集和对应病人的反馈类型,C4.5构建了一个基于新病人属性预测他们类型的决策树。这点很棒,那么什么是决策树呢?决策树学习是创建一种类似与流程图的东西对新数据进行分类。使用同样的病人例子,一个特定的流程图路径可以是这样的:病人有癌症的病史、病人有和癌症病人高度相似的基因表达、病人有肿瘤、病人的肿瘤大小超过了5cm基本原则是:流程图的每个环节都是一个关于属性值的问题,并根据这些数值,病人就被分类了。你可以找到很多决策树的例子。算法是监督学习还是无监督学习呢?这是一个监督学习算法,因为训练数据是已经分好类的。使用分好类的病人数据,C4.5算法不需要自己学习病人是否会患癌症。那C4.5算法和决策树系统有什么区别呢?首先,C4.5算法在生成信息树的时候使用了信息增益。其次,尽管其他系统也包含剪枝,C4.5使用了一个单向的剪枝过程来缓解过渡拟合。剪枝给结果带来了很多改进。再次,C4.5算法既可以处理连续数据也可以处理离散数据。我的理解是,算法通过对连续的数据指定范围或者阈值,从而把连续数据转化为离散的数据。最后,不完全的数据用算法自有的方式进行了处理。为什么使用C4.5算法呢?可以这么说,决策树最好的卖点是他们方便于翻译和解释。他们速度也很快,是种比较流行的算法。输出的结果简单易懂。哪里可以使用它呢?在OpenTox上可以找到一个很流行的开源Java实现方法。Orange是一个用于数据挖掘的开源数据可视化和分析工具,它的决策树分类器是用C4.5实现的。