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

比较有名的网站建设平台专业电子商务网站建设

比较有名的网站建设平台,专业电子商务网站建设,自己做一网站,上海高端网站建设定制1、K-Means聚类算法 K表示超参数个数,如分成几个类别,K值就取多少。若无需求,可使用网格搜索找到最佳的K。 步骤: 1、随机设置K个特征空间内的点作为初始聚类中心; 2、对于其他每个点计算到K个中心的距离,…

1、K-Means聚类算法

K表示超参数个数,如分成几个类别,K值就取多少。若无需求,可使用网格搜索找到最佳的K。
步骤:
1、随机设置K个特征空间内的点作为初始聚类中心;
2、对于其他每个点计算到K个中心的距离,未知的点选择最近的一个聚类中心点作为标记种类;
3、接着对标记的聚类中心之后,重新计算出每个聚类的中心点(平均值);
4、如果计算得出的新中心点与原中心点一样,那么结束,否则执行第二步。
means表示寻找新的聚类中心点是采用特征平均值确定。

2、K-means图解

具体演示视频可查看(B站UP主:KnowingAI知智)
若我们手上有一些水果,我们希望对它们进行分类,假设分为两类,则此时K=2。
step1:随机选取两个样本点作为聚类中心点centrol
在这里插入图片描述

step2:计算其他每个样本与聚类中心centrol的距离,距离谁近就归为哪类,一般采用欧氏距离。
在这里插入图片描述

step3:根据已分类的结果,重新计算聚类中心,聚类中心是已分类的所有样本的平均值(means)

在这里插入图片描述
然后重复之前的步骤,重新计算距离进行划分,直到某一次计算聚类中心点和上次相同,则聚类结束。

3、聚类算法优缺点分析

聚类算法不需要手动设置标签,故属于无监督学习,相比于监督学习,它更加简单、易于理解,但是准确率方面不如监督学习。

4、K-Means()算法实现案例

API调用:

API:sklearn.cluster.KMeans(n_clusters=8, init='k=means++')
n_cluster:初始聚类中心数量,即K值
from sklearn.cluster import KMeans
import numpy as np
import matplotlib.pyplot as plt
# 生成示例数据,100个二维数据,横坐标纵坐标都在0-1范围内
X = np.random.rand(100, 2)
# 创建K-means模型
kmeans = KMeans(n_clusters=3)
# 训练模型
kmeans.fit(X)
# 获取聚类结果
labels = kmeans.labels_
# 获取每个数据点的簇标签。labels_是一个数组,表示每个数据点所属的簇的索引。
centroids = kmeans.cluster_centers_
# 获取每个簇的质心坐标。cluster_centers_是一个形状为(n_clusters, n_features)的数组,表示每个簇的质心位置。
# 可视化结果
plt.scatter(X[:, 0], X[:, 1], c=labels, cmap='viridis')
plt.scatter(centroids[:, 0], centroids[:, 1], s=300, c='red', marker='x')
plt.show()

在这里插入图片描述

5、聚类效果的评估(轮廓系数评估法)

内部距离最小化,外部距离最大化
轮廓系数: S C i = b i − a i m a x ( b i , a i ) SCi=\frac{b_i-a_i}{max(b_i,a_i)} SCi=max(bi,ai)biai
b i b_i bi:一个簇内某个样本到其他簇的所有样本距离的最小值
a i a_i ai:一个簇内某个样本到本身簇内所有样本距离的平均值
b i > > a i b_i>>a_i bi>>ai 此时 S C i ≈ 1 SCi≈1 SCi1 效果好
b i < < a i b_i<<a_i bi<<ai 此时 S C i ≈ − 1 SCi≈-1 SCi1 效果差
轮廓系数取值范围在 ( − 1 , 1 ) (-1,1) (1,1),越接近 1 1 1,聚类效果越好,越接近 − 1 -1 1,聚类效果越差

from sklearn.metrics import silhouette_score  #计算轮廓系数,传入样本点和分类标签

如上例中,加上如下代码

from sklearn.metrics import silhouette_score
score = silhouette_score(X,labels)
print(f"轮廓系数为{score}")

轮廓系数为0.3873688462341751,分类效果一般。可以加一个循环找到一定范围内最优的K值,此处用轮廓系数衡量

from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score
import numpy as np
import matplotlib.pyplot as plt
# 生成示例数据,100个二维数据,横坐标纵坐标都在0-1范围内
X = np.random.rand(100, 2)
# 创建K-means模型
best_score=0
for k in range(2,11):kmeans = KMeans(n_clusters=k)# 训练模型kmeans.fit(X)# 获取聚类结果labels = kmeans.labels_# 获取每个数据点的簇标签。labels_是一个数组,表示每个数据点所属的簇的索引。centroids = kmeans.cluster_centers_score = silhouette_score(X,labels)if score > best_score:best_score = scorebest_k = k
print(f'最佳簇数: {best_k}, 轮廓系数: {best_score}')
# 最佳簇数: 4, 轮廓系数: 0.42684837185343705
http://www.yayakq.cn/news/466906/

相关文章:

  • 怎么查看一个网站是不是伪静态微信里的小程序游戏
  • 泛站群手机端网站开发页
  • 保定网站制作wordpress更改固定连接后404
  • 网站的建设目标是什么凡科建站做的网站收录慢吗
  • 2014中文网站seo排名名单彩票网站开发系统如何搭建
  • 58里面的网站怎么建设郑州seo排名扣费
  • 北京网站建设价位上海ktv目前营业情况
  • 网站开发推广做网站用宋体有版权问题吗
  • 闵行做网站的公司怎么制作游戏脚本视频教程
  • 福州做网站互联网公司使用ftp修改网站图片
  • 哪个酒店网站做的好看的重庆奉节网站建设
  • 网站备案关闭任何判断网站SEO做的好坏
  • 北京微网站设计开发服务佛山关键词优化平台
  • 做打鱼网站需要多少钱长沙网站建设团队
  • 网站建设属于移动互联网企业数字展厅设计
  • 适合做公司网站的cms怎么看别人网站是怎么做的
  • 望牛墩网站建设公司微信网站模版
  • 网站视频下载脚本食品网站app建设
  • 宁都网站建设创业中文网站模板
  • 腾讯云服务器怎么做网站兴义市住房和城乡建设局网签网站
  • 市场策划seo长尾关键词优化
  • 浙江省网站备案时间网站添加flv视频代码
  • 网站制作咨询电话seo培训机构哪家好
  • 网站建设技术咨询协议做外贸需要网站
  • 哪里的赣州网站建设网站ico
  • 国家企业信用网查询系统东莞seo 公司
  • 如何在网站上做免费代理运动服饰网站建设目的
  • 建设阿里巴巴网站themes for wordpress
  • 企业免费网站建设个人网站备案名称填写
  • 广东网站建设哪家好网站推广营销服务