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

多用户网站管理系统天津百度推广代理商

多用户网站管理系统,天津百度推广代理商,单位网站开发,做调查挣钱的网站在这篇文章中#xff0c;我们将讨论如何选择最好的k#xff08;聚类数#xff09;的k-Means聚类算法。 肘部法则简介 任何无监督算法的基本步骤是确定数据可以被聚类到的聚类的最佳数量。因为我们在无监督学习中没有任何预定义数量的聚类。我们倾向于使用一些可以帮助我们…在这篇文章中我们将讨论如何选择最好的k聚类数的k-Means聚类算法。 肘部法则简介 任何无监督算法的基本步骤是确定数据可以被聚类到的聚类的最佳数量。因为我们在无监督学习中没有任何预定义数量的聚类。我们倾向于使用一些可以帮助我们决定最佳聚类数的方法。 在K-Means聚类的情况下我们使用肘部法则来定义最佳的聚类数。 什么是K-Means聚类中肘部法则 如我们所知在k-means聚类算法中我们随机初始化k个聚类并且我们迭代地调整这k个聚类直到这些k-质心处于平衡状态。然而在初始化这些集群之前我们要做的主要事情是确定我们必须使用多少个集群。 对于确定K簇的数目我们使用肘部法则。 肘部法则是一种用于确定在k均值聚类算法中使用的质心数k的技术。 在这种方法中为了确定k值我们连续迭代k1到kn这里n是我们根据要求选择的超参数。对于k的每个值我们计算簇内平方和WCSS值。 WCSS -每个样本到簇内中心点的距离偏差之和。 现在为了确定最佳的聚类数k我们绘制了k与它们的WCSS值的关系图。令人惊讶的是该图看起来像一个肘部我们将在后面看到。此外当k1时WCSS具有最高值但随着k值的增加WCSS值开始减小。我们从图开始看起来像直线的地方选择k值。 使用Sklearn实现 我们将看到如何在4个步骤中实现肘部法则。首先我们将创建随机数据集点然后我们将在此数据集上应用k均值并计算1到4之间的k的wcss值。 步骤1导入所需的库 from sklearn.cluster import KMeans from sklearn import metrics from scipy.spatial.distance import cdist import numpy as np import matplotlib.pyplot as plt步骤2创建和可视化数据 我们将创建一个随机数组并将其分布可视化 # Creating the data x1 np.array([3, 1, 1, 2, 1, 6, 6, 6, 5, 6,\7, 8, 9, 8, 9, 9, 8, 4, 4, 5, 4]) x2 np.array([5, 4, 5, 6, 5, 8, 6, 7, 6, 7, \1, 2, 1, 2, 3, 2, 3, 9, 10, 9, 10]) X np.array(list(zip(x1, x2))).reshape(len(x1), 2)# Visualizing the data plt.plot() plt.xlim([0, 10]) plt.ylim([0, 10]) plt.title(Dataset) plt.scatter(x1, x2) plt.show()输出 从上面的可视化中我们可以看到集群的最佳数量应该在3左右。但是仅仅可视化数据并不能总是给予正确的答案。 Distortion 1/n * Σ(distance(point, centroid)^2)定义一个Distortion 通常使用欧几里得距离度量。 Inertia它是样本到其最近聚类中心的平方距离之和。 Inertia Σ(distance(point, centroid)^2)我们将k的值从1迭代到n并计算每个k值的Distortion给定范围内每个k值的Inertia。 步骤3构建聚类模型并计算Distortion和Inertia的值 distortions [] inertias [] mapping1 {} mapping2 {} K range(1, 10)for k in K:# Building and fitting the modelkmeanModel KMeans(n_clustersk).fit(X)kmeanModel.fit(X)distortions.append(sum(np.min(cdist(X, kmeanModel.cluster_centers_,euclidean), axis1)) / X.shape[0])inertias.append(kmeanModel.inertia_)mapping1[k] sum(np.min(cdist(X, kmeanModel.cluster_centers_,euclidean), axis1)) / X.shape[0]mapping2[k] kmeanModel.inertia_ 步骤4列表和可视化结果 a使用不同的Distortion值 for key, val in mapping1.items():print(f{key} : {val}) 输出 1 : 3.625551331197001 2 : 2.0318238533112596 3 : 1.2423303391744152 4 : 0.8367738708386461 5 : 0.736979754424859 6 : 0.6898254810112422 7 : 0.6020311621770951 8 : 0.5234596363982826 9 : 0.4587221418509788接下来我们将绘制k与WCSS的关系图 plt.plot(K, distortions, bx-) plt.xlabel(Values of K) plt.ylabel(Distortion) plt.title(The Elbow Method using Distortion) plt.show()b使用不同的Inertia for key, val in mapping2.items():print(f{key} : {val})输出 1 : 312.95238095238096 2 : 108.07142857142856 3 : 39.51746031746031 4 : 17.978571428571428 5 : 14.445238095238096 6 : 11.416666666666668 7 : 9.266666666666667 8 : 7.25 9 : 6.5plt.plot(K, inertias, bx-) plt.xlabel(Values of K) plt.ylabel(Inertia) plt.title(The Elbow Method using Inertia) plt.show()为了确定聚类的最佳数量我们必须选择“弯头”处的k值即distortion/inertia开始以线性方式减小的点。因此对于给定的数据我们得出结论数据的最佳聚类数是4。 不同k值的聚类数据点 我们将绘制针对不同k值聚类的数据点的图像。为此我们将通过迭代k值的范围来对数据集应用k-means算法。 import matplotlib.pyplot as plt# Create a range of values for k k_range range(1, 5)# Initialize an empty list to # store the inertia values for each k inertia_values []# Fit and plot the data for each k value for k in k_range:kmeans KMeans(n_clustersk, \initk-means, random_state42)y_kmeans kmeans.fit_predict(X)inertia_values.append(kmeans.inertia_)plt.scatter(X[:, 0], X[:, 1], cy_kmeans)plt.scatter(kmeans.cluster_centers_[:, 0],\kmeans.cluster_centers_[:, 1], \s100, cred)plt.title(K-means clustering (k{}).format(k))plt.xlabel(Feature 1)plt.ylabel(Feature 2)plt.show()# Plot the inertia values for each k plt.plot(k_range, inertia_values, bo-) plt.title(Elbow Method) plt.xlabel(Number of clusters (k)) plt.ylabel(Inertia) plt.show()
http://www.zqtcl.cn/news/152537/

