当前位置: 首页 > news >正文

济宁网站建设只要500元如何做漫画网站

济宁网站建设只要500元,如何做漫画网站,关键词排名快照优化,wordpress php版本要求目录 K-Means 算法 K-Means 术语 K 值如何确定 K-Means 场景 美国总统大选摇争取摆选民 电商平台用户分层 给亚洲球队做聚类 ​编辑 其他场景 K-Means 工作流程 K-Means 开发流程 K-Means的底层代码实现 K-Means 的评价标准 K-Means 算法 对于 n 个样本点来说根据距离公式如欧式距离去计 算它们的远近距离越近越相似。按照这样的规则我们把它们划分到 K 个类别中让每个类别中的样本点都是最相似的。 优点: 属于无监督学习无须准备训练集 原理简单实现起来较为容易 结果可解释性较好 缺点: 需手动设置k值。 在算法开始预测之前我们需要手动设置k值即估计数据大概的类别个数不合理的k值会使结果缺乏解释性 可能收敛到局部最小值, 在大规模数据集上收敛较慢 对于异常点、离群点敏感 使用数据类型 : 数值型数据 K-Means 术语 簇: 所有数据的点集合簇中的对象是相似的。 质心: 簇中所有点的中心计算所有点的均值而来. SSE: Sum of Sqared Error误差平方和, 它被用来评估模型的好坏SSE 值越小表示越接近它们的质心. 聚类效果越好。由于对误差取了平方因此更加注重那些远离中心的点一般为边界点或离群点。 K 值如何确定 K-means 的算法原理我们就解释完了但还有一个问题没有解决那就是我们怎么知道数据  需要分成几个类别也就是怎么确定 K 值呢K 值的确定一般来说要取决于个人的经验和感觉没有一个统一的标准。所以要确定 K 值 是一项比较费时费力的事情最差的办法是去循环尝试每一个 K 值。然后在不同的 K 值情 况下通过每一个待测样本点到质心的距离之和来计算平均距离。 K-Means 场景 美国总统大选摇争取摆选民 kmeans如前所述用于数据集内种类属性不明晰希望能够通过数据挖掘出或自动归类出有相似特点的对象的场景。其商业界的应用场景一般为挖掘出具有相似特点的潜在客户群体以便公司能够重点研究、对症下药。 例如在2000年和2004年的美国总统大选中候选人的得票数比较接近或者说非常接近。任一候选人得到的普选票数的最大百分比为50.7%而最小百分比为47.9% 如果1%的选民将手中的选票投向另外的候选人那么选举结果就会截然不同。 实际上如果妥善加以引导与吸引少部分选民就会转换立场。尽管这类选举者占的比例较低但当候选人的选票接近时这些人的立场无疑会对选举结果产生非常大的影响。如何找出这类选民以及如何在有限的预算下采取措施来吸引他们 答案就是聚类Clustering)。 那么具体如何实施呢首先收集用户的信息可以同时收集用户满意或不满意的信息这是因为任何对用户重要的内容都可能影响用户的投票结果。然后将这些信息输入到某个聚类算法中。接着对聚类结果中的每一个簇最好选择最大簇 精心构造能够吸引该簇选民的消息。最后 开展竞选活动并观察上述做法是否有效。 另一个例子就是产品部门的市场调研了。为了更好的了解自己的用户产品部门可以采用聚类的方法得到不同特征的用户群体然后针对不同的用户群体可以对症下药为他们提供更加精准有效的服务。 电商平台用户分层 电商平台的运营工作经常需要对用户进行分层针对不同层次的用户采取不同的运营策略这个过程也叫做精细化运营。 就我知道的情况来说运营同学经常会按照自己的经验比如按照用户的下单次数或者按照  用户的消费金额通过制定的一些分类规则给用户进行分层如下表格我们就可以得到三种  不同价值的用户。 这种划分的方法简单来看是没有大问题的但是并不科学。为什么这么说呢这主要有两方面原因。 一方面只用单一的“下单次数”来衡量用户的价值度并不合理因为用户下单的品类价格不同很可能会出现的情况是用户 A 多次下单的金额给平台带来的累计 GMV网站的成交金额 还不如用户 B 的一次下单带来的多。因此只通过“下单次数”来衡量用户价值就不合理。因为一般来说我们会结合下单次数、消费金额、活跃程度等等很多的指标进行综合分析。 另一方面就算我们可以用单一的“下单次数”进行划分用户但是不同人划分的标准不一样“下单次数”的阈值需要根据数据分析求出来直接用 10 和 50 就不合理。这两方面原因就会导致我们分析出来的用户对平台的贡献度差别特别大。因此我们需要用一种科学的、通用的划分方法去做用户分群 RFM 作为用户价值划分的经典模型就可以解决这种分群的问题RFM 是客户分析及衡量客户价值的重要模型之一。其中 R 表示最近一次消费RecencyF 表示消费频率 FrequencyM 表示消费金额Monetary。 我们可以将每个维度分为高低两种情况如 R 的高低、F 的高低以及 M 的高低构建出一 个三维的坐标系。 然后我们通过用户历史数据如订单数据、浏览日志统计出每个用户的 RFM 数据USERPIN用户唯一 ID  R最后一次消费日期距现在的时间例如最后消费时间到现在距离 5 天则 R 就是 5  F消费频率例如待统计的一段时间内用户消费了 20 次则 F 就是 20 M消费金额例如待统计的一段时间内用户累计消费了 1000 元钱则 M 就是 1000  这样我们就有了 8000 个样本数据每个样本数据包含三个特征分别为 R、FM然后根据前面 RFM 分为 8 个用户群体则意味着 K 值为 8。 最后我们将数据代入到 K-means 算法K-means 将按照本节课讲解的计算逻辑进行计算最终将 8000 个样本数据聚类成 8 个用户群体。这个时候运营同学就可以根据新生成的RFM 用户分群进行针对性的营销策略了。 给亚洲球队做聚类 其中 2019 年国际足联的世界排名2015 年亚洲杯排名均为实际排名。2018 年世界杯中 很多球队没有进入到决赛圈所以只有进入到决赛圈的球队才有实际的排名。如果是亚洲区预 选赛 12 强的球队排名会设置为 40。如果没有进入亚洲区预选赛 12 强球队排名会设置为50。 针对上面的排名我们首先需要做的是数据规范化。你可以把这些值划分到[0,1]或者按照均值为 0方差为 1 的正态分布进行规范化。具体数据规范化的步骤可以看下 13 篇也就是数据变换那一篇。我先把数值都规范化到[0,1]的空间中得到了以下的数值表 计算每个队伍分别到中国、日本、韩国的欧氏距离然后根据距离远近来划分。我们看到大部分的队会和中国队聚 类到一起。这里我整理了距离的计算过程比如中国和中国的欧氏距离为 0中国和日本的欧氏距离为 0.732003。如果按照中国、日本、韩国为 3 个分类的中心点欧氏距离的计算结果如下表所示  然后我们再重新计算这三个类的中心点如何计算呢最简单的方式就是取平均值然后根据新的中心点按照距离远近重新分配球队的分类再根据球队的分类更新中心点的位置。计算过程这里不展开最后一直迭代重复上述的计算过程计算中心点和划分分类到分类不再发生变化可以得到以下的分类结果 所以我们能看出来第一梯队有日本、韩国、伊朗、沙特、澳洲第二梯队有中国、伊拉克、阿联酋、乌兹别克斯坦第三梯队有卡塔尔、泰国、越南、阿曼、巴林、朝鲜、印尼、叙利亚、约旦、科威特和巴勒斯坦。 # coding: utf-8 from sklearn.cluster import KMeans from sklearn import preprocessing import pandas as pd # 输入数据 data pd.read_csv(data.csv, encodinggbk) train_x data[[2019年国际排名,2018世界杯,2015亚洲杯]] df pd.DataFrame(train_x)# 我们能看到在 K-Means 类创建的过程中有一些主要的参数 # n_clusters: 即 K 值一般需要多试一些 K 值来保证更好的聚类效果。你可以随机设置一些 # K 值然后选择聚类效果最好的作为最终的 K 值# max_iter 最大迭代次数如果聚类很难收敛的话设置最大迭代次数可以让我们及时得 # 到反馈结果否则程序运行时间会非常长# n_init初始化中心点的运算次数默认是 10。程序是否能快速收敛和中心点的选择关系 # 非常大所以在中心点选择上多花一些时间来争取整体时间上的快速收敛还是非常值得 # 的。由于每一次中心点都是随机生成的这样得到的结果就有好有坏非常不确定所以要 # 运行 n_init 次, 取其中最好的作为初始的中心点。如果 K 值比较大的时候你可以适当增大 n_init 这个值# init 即初始值选择的方式默认是采用优化过的 k-means 方式你也可以自己指定 # 中心点或者采用 random 完全随机的方式。自己设置中心点一般是对于个性化的数据进 # 行设置很少采用。random 的方式则是完全随机的方式一般推荐采用优化过的 k- means 方式# algorithmk-means 的实现算法有“auto” “full”“elkan”三种。一般来说建议直 # 接用默认的auto。简单说下这三个取值的区别如果你选择full采用的是传统的 K- # Means 算法“auto”会根据数据的特点自动选择是选择“full”还是“elkan”。我们一 # 般选择默认的取值即“auto” 。kmeans KMeans(n_clusters3) # 规范化到[0,1]空间 min_max_scalerpreprocessing.MinMaxScaler() train_xmin_max_scaler.fit_transform(train_x) # kmeans算法 kmeans.fit(train_x) predict_y kmeans.predict(train_x) # 合并聚类结果插入到原数据中 result pd.concat((data,pd.DataFrame(predict_y)),axis1) result.rename({0:u聚类},axis1,inplaceTrue) print(result) 其他场景 K-means 算 法可以应用场景还有很多常见的有文本聚类、售前辅助、风险监测等等。下面我们一一来说。 文本聚类根据文档内容或主题对文档进行聚类。有些 APP 或小程序做的事儿就是从网络中爬取文章然后通过 K-means 算法对文本进行聚类结构化后最终展示给自己的用户。 售前辅助根据用户的通话、短信和在线留言等信息结合用户个人资料帮助公司在售前对客户做更多的预测。 风险监测在金融风控场景中在没有先验知识的情况下通过无监督方法对用户行为做异常检测。 K-Means 工作流程 第一步随机选取任意 K 个数据点作为初始质心 第二步分别计算数据集中每一个数据点与每一个质心的距离数据点距离哪个质心最近就属于哪个聚类 第三步在每一个聚类内分别计算每个数据点到质心的距离取均值作为下一轮迭代的质心 第四步如果新质心和老质心之间的距离不再变化或小于某一个阈值计算结束。 K-Means 开发流程 收集数据: 使用任意方法 准备数据: 需要数值型数据类计算距离, 也可以将标称型数据映射为二值型数据再用于距离计算 分析数据: 使用任意方法 训练算法: 不适用于无监督学习即无监督学习不需要训练步骤 测试算法: 应用聚类算法、观察结果.可以使用量化的误差指标如误差平方和后面会介绍来评价算法的结果. 使用算法: 可以用于所希望的任何应用.通常情况下, 簇质心可以代表整个簇的数据来做出决策. K-Means的底层代码实现 # 计算两个向量的欧氏距离  def distEclud(vecA,vecB):return sqrt(sum(power(vecA-vecB,2))# 传入的数据时numpy的矩阵格式 def randCent(dataMat, k):n shape(dataMat)[1] centroids mat(zeros((k,n))) for j in range(n):minJ min(dataMat[:,j]) # 找出矩阵dataMat第j列最小值rangeJ float(max(dataMat[:,j]) - minJ) #计算第j列最大值和最小值的差 #赋予一个随机质心它的值在整个数据集的边界之内centroids[:,j] minJ rangeJ * random.rand(k,1) return centroids #返回一个随机的质心矩阵#k-均值算法 def kMeans(dataMat,k,distE distEclud , createCentrandCent): m shape(dataMat)[0] # 获得行数mclusterAssment mat(zeros((m,2))) # 初试化一个矩阵用来记录簇索引和存储误差 centroids createCent(dataMat,k) # 随机的得到一个质心矩阵蔟clusterChanged True while clusterChanged:clusterChanged Falsefor i in range(m): #对每个数据点寻找最近的质心 minDist inf; minIndex -1for j in range(k): # 遍历质心蔟寻找最近的质心distJ1 distE(centroids[j,:],dataMat[i,:]) #计算数据点和质心的欧式距离 if distJ1 minDist:minDist distJ1; minIndex j if clusterAssment[i,0] ! minIndex:clusterChanged TrueclusterAssment[i,:] minIndex,minDist**2 print centroidsfor cent in range(k): #更新质心的位置ptsInClust dataMat[nonzero(clusterAssment[:,0].Acent)[0]] centroids[cent,:] mean(ptsInClust, axis0)return centroids, clusterAssment K-Means 的评价标准 k-means算法因为手动选取k值和初始化随机质心的缘故每一次的结果不会完全一样而且由于手动选取k值我们需要知道我们选取的k值是否合理聚类效果好不好那么如何来评价某一次的聚类效果呢也许将它们画在图上直接观察是最好的办法但现实是我们的数据不会仅仅只有两个特征一般来说都有十几个特征而观察十几维的空间对我们来说是一个无法完成的任务。因此我们需要一个公式来帮助我们判断聚类的性能这个公式就是SSE (Sum of Squared Error, 误差平方和 它其实就是每一个点到其簇内质心的距离的平方值的总和这个数值对应kmeans函数中clusterAssment矩阵的第一列之和。 SSE值越小表示数据点越接近于它们的质心聚类效果也越好。 因为对误差取了平方因此更加重视那些远离中心的点。一种肯定可以降低SSE值的方法是增加簇的个数但这违背了聚类的目标。聚类的目标是在保持簇数目不变的情况下提高簇的质量。
http://www.zqtcl.cn/news/693936/

