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

个人展示网站高明公司搜索seo

个人展示网站,高明公司搜索seo,长沙网站开发那家好,竞价推广软件⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ #x1f434;作者#xff1a;秋无之地 #x1f434;简介#xff1a;CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作#xff0c;主要擅长领域有#xff1a;爬虫、后端、大数据… ⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 作者秋无之地 简介CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作主要擅长领域有爬虫、后端、大数据开发、数据分析等。 欢迎小伙伴们点赞、收藏⭐️、留言、关注关注必回关 上一篇文章已经跟大家介绍过《KNN下数据分析 | 数据挖掘 | 十大算法之一》相信大家对KNN下都有一个基本的认识。下面我讲一下K-Means上数据分析 | 数据挖掘 | 十大算法之一 K-Means 是一种非监督学习解决的是聚类问题。K 代表的是 K 类Means 代表的是中心你可以理解这个算法的本质是确定 K 类的中心点当你找到了这些中心点也就完成了聚类。 现在思考以下三个问题 如何确定 K 类的中心点如何将其他点划分到 K 类中如何区分 K-Means 与 KNN 如果理解了上面这 3 个问题那么对 K-Means 的原理掌握得也就差不多了。 一、K-Means 的工作原理 举个例子假设我有 20 支亚洲足球队想要将它们按照成绩划分成 3 个等级可以怎样划分 对亚洲足球队的水平你可能也有自己的判断。比如一流的亚洲球队有谁你可能会说伊朗或韩国。二流的亚洲球队呢你可能说是中国。三流的亚洲球队呢你可能会说越南。 其实这些都是靠我们的经验来划分的那么伊朗、中国、越南可以说是三个等级的典型代表也就是我们每个类的中心点。 所以回过头来如何确定 K 类的中心点一开始我们是可以随机指派的当你确认了中心点后就可以按照距离将其他足球队划分到不同的类别中。 这也就是 K-Means 的中心思想就是这么简单直接。你可能会问如果一开始选择一流球队是中国二流球队是伊朗三流球队是韩国中心点选择错了怎么办其实不用担心K-Means 有自我纠正机制在不断的迭代过程中会纠正中心点。中心点在整个迭代过程中并不是唯一的只是你需要一个初始值一般算法会随机设置初始的中心点。 好了那我来把 K-Means 的工作原理给你总结下 选取 K 个点作为初始的类中心点这些点一般都是从数据集中随机抽取的将每个点分配到最近的类中心点这样就形成了 K 个类然后重新计算每个类的中心点重复第二步直到类不发生变化或者你也可以设置最大迭代次数这样即使类中心点发生变化但是只要达到最大迭代次数就会结束。 二、如何给亚洲球队做聚类 对于机器来说需要数据才能判断类中心点所以我整理了 2015-2019 年亚洲球队的排名如下表所示。 我来说明一下数据概况。 其中 2019 年国际足联的世界排名2015 年亚洲杯排名均为实际排名。2018 年世界杯中很多球队没有进入到决赛圈所以只有进入到决赛圈的球队才有实际的排名。如果是亚洲区预选赛 12 强的球队排名会设置为 40。如果没有进入亚洲区预选赛 12 强球队排名会设置为 50 针对上面的排名我们首先需要做的是数据规范化。你可以把这些值划分到[0,1]或者按照均值为 0方差为 1 的正态分布进行规范化。 我先把数值都规范化到[0,1]的空间中得到了以下的数值表 如果我们随机选取中国、日本、韩国为三个类的中心点我们就需要看下这些球队到中心点的距离。 距离有多种计算的方式有关距离的计算我在 KNN 算法中也讲到过 欧氏距离曼哈顿距离切比雪夫距离余弦距离 欧氏距离是最常用的距离计算方式这里我选择欧氏距离作为距离的标准计算每个队伍分别到中国、日本、韩国的距离然后根据距离远近来划分。我们看到大部分的队会和中国队聚类到一起。这里我整理了距离的计算过程比如中国和中国的欧氏距离为 0中国和日本的欧式距离为 0.732003。如果按照中国、日本、韩国为 3 个分类的中心点欧氏距离的计算结果如下表所示 然后我们再重新计算这三个类的中心点如何计算呢最简单的方式就是取平均值然后根据新的中心点按照距离远近重新分配球队的分类再根据球队的分类更新中心点的位置。计算过程这里不展开最后一直迭代重复上述的计算过程计算中心点和划分分类到分类不再发生变化可以得到以下的分类结果 所以我们能看出来第一梯队有日本、韩国、伊朗、沙特、澳洲第二梯队有中国、伊拉克、阿联酋、乌兹别克斯坦第三梯队有卡塔尔、泰国、越南、阿曼、巴林、朝鲜、印尼、叙利亚、约旦、科威特和巴勒斯坦。 三、如何使用 sklearn 中的 K-Means 算法 sklearn 是 Python 的机器学习工具库如果从功能上来划分sklearn 可以实现分类、聚类、回归、降维、模型选择和预处理等功能。这里我们使用的是 sklearn 的聚类函数库因此需要引用工具包具体代码如下 from sklearn.cluster import KMeans 当然 K-Means 只是 sklearn.cluster 中的一个聚类库实际上包括 K-Means 在内sklearn.cluster 一共提供了 9 种聚类方法比如 Mean-shiftDBSCANSpectral clustering谱聚类等。这些聚类方法的原理和 K-Means 不同这里不做介绍。 我们看下 K-Means 如何创建 KMeans(n_clusters8, initk-means, n_init10, max_iter300, tol0.0001, precompute_distancesauto, verbose0, random_stateNone, copy_xTrue, n_jobs1, algorithmauto) 我们能看到在 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” 。 在创建好 K-Means 类之后就可以使用它的方法最常用的是 fit 和 predict 这个两个函数。你可以单独使用 fit 函数和 predict 函数也可以合并使用 fit_predict 函数。其中 fit(data) 可以对 data 数据进行 k-Means 聚类。 predict(data) 可以针对 data 中的每个样本计算最近的类。 现在我们要完整地跑一遍 20 支亚洲球队的聚类问题。 # coding: utf-8 from sklearn.cluster import KMeans from sklearn import preprocessing import pandas as pd import numpy as np # 输入数据 data pd.read_csv(data.csv, encodinggbk) train_x data[[2019年国际排名,2018世界杯,2015亚洲杯]] df pd.DataFrame(train_x) 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) 运行结果 国家 2019年国际排名 2018世界杯 2015亚洲杯 聚类 0 中国 73 40 7 2 1 日本 60 15 5 0 2 韩国 61 19 2 0 3 伊朗 34 18 6 0 4 沙特 67 26 10 0 5 伊拉克 91 40 4 2 6 卡塔尔 101 40 13 1 7 阿联酋 81 40 6 2 8 乌兹别克斯坦 88 40 8 2 9 泰国 122 40 17 1 10 越南 102 50 17 1 11 阿曼 87 50 12 1 12 巴林 116 50 11 1 13 朝鲜 110 50 14 1 14 印尼 164 50 17 1 15 澳洲 40 30 1 0 16 叙利亚 76 40 17 1 17 约旦 118 50 9 1 18 科威特 160 50 15 1 19 巴勒斯坦 96 50 16 1 三、总结 如何区分 K-Means 和 KNN 这两种算法呢刚学过 K-Means 和 KNN 算法的同学应该能知道两者的区别但往往过了一段时间就容易混淆。所以我们可以从三个维度来区分 K-Means 和 KNN 这两个算法 首先这两个算法解决数据挖掘的两类问题。K-Means 是聚类算法KNN 是分类算法。这两个算法分别是两种不同的学习方式。K-Means 是非监督学习也就是不需要事先给出分类标签而 KNN 是有监督学习需要我们给出训练数据的分类标识。最后K 值的含义不同。K-Means 中的 K 值代表 K 类。KNN 中的 K 值代表 K 个最接近的邻居。 ​ 版权声明 本文章版权归作者所有未经作者允许禁止任何转载、采集作者保留一切追究的权利。
http://www.yutouwan.com/news/357680/