相关文章:

  • 南昌网站建设公司网站建设公司深圳企业网站模板
  • 一家做特卖的网站docker创建wordpress
  • 网站开发设计电子书网站后台无法更新缓存
  • 南京高端网站制作公司哪家好神起网络公司
  • 建网站选哪个宁波网站建设设计图
  • 贾汪徐州网站开发门户网站解决方案
  • 网站如何做淘宝支付个人注册商标步骤
  • 书香校园网站建设网站排名下降了怎么办
  • 观音桥网站建设湖南省建设银行网站官网
  • 信阳网站建设找汉狮搭建网站知识
  • 企业门户网站用户类型商务信息网
  • 深圳网站设计廊坊公司深圳ui设计培训班
  • 为什么网站需要维护帮人推广注册app的平台
  • 网站开发岗位要求服务好的做培训网站
  • 宁波制作网站企业有哪些学网页设计需要什么学历
  • 网站建设公司墨子网络百度域名续费
  • 琪觅公司网站开发中文网页开发工具
  • 教育网站制作设计成都网络营销公司
  • 怎么查看一个网站页面的seo优化情况网站建站建设首选上海黔文信息科技有限公司2
  • 威海网站建设价格深圳优美网络科技有限公司
  • 做网站用什么系统建设网站投资多少
  • 凡科建站官网 网络服务抚顺 网站建设
  • 学校网站的建设方案西安企业seo外包服务公司
  • 建设租车网站深圳ww
  • 推广网络网站潜江资讯网一手机版
  • 凡科网站自己如何做毕设 做网站
  • 一起做网站逛市场百度权重查询网站
  • 专业网站优化推广网站核查怎么抽查
  • 牡丹江站salong wordpress
  • 网站建设公司做网站要多少费用有哪些外国网站国内可以登录的