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

wordpress 代替cmsseo工程师是做什么的

wordpress 代替cms,seo工程师是做什么的,自己做发卡网站,网站建设服务哪家有本文来自同步博客。 前面几篇文章介绍了回归或分类的几个算法,它们的共同点是训练数据包含了输出结果,要求算法能够通过训练数据掌握规律,用于预测新输入数据的输出值。因此,回归算法或分类算法被称之为监督学习(Super…

本文来自同步博客。

前面几篇文章介绍了回归或分类的几个算法,它们的共同点是训练数据包含了输出结果,要求算法能够通过训练数据掌握规律,用于预测新输入数据的输出值。因此,回归算法或分类算法被称之为监督学习(Supervised Learning)。

本篇文章将接触有别于监督学习的另一类机器学习算法——无监督学习(Unsupervised Learning)。无监督学习是寻找缺乏标准答案的输入数据的规律。其中聚类算法是无监督学习主要的分支。今天介绍的K-Means算法就是聚类算法的其中一种比较常见的算法。

K-Means算法原理

K-Means算法的K指的是输出类别的数目。该算法是一个迭代过程,每一次迭代分为两个步骤,第一步为分类成簇,第二步为移动簇中心,直到簇中心不变。

分类成簇的判定方法是将与簇中心的欧几里得距离最小的数据点归为对应的一类。而簇中心的计算方式是该类所有数据点的平均值,这就是均值‘Mean’一词的由来。

下图演示了K-Means算法每一次迭代数据点的分类情况:

 

迭代过程图

可以从上图看到,K-Means经过4次迭代就完成了聚类过程。每次迭代,圆圈表示的数据点都被分类到离它最近的“x”表示的中心点,然后对中心点进行了更新。

K-Means算法实现

下面的代码展示了K-Means算法的原理,上面的图片也是通过这块代码生成的。依旧通过注释方式讲代码,请看:

import numpy as np
import matplotlib.pyplot as plt# Input data set
X = np.array([[-4, -3.5], [-3.5, -5], [-2.7, -4.5],[-2, -4.5], [-2.9, -2.9], [-0.4, -4.5],[-1.4, -2.5], [-1.6, -2], [-1.5, -1.3],[-0.5, -2.1], [-0.6, -1], [0, -1.6],[-2.8, -1], [-2.4, -0.6], [-3.5, 0],[-0.2, 4], [0.9, 1.8], [1, 2.2],[1.1, 2.8], [1.1, 3.4], [1, 4.5],[1.8, 0.3], [2.2, 1.3], [2.9, 0],[2.7, 1.2], [3, 3], [3.4, 2.8],[3, 5], [5.4, 1.2], [6.3, 2]
])# K-Means
def k_means(data, k=2):if not isinstance(k, int) or k <= 0 or len(data) < k:return# Select first K points as centroidscentroids = {0: data[0], 1: data[1]}# configurationslimit = 0.0001max_loop_count = 300total_steps = []# Loopfor i in range(max_loop_count):# Classification data into K groupsgroups = {}for j in range(k):groups[j] = []for item in data:dist = [np.linalg.norm(centroids[centroid] - item) for centroid in centroids]index = dist.index(min(dist))groups[index].append(item)# Calculate new centroidsnew_centroids = [np.average(groups[i], axis=0) for i in groups]# Store data for matplotlib
        total_steps.append({'loop': i,'groups': groups,'centroids': centroids.copy()})# Check whether they change or notstop_loop = Truefor c in centroids:if abs(np.sum((new_centroids[c] - centroids[c])/centroids[c]*100.0)) > limit:stop_loop = Falsebreakif stop_loop:break# Update centroidsfor c in centroids:centroids[c] = new_centroids[c]# Draw picturescolors = k*['g', 'r', 'b', 'c', 'm', 'y', 'k', 'w']fig = plt.figure()for step in total_steps:# This may cause error if len(total_steps) > 9ax = fig.add_subplot(1, len(total_steps), step['loop'] + 1)for g in step['groups']:for point in step['groups'][g]:ax.scatter(point[0], point[1], s=20, color=colors[g])ax.scatter(step['centroids'][g][0], step['centroids'][g][1], marker='x', s=30, color=colors[g])plt.show()k_means(X)

 

代码链接

scikit-learn中的KMeans

scikit-learn中的KMeans存在cluster模块中,在官方有关KMeans的API文档中可以看到,数据处理结果存放在‘cluster_centers_’、‘labels_’和‘ inertia_’中。下面用到了前两者,分别是聚类中心点和标签。

import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans# Input data set
X = np.array([[-4, -3.5], [-3.5, -5], [-2.7, -4.5],[-2, -4.5], [-2.9, -2.9], [-0.4, -4.5],[-1.4, -2.5], [-1.6, -2], [-1.5, -1.3],[-0.5, -2.1], [-0.6, -1], [0, -1.6],[-2.8, -1], [-2.4, -0.6], [-3.5, 0],[-0.2, 4], [0.9, 1.8], [1, 2.2],[1.1, 2.8], [1.1, 3.4], [1, 4.5],[1.8, 0.3], [2.2, 1.3], [2.9, 0],[2.7, 1.2], [3, 3], [3.4, 2.8],[3, 5], [5.4, 1.2], [6.3, 2]
])clf = KMeans(n_clusters=2)
clf.fit(X)
centroids = clf.cluster_centers_
labels = clf.labels_colors = ['r', 'g']
for i in range(len(X)):plt.scatter(X[i][0], X[i][1], color=colors[labels[i]], s=20)
plt.scatter(centroids[:, 0], centroids[:, 1], marker='x', s=30)
plt.show()

 

代码链接

执行结果如下:

 

sklearn的KMeans执行结果

转载于:https://www.cnblogs.com/developerdaily/p/9262426.html

http://www.lbrq.cn/news/2392435.html

相关文章:

  • 手机评测网站武汉网站推广公司排名
  • 如何用vps系统搭建企业网站以及邮箱系统企业在线培训系统
  • 做网站图片处理问题网络营销公司好不好
  • 信誉好的江苏网站建设最近一周热点新闻
  • 获取网站访客qq号码源码优化大师windows
  • 哈尔滨网站建设制作费用网站统计平台
  • 珠海做网站建设google网站登录入口
  • 做打鱼网站全网关键词云在哪里看
  • 余姚网站定制seo优化快排
  • 中山seo扣费郑州网站制作选择乐云seo
  • 上海网络推广公司网站外贸网站搭建推广
  • 今天哈尔滨最新通告seo的内容怎么优化
  • 域名怎么拿来做网站云客网平台
  • 不同网站建设特点网络营销品牌公司
  • 网站建设的上机报告培训机构是干什么的
  • 东莞网站建设北京seo推广外包
  • 中山精品网站建设方案安徽seo推广
  • 猪八戒上面还是淘宝上做网站技术好大庆网络推广
  • 做网站广告有哪些职位锦州seo推广
  • 微信公众号登录失败seo推广宣传
  • 湖北省疾病预防控制中心官方网站兰州网络推广关键词优化
  • 新浪图床 wordpress济南seo优化外包服务公司
  • c 网站开发网站seo链接购买
  • 网络办理引擎搜索优化
  • 合肥城乡建设委员会的网站百度推广视频
  • 武汉 网站制作wordpress seo教程
  • 做circrna的网站网站制作教程
  • 邢台瑞光网络科技有限公司关键词排名优化顾问
  • 香港网站icp备案推广赚钱软件排行
  • 网站开发存在的风险爱站网长尾关键词挖掘查询工具
  • MySQL数据丢失救援办法
  • windows wsl2-06-docker hello world
  • 用线性代数推导码分多址(CDMA)
  • Java大厂面试实录:从Spring Boot到AI微服务架构的深度拷问
  • x86版Ubuntu的容器中运行ARM版Ubuntu
  • 【PTA数据结构 | C语言版】根据层序序列重构二叉树