相关文章:

  • 博尔塔拉州大型网站建设哈尔滨道外区建设局官方网站
  • 深圳网站快速优化公司买卖商标交易平台
  • 厦门 网站 开发wordpress可以做下载
  • 品牌网站建设收费标准vue做pc网站
  • 网站建设先进事迹长沙市建设发展集团有限公司网站
  • 网站维护一般多少钱效果好的网站建设
  • 网站开发薪水网站做框架
  • 电商素材网站重庆招标信息网官网
  • 关于网站建设的论文提纲连云港市建设局网站安全员考试
  • 个人能申请网站吗wordpress配置数据库失败6
  • 中国建设银行官网站账户商品注册网站地址
  • 网站开发时数据库的工作全国住房和城乡建设厅官网
  • 别人抄袭网站设计怎么办vs2015做网站
  • 北京市住房及城乡建设部网站wordpress素锦
  • 做网站需要网络服务器北京市基础建设质量监督局网站
  • 佛山建站公司哪家好专业教育网站建设
  • 动易学校网站管理系统 漏洞seo外链优化培训
  • 企业网站哪里可以做深圳微商城网站制作费用
  • 雅安网站制作wordpress后台分类目录添加自定义
  • 学做简单网站深圳企业社保网站官网
  • 网站建设价格怎么算网站制作的内容包含
  • 公司网站设计与制烟台 做网站
  • 网站服务器放置地查询wordpress调用外链图片
  • 无锡网络公司无锡网站制作做跨境电商被骗了三万
  • 网站赏析软文时光发稿平台
  • 订货网站建设建设vip网站相关视频
  • 有什么网站做打印店品牌vi设计案例分析
  • 什么软件做网站描述正规网站建设定制
  • 网站建设专业名词解释网站制作wordpress页面模板下载地址
  • 深圳市公司网站建设企业小程序制作开发定制