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

易企cms网站模板寿光市住房和城乡建设局网站

易企cms网站模板,寿光市住房和城乡建设局网站,京东商城网上购物app下载,惠州网站建设html5K-均值聚类算法是一种常用的无监督学习算法#xff0c;用于将数据集分成 K 个簇。该算法的主要思想是通过迭代的方式将数据点分配到离它们最近的簇中#xff0c;并更新簇的中心点#xff0c;直到满足某个停止条件为止。 以下是 K-均值聚类算法的基本步骤#xff1a; 初始化…K-均值聚类算法是一种常用的无监督学习算法用于将数据集分成 K 个簇。该算法的主要思想是通过迭代的方式将数据点分配到离它们最近的簇中并更新簇的中心点直到满足某个停止条件为止。 以下是 K-均值聚类算法的基本步骤 初始化选择 K 个初始簇中心点。可以随机选择数据集中的 K 个点作为初始中心或者使用一些启发式方法进行初始化。 分配数据点到最近的簇对于每个数据点计算它与各个簇中心点的距离然后将其分配到距离最近的簇中。 更新簇的中心点对于每个簇重新计算其中心点通常是该簇所有数据点的平均值。 重复步骤2和3重复步骤2和3直到满足停止条件例如簇的中心点不再发生变化或者达到了预先设定的迭代次数。 K-均值聚类算法的优点包括简单易实现、计算复杂度较低适用于大型数据集。然而它也有一些缺点例如对初始中心点的敏感性较高可能收敛到局部最优解且需要事先确定簇的数量 K。 在实际应用中K-均值聚类算法常用于数据压缩、图像分割、文本挖掘等领域。 按密度聚类 代码 import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.datasets import load_wine from sklearn.cluster import KMeans from sklearn.metrics import silhouette_score from sklearn.preprocessing import StandardScaler# 导入葡萄酒数据集 wine load_wine() X wine.data y wine.target feature_names wine.feature_names# 数据标准化 X StandardScaler().fit_transform(X)# 使用K均值算法进行聚类 kmeans KMeans(n_clusters3, random_state42) clusters kmeans.fit_predict(X)# 计算轮廓系数 silhouette_avg silhouette_score(X, clusters) print(轮廓系数:, silhouette_avg)# 绘制散点图 plt.figure(figsize(10, 6))# 根据不同的聚类结果绘制散点图 for i in range(3):plt.scatter(X[clusters i, 0], X[clusters i, 1], labelf聚类 {i})# 绘制聚类中心 plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], marker*, s200, cblack, label聚类中心)# 添加标题和标签 plt.title(葡萄酒数据集的K均值聚类) plt.xlabel(feature_names[0]) plt.ylabel(feature_names[1]) plt.legend() plt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] False # 显示图形 plt.show()import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.datasets import load_wine from sklearn.cluster import KMeans from sklearn.metrics import silhouette_score, accuracy_score from sklearn.preprocessing import StandardScaler from sklearn.model_selection import train_test_split# 导入葡萄酒数据集 wine load_wine() X wine.data y wine.target feature_names wine.feature_names# 数据标准化 X StandardScaler().fit_transform(X)# 划分训练集和测试集 X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)# 使用K均值算法进行聚类 kmeans KMeans(n_clusters3, random_state42) clusters kmeans.fit_predict(X_train)# 计算轮廓系数 silhouette_avg silhouette_score(X_train, clusters) print(训练集轮廓系数:, silhouette_avg)# 使用测试集进行预测 test_clusters kmeans.predict(X_test)# 计算准确度 accuracy accuracy_score(y_test, test_clusters) print(测试集准确度:, accuracy)# 绘制分布散点图 plt.figure(figsize(12, 6))# 绘制训练集分布散点图 plt.subplot(1, 2, 1) for i in range(3):plt.scatter(X_train[clusters i, 0], X_train[clusters i, 1], labelf聚类 {i})plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], marker*, s200, cblack, label聚类中心) plt.title(训练集分布散点图) plt.xlabel(feature_names[0]) plt.ylabel(feature_names[1]) plt.legend()# 绘制测试集预测折线图 plt.subplot(1, 2, 2) plt.plot(range(len(X_test)), test_clusters, markero, linestyle-, colorb, label预测值) plt.plot(range(len(X_test)), y_test, markerx, linestyle--, colorr, label真实值) plt.title(测试集预测折线图) plt.xlabel(样本编号) plt.ylabel(类别) plt.legend()# 显示图形 plt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] False plt.tight_layout() plt.show()按层次聚类-从上到下 import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.datasets import load_wine from sklearn.cluster import AgglomerativeClustering from sklearn.metrics import silhouette_score, accuracy_score from sklearn.preprocessing import StandardScaler from sklearn.model_selection import train_test_split# 导入葡萄酒数据集 wine load_wine() X wine.data y wine.target feature_names wine.feature_names# 数据标准化 X StandardScaler().fit_transform(X)# 划分训练集和测试集 X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)# 使用层次聚类算法进行聚类 agg_clustering AgglomerativeClustering(n_clusters3) clusters agg_clustering.fit_predict(X_train)# 计算轮廓系数 silhouette_avg silhouette_score(X_train, clusters) print(训练集轮廓系数:, silhouette_avg)# 使用测试集进行预测 test_clusters agg_clustering.fit_predict(X_test)# 计算准确度 accuracy accuracy_score(y_test, test_clusters) print(测试集准确度:, accuracy)# 绘制分布散点图 plt.figure(figsize(12, 6))# 绘制训练集分布散点图 plt.subplot(1, 2, 1) for i in range(3):plt.scatter(X_train[clusters i, 0], X_train[clusters i, 1], labelf聚类 {i})plt.title(训练集分布散点图) plt.xlabel(feature_names[0]) plt.ylabel(feature_names[1]) plt.legend()# 绘制测试集预测折线图 plt.subplot(1, 2, 2) plt.plot(range(len(X_test)), test_clusters, markero, linestyle-, colorb) plt.plot(range(len(X_test)), y_test, markerx, linestyle--, colorr, label真实值) plt.title(测试集预测折线图) plt.xlabel(样本编号) plt.ylabel(类别)# 显示图形 plt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] False plt.tight_layout() plt.show()按层次聚类-从下到上 import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.datasets import load_wine from sklearn.cluster import AgglomerativeClustering from sklearn.metrics import silhouette_score, accuracy_score from sklearn.preprocessing import StandardScaler from sklearn.model_selection import train_test_split# 导入葡萄酒数据集 wine load_wine() X wine.data y wine.target feature_names wine.feature_names# 数据标准化 X StandardScaler().fit_transform(X)# 划分训练集和测试集 X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)# 使用层次聚类算法进行聚类 agg_clustering AgglomerativeClustering(n_clusters3, linkageward) clusters agg_clustering.fit_predict(X_train)# 计算轮廓系数 silhouette_avg silhouette_score(X_train, clusters) print(训练集轮廓系数:, silhouette_avg)# 使用测试集进行预测 test_clusters agg_clustering.fit_predict(X_test)# 计算准确度 accuracy accuracy_score(y_test, test_clusters) print(测试集准确度:, accuracy)# 绘制分布散点图 plt.figure(figsize(12, 6))# 绘制训练集分布散点图 plt.subplot(1, 2, 1) for i in range(3):plt.scatter(X_train[clusters i, 0], X_train[clusters i, 1], labelf聚类 {i})plt.title(训练集分布散点图) plt.xlabel(feature_names[0]) plt.ylabel(feature_names[1]) plt.legend()# 绘制测试集预测折线图 plt.subplot(1, 2, 2) plt.plot(range(len(X_test)), test_clusters, markero, linestyle-, colorb) plt.plot(range(len(X_test)), y_test, markerx, linestyle--, colorr, label真实值) plt.title(测试集预测折线图) plt.xlabel(样本编号) plt.ylabel(类别) plt.legend()# 显示图形 plt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] False plt.tight_layout() plt.show() from sklearn.datasets import load_iris from sklearn.cluster import KMeans from sklearn.decomposition import PCA import matplotlib.pyplot as plt# 加载数据集 iris load_iris() X iris.data y iris.target# 使用PCA进行降维 pca PCA(n_components2) # 降维到2维 X_pca pca.fit_transform(X)# 创建KMeans模型 kmeans KMeans(n_clusters3, random_state42)# 在降维后的数据上进行聚类 kmeans.fit(X_pca)# 获取聚类结果 labels kmeans.labels_# 绘制聚类结果 plt.figure(figsize(10, 6)) plt.scatter(X_pca[:, 0], X_pca[:, 1], clabels, cmapplt.cm.Set1) plt.title(K-Means Clustering of Iris Dataset) plt.xlabel(Principal Component 1) plt.ylabel(Principal Component 2) plt.show()K-均值聚类算法是一种常用的无监督学习算法用于将数据集分成 K 个相似的组或者簇。以下是 K-均值聚类算法的优缺点 优点 简单易实现K-均值算法相对简单易于理解和实现是一种常用的聚类算法。计算速度快对于大型数据集来说K-均值算法通常执行速度较快适用于大规模数据集的聚类任务。适用于均衡分布的簇当簇的形状大致相似且大小差异不大时K-均值算法表现较好。可扩展性强K-均值算法适用于大多数数据类型可以灵活地应用于不同的领域和问题。 缺点 需要预先确定聚类数目 KK-均值算法需要提前指定聚类的数量 K而且对初始聚类中心的选择非常敏感不同的初始值可能导致不同的聚类结果。对初始值敏感算法的结果受初始聚类中心的影响不同的初始值可能导致不同的聚类结果因此需要进行多次运行以选择最佳的结果。对异常值敏感K-均值算法对异常值离群点比较敏感可能会影响最终的聚类结果。只适用于凸形簇K-均值算法假设簇是凸形的当簇的形状不规则或者大小差异较大时可能导致聚类效果较差。
http://www.pierceye.com/news/927723/