相关文章:

  • 京润珍珠企业网站优化洛阳做网站
  • 嘉定网站开发中山市区做网站公司
  • 可信赖的武进网站建设上海中小企业服务中心
  • 应用网站品牌官方网站
  • 网站建设综合训练的实验目的漳州网站建设网站运营
  • 网页设计免费网站推荐我的世界做壁纸的网站
  • 黄岩做网站的公司网站栏目相关内容在哪采集啊
  • 邯郸市城市建设局网站快速建站平台
  • 华为官方手表网站wordpress文章图片链接
  • 做个网站需要多久腾讯云云服务器官网
  • 松江企业做网站一个阿里云怎么做两个网站
  • 网站制作+app+公众号app制作定制外包88
  • 企业网站建设有哪些好处制作网页之前必须先建立什么
  • 盐亭县建设局网站网站建设基本技术
  • 优化seo网站高质量的邯郸网站建设
  • 网站开发 合同范本软件设计专业介绍
  • 南山网站建设设计莱州网站建设关键字排名优化网络托管微信代运营
  • 传统门户网站有哪些网络营销公司全网推广公司
  • 桥头镇网站建设卢松松外链工具
  • 手机网站导航设计大连市自然资源局
  • 装修网站vr全景图怎么做软件工程师证书报考条件
  • 部门网站建设管理经验交流材料定制开发app
  • 做网站 就google权重查询
  • 网站制作 福宁网络有限公司绚丽的网站
  • wordpress ip 访问重庆seo顾问服务
  • 灰色调网站自动seo系统
  • 河北省网站建设公司排名企业网络信息安全
  • 郑州网站定制建个微商城网站
  • 北京好网站制作公司哪家好vs加数据库做网站
  • 电子商务网站建设与管理第四章答案seo入门培训学校