相关文章:

  • 网站设计需要哪些技术wap购物网站源码
  • 一个空间两个php网站新能源车排名前十名
  • 如何建设公司门户网站建站仅向商家提供技术服务
  • 全国城建中心官方网站广州市品牌网站建设怎么样
  • 做百度移动端网站排名软件有哪些漫画做的好的网站好
  • 网站建设的基本条件crm和erp的区别
  • 网站关键词优化费用wordpress开发架构
  • 都安网站建设南宁网站建设哪家公司实
  • 廊坊企业网站团队莱芜做网站
  • 如何让百度收录网站用什么软件开发手机app
  • 郑州哪里有做网站wordpress编辑页面模板
  • 网站定制要花多少钱电商设计类插画
  • 手把手做网站wordpress secondary title
  • 服装网站建设课程品牌网站怎么建立
  • 广州市网站建设怎么样企业网站上的二维码怎么获得
  • 网站建设与优化标准图片外链上传网站
  • 网站开发实战第二章网站搜索引擎怎么做
  • 网站建设的定位企业官网
  • 石大网页设计与网站建设客观题网站建设与制作布局
  • 成都智能建站模板品牌网站设计制作公司推荐
  • 出口贸易公司网站怎么做织梦php网站
  • 锦州建设工程信息网站wordpress 签到 插件下载
  • 枣庄定制网站建设公司移动端包括哪些
  • 品牌网站建设定位网页制作模板源代码免费
  • 网站建设公司是什么毅冰做外贸是哪个网站
  • 做资料分享网站有哪些网站设计建设维护与更新
  • 国外开源 企业网站建设网站经营范围
  • 做棋牌游戏网站云南软件开发
  • 广州做网站哪家好福州微信网站开发
  • 网站建设:做网站是不是很麻烦