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

广东网站建设微信网站定制网站自定义title

广东网站建设微信网站定制,网站自定义title,做出网站,嘉兴专业做网站的公司聚类或聚类分析是无监督学习问题。它通常被用作数据分析技术#xff0c;用于发现数据中的有趣模式#xff0c;例如基于其行为的客户群。 有许多聚类算法可供选择#xff0c;对于所有情况#xff0c;没有单一的最佳聚类算法。相反#xff0c;最好探索一系列聚类算法以及每…聚类或聚类分析是无监督学习问题。它通常被用作数据分析技术用于发现数据中的有趣模式例如基于其行为的客户群。 有许多聚类算法可供选择对于所有情况没有单一的最佳聚类算法。相反最好探索一系列聚类算法以及每种算法的不同配置。在本教程中你将发现如何在 python 中安装和使用顶级聚类算法。 完成本教程后你将知道 聚类是在输入数据的特征空间中查找自然组的无监督问题。对于所有数据集有许多不同的聚类算法和单一的最佳方法。在 scikit-learn 机器学习库的 Python 中如何实现、适配和使用顶级聚类算法。 教程概述 本教程分为三部分 聚类聚类算法聚类算法示例 库安装聚类数据集亲和力传播聚合聚类BIRCHDBSCANK-均值Mini-Batch K-均值Mean ShiftOPTICS光谱聚类高斯混合模型 一、聚类 聚类分析即聚类是一项无监督的机器学习任务。它包括自动发现数据中的自然分组。与监督学习类似预测建模不同聚类算法只解释输入数据并在特征空间中找到自然组或群集。 聚类技术适用于没有要预测的类而是将实例划分为自然组的情况。 —源自《数据挖掘页实用机器学习工具和技术》2016年。群集通常是特征空间中的密度区域其中来自域的示例观测或数据行比其他群集更接近群集。群集可以具有作为样本或点特征空间的中心(质心)并且可以具有边界或范围。 这些群集可能反映出在从中绘制实例的域中工作的某种机制这种机制使某些实例彼此具有比它们与其余实例更强的相似性。 —源自《数据挖掘页实用机器学习工具和技术》2016年。聚类可以作为数据分析活动提供帮助以便了解更多关于问题域的信息即所谓的模式发现或知识发现。例如 该进化树可以被认为是人工聚类分析的结果将正常数据与异常值或异常分开可能会被认为是聚类问题根据自然行为将集群分开是一个集群问题称为市场细分。 聚类还可用作特征工程的类型其中现有的和新的示例可被映射并标记为属于数据中所标识的群集之一。虽然确实存在许多特定于群集的定量措施但是对所识别的群集的评估是主观的并且可能需要领域专家。通常聚类算法在人工合成数据集上与预先定义的群集进行学术比较预计算法会发现这些群集。 聚类是一种无监督学习技术因此很难评估任何给定方法的输出质量。 —源自《机器学习页概率观点》2012。二、聚类算法 有许多类型的聚类算法。许多算法在特征空间中的示例之间使用相似度或距离度量以发现密集的观测区域。因此在使用聚类算法之前扩展数据通常是良好的实践。 聚类分析的所有目标的核心是被群集的各个对象之间的相似程度或不同程度的概念。聚类方法尝试根据提供给对象的相似性定义对对象进行分组。 —源自《统计学习的要素数据挖掘、推理和预测》2016年一些聚类算法要求您指定或猜测数据中要发现的群集的数量而另一些算法要求指定观测之间的最小距离其中示例可以被视为“关闭”或“连接”。因此聚类分析是一个迭代过程在该过程中对所识别的群集的主观评估被反馈回算法配置的改变中直到达到期望的或适当的结果。scikit-learn 库提供了一套不同的聚类算法供选择。下面列出了10种比较流行的算法 亲和力传播聚合聚类BIRCHDBSCANK-均值Mini-Batch K-均值Mean ShiftOPTICS光谱聚类高斯混合 每个算法都提供了一种不同的方法来应对数据中发现自然组的挑战。没有最好的聚类算法也没有简单的方法来找到最好的算法为您的数据没有使用控制实验。 在本教程中我们将回顾如何使用来自 scikit-learn 库的这10个流行的聚类算法中的每一个。这些示例将为您复制粘贴示例并在自己的数据上测试方法提供基础。我们不会深入研究算法如何工作的理论也不会直接比较它们。让我们深入研究一下。 10 种顶流聚类算法 Python 实现附完整代码​mp.weixin.qq.com/s?__bizMzUzMTczMDMwMwmid2247520146idx1sn13d6b5a45518a6cdc1f41fcdd2085584chksmfabcd582cdcb5c942dcc9a83fe22e6f5beb1b524be9c6f2b2b9cead95f60c02b3ef6ac10dc56token1780081931langzh_CN#rd正在上传…重新上传取消 三、聚类算法示例 在本节中我们将回顾如何在 scikit-learn 中使用10个流行的聚类算法。这包括一个拟合模型的例子和可视化结果的例子。这些示例用于将粘贴复制到您自己的项目中并将方法应用于您自己的数据。 1、库安装 首先让我们安装库。不要跳过此步骤因为你需要确保安装了最新版本。你可以使用 pip Python 安装程序安装 scikit-learn 存储库如下所示 sudo pip install scikit-learn接下来让我们确认已经安装了库并且您正在使用一个现代版本。运行以下脚本以输出库版本号。 # 检查 scikit-learn 版本 import sklearn print(sklearn.__version__)运行该示例时您应该看到以下版本号或更高版本。 0.22.12、聚类数据集 我们将使用 make _ classification ()函数创建一个测试二分类数据集。数据集将有1000个示例每个类有两个输入要素和一个群集。这些群集在两个维度上是可见的因此我们可以用散点图绘制数据并通过指定的群集对图中的点进行颜色绘制。 这将有助于了解至少在测试问题上群集的识别能力如何。该测试问题中的群集基于多变量高斯并非所有聚类算法都能有效地识别这些类型的群集。因此本教程中的结果不应用作比较一般方法的基础。下面列出了创建和汇总合成聚类数据集的示例。 # 综合分类数据集 from numpy import where from sklearn.datasets import make_classification from matplotlib import pyplot %matplotlib inline# 定义数据集 X, y make_classification(n_samples1000, n_features2, n_informative2, n_redundant0, n_clusters_per_class1, random_state4) # 为每个类的样本创建散点图 for class_value in range(2):# 获取此类的示例的行索引row_ix where(y class_value)# 创建这些样本的散布pyplot.scatter(X[row_ix, 0], X[row_ix, 1])# 绘制散点图 pyplot.show() 运行该示例将创建合成的聚类数据集然后创建输入数据的散点图其中点由类标签理想化的群集着色。我们可以清楚地看到两个不同的数据组在两个维度并希望一个自动的聚类算法可以检测这些分组。 原文链接10 种顶流聚类算法 Python 实现附完整代码 图已知聚类着色点的合成聚类数据集的散点图 接下来我们可以开始查看应用于此数据集的聚类算法的示例。我已经做了一些最小的尝试来调整每个方法到数据集。 3、亲和力传播 亲和力传播包括找到一组最能概括数据的范例。 我们设计了一种名为“亲和传播”的方法它作为两对数据点之间相似度的输入度量。在数据点之间交换实值消息直到一组高质量的范例和相应的群集逐渐出现 —源自《通过在数据点之间传递消息》2007。它是通过 AffinityPropagation 类实现的要调整的主要配置是将“ 阻尼 ”设置为0.5到1甚至可能是“首选项”。 下面列出了完整的示例。 # 亲和力传播聚类 from numpy import unique from numpy import where from sklearn.datasets import make_classification from sklearn.cluster import AffinityPropagation from matplotlib import pyplot # 定义数据集 X, _ make_classification(n_samples1000, n_features2, n_informative2, n_redundant0, n_clusters_per_class1, random_state4) # 定义模型 model AffinityPropagation(damping0.9) # 匹配模型 model.fit(X) # 为每个示例分配一个集群 yhat model.predict(X) # 检索唯一群集 clusters unique(yhat) # 为每个群集的样本创建散点图 for cluster in clusters:# 获取此群集的示例的行索引row_ix where(yhat cluster)# 创建这些样本的散布pyplot.scatter(X[row_ix, 0], X[row_ix, 1]) # 绘制散点图 pyplot.show()运行该示例符合训练数据集上的模型并预测数据集中每个示例的群集。然后创建一个散点图并由其指定的群集着色。在这种情况下我无法取得良好的结果。 图数据集的散点图具有使用亲和力传播识别的聚类 4、聚合聚类 聚合聚类涉及合并示例直到达到所需的群集数量为止。它是层次聚类方法的更广泛类的一部分通过 AgglomerationClustering 类实现的主要配置是“ n _ clusters ”集这是对数据中的群集数量的估计例如2。下面列出了完整的示例。 # 聚合聚类 from numpy import unique from numpy import where from sklearn.datasets import make_classification from sklearn.cluster import AgglomerativeClustering from matplotlib import pyplot # 定义数据集 X, _ make_classification(n_samples1000, n_features2, n_informative2, n_redundant0, n_clusters_per_class1, random_state4) # 定义模型 model AgglomerativeClustering(n_clusters2) # 模型拟合与聚类预测 yhat model.fit_predict(X) # 检索唯一群集 clusters unique(yhat) # 为每个群集的样本创建散点图 for cluster in clusters:# 获取此群集的示例的行索引row_ix where(yhat cluster)# 创建这些样本的散布pyplot.scatter(X[row_ix, 0], X[row_ix, 1]) # 绘制散点图 pyplot.show()运行该示例符合训练数据集上的模型并预测数据集中每个示例的群集。然后创建一个散点图并由其指定的群集着色。在这种情况下可以找到一个合理的分组。 图使用聚集聚类识别出具有聚类的数据集的散点图 5、BIRCH BIRCH 聚类 BIRCH 是平衡迭代减少的缩写聚类使用层次结构)包括构造一个树状结构从中提取聚类质心。 BIRCH 递增地和动态地群集传入的多维度量数据点以尝试利用可用资源即可用内存和时间约束产生最佳质量的聚类。 —源自《 BIRCH 1996年大型数据库的高效数据聚类方法》它是通过 Birch 类实现的主要配置是“ threshold ”和“ n _ clusters ”超参数后者提供了群集数量的估计。下面列出了完整的示例。 # birch聚类 from numpy import unique from numpy import where from sklearn.datasets import make_classification from sklearn.cluster import Birch from matplotlib import pyplot # 定义数据集 X, _ make_classification(n_samples1000, n_features2, n_informative2, n_redundant0,n_clusters_per_class1, random_state4) # 定义模型 model Birch(threshold0.01, n_clusters2) # 适配模型 model.fit(X) # 为每个示例分配一个集群 yhat model.predict(X) # 检索唯一群集 clusters unique(yhat) # 为每个群集的样本创建散点图 for cluster in clusters:# 获取此群集的示例的行索引row_ix where(yhat cluster)# 创建这些样本的散布pyplot.scatter(X[row_ix, 0], X[row_ix, 1]) # 绘制散点图 pyplot.show()运行该示例符合训练数据集上的模型并预测数据集中每个示例的群集。然后创建一个散点图并由其指定的群集着色。在这种情况下可以找到一个很好的分组。 图使用BIRCH聚类确定具有聚类的数据集的散点图 6、DBSCAN DBSCAN 聚类其中 DBSCAN 是基于密度的空间聚类的噪声应用程序涉及在域中寻找高密度区域并将其周围的特征空间区域扩展为群集。 …我们提出了新的聚类算法 DBSCAN 依赖于基于密度的概念的集群设计以发现任意形状的集群。DBSCAN 只需要一个输入参数并支持用户为其确定适当的值 -源自《基于密度的噪声大空间数据库聚类发现算法》1996它是通过 DBSCAN 类实现的主要配置是“ eps ”和“ min _ samples ”超参数。 下面列出了完整的示例。 # dbscan 聚类 from numpy import unique from numpy import where from sklearn.datasets import make_classification from sklearn.cluster import DBSCAN from matplotlib import pyplot # 定义数据集 X, _ make_classification(n_samples1000, n_features2, n_informative2, n_redundant0, n_clusters_per_class1, random_state4) # 定义模型 model DBSCAN(eps0.30, min_samples9) # 模型拟合与聚类预测 yhat model.fit_predict(X) # 检索唯一群集 clusters unique(yhat) # 为每个群集的样本创建散点图 for cluster in clusters:# 获取此群集的示例的行索引row_ix where(yhat cluster)# 创建这些样本的散布pyplot.scatter(X[row_ix, 0], X[row_ix, 1]) # 绘制散点图 pyplot.show()运行该示例符合训练数据集上的模型并预测数据集中每个示例的群集。然后创建一个散点图并由其指定的群集着色。在这种情况下尽管需要更多的调整但是找到了合理的分组。 图使用DBSCAN集群识别出具有集群的数据集的散点图 7、K均值 K-均值聚类可以是最常见的聚类算法并涉及向群集分配示例以尽量减少每个群集内的方差。 本文的主要目的是描述一种基于样本将 N 维种群划分为 k 个集合的过程。这个叫做“ K-均值”的过程似乎给出了在类内方差意义上相当有效的分区。 -源自《关于多元观测的分类和分析的一些方法》1967年它是通过 K-均值类实现的要优化的主要配置是“ n _ clusters ”超参数设置为数据中估计的群集数量。下面列出了完整的示例。 # k-means 聚类 from numpy import unique from numpy import where from sklearn.datasets import make_classification from sklearn.cluster import KMeans from matplotlib import pyplot # 定义数据集 X, _ make_classification(n_samples1000, n_features2, n_informative2,n_redundant0,n_clusters_per_class1, random_state4) # 定义模型 model KMeans(n_clusters2) # 模型拟合 model.fit(X) # 为每个示例分配一个集群 yhat model.predict(X) # 检索唯一群集 clusters unique(yhat) # 为每个群集的样本创建散点图 for cluster in clusters:# 获取此群集的示例的行索引row_ix where(yhat cluster)# 创建这些样本的散布pyplot.scatter(X[row_ix, 0], X[row_ix, 1]) # 绘制散点图 pyplot.show()运行该示例符合训练数据集上的模型并预测数据集中每个示例的群集。然后创建一个散点图并由其指定的群集着色。在这种情况下可以找到一个合理的分组尽管每个维度中的不等等方差使得该方法不太适合该数据集。 图使用K均值聚类识别出具有聚类的数据集的散点图 8、Mini-Batch K-均值 Mini-Batch K-均值是 K-均值的修改版本它使用小批量的样本而不是整个数据集对群集质心进行更新这可以使大数据集的更新速度更快并且可能对统计噪声更健壮。 ...我们建议使用 k-均值聚类的迷你批量优化。与经典批处理算法相比这降低了计算成本的数量级同时提供了比在线随机梯度下降更好的解决方案。 —源自《Web-Scale K-均值聚类》2010它是通过 MiniBatchKMeans 类实现的要优化的主配置是“ n _ clusters ”超参数设置为数据中估计的群集数量。下面列出了完整的示例。 # mini-batch k均值聚类 from numpy import unique from numpy import where from sklearn.datasets import make_classification from sklearn.cluster import MiniBatchKMeans from matplotlib import pyplot # 定义数据集 X, _ make_classification(n_samples1000, n_features2, n_informative2, n_redundant0,n_clusters_per_class1,random_state4) # 定义模型 model MiniBatchKMeans(n_clusters2) # 模型拟合 model.fit(X) # 为每个示例分配一个集群 yhat model.predict(X) # 检索唯一群集 clusters unique(yhat) # 为每个群集的样本创建散点图 for cluster in clusters:# 获取此群集的示例的行索引row_ix where(yhat cluster)# 创建这些样本的散布pyplot.scatter(X[row_ix, 0], X[row_ix, 1]) # 绘制散点图 pyplot.show()运行该示例符合训练数据集上的模型并预测数据集中每个示例的群集。然后创建一个散点图并由其指定的群集着色。在这种情况下会找到与标准 K-均值算法相当的结果。 图带有最小批次K均值聚类的聚类数据集的散点图 9、均值漂移聚类 均值漂移聚类涉及到根据特征空间中的实例密度来寻找和调整质心。 对离散数据证明了递推平均移位程序收敛到最接近驻点的基础密度函数从而证明了它在检测密度模式中的应用。 —源自《Mean Shift 面向特征空间分析的稳健方法》2002它是通过 MeanShift 类实现的主要配置是“带宽”超参数。下面列出了完整的示例。 # 均值漂移聚类 from numpy import unique from numpy import where from sklearn.datasets import make_classification from sklearn.cluster import MeanShift from matplotlib import pyplot # 定义数据集 X, _ make_classification(n_samples1000,n_features2, n_informative2, n_redundant0, n_clusters_per_class1,random_state4) # 定义模型 model MeanShift() # 模型拟合与聚类预测 yhat model.fit_predict(X) # 检索唯一群集 clusters unique(yhat) # 为每个群集的样本创建散点图 for cluster in clusters:# 获取此群集的示例的行索引row_ix where(yhat cluster)# 创建这些样本的散布pyplot.scatter(X[row_ix, 0], X[row_ix, 1]) # 绘制散点图 pyplot.show()运行该示例符合训练数据集上的模型并预测数据集中每个示例的群集。然后创建一个散点图并由其指定的群集着色。在这种情况下可以在数据中找到一组合理的群集。 图具有均值漂移聚类的聚类数据集散点图 10、OPTICS OPTICS 聚类 OPTICS 短于订购点数以标识聚类结构是上述 DBSCAN 的修改版本。 我们为聚类分析引入了一种新的算法它不会显式地生成一个数据集的聚类而是创建表示其基于密度的聚类结构的数据库的增强排序。此群集排序包含相当于密度聚类的信息该信息对应于范围广泛的参数设置。 —源自《OPTICS 排序点以标识聚类结构》1999它是通过 OPTICS 类实现的主要配置是“ eps ”和“ min _ samples ”超参数。下面列出了完整的示例。 # optics聚类 from numpy import unique from numpy import where from sklearn.datasets import make_classification from sklearn.cluster import OPTICS from matplotlib import pyplot # 定义数据集 X, _ make_classification(n_samples1000, n_features2, n_informative2, n_redundant0, n_clusters_per_class1, random_state4) # 定义模型 model OPTICS(eps0.8, min_samples10) # 模型拟合与聚类预测 yhat model.fit_predict(X) # 检索唯一群集 clusters unique(yhat) # 为每个群集的样本创建散点图 for cluster in clusters:# 获取此群集的示例的行索引row_ix where(yhat cluster)# 创建这些样本的散布pyplot.scatter(X[row_ix, 0], X[row_ix, 1]) # 绘制散点图 pyplot.show()运行该示例符合训练数据集上的模型并预测数据集中每个示例的群集。然后创建一个散点图并由其指定的群集着色。在这种情况下我无法在此数据集上获得合理的结果。 图使用OPTICS聚类确定具有聚类的数据集的散点图 11、光谱聚类 光谱聚类是一类通用的聚类方法取自线性线性代数。 最近在许多领域出现的一个有希望的替代方案是使用聚类的光谱方法。这里使用从点之间的距离导出的矩阵的顶部特征向量。 —源自《关于光谱聚类分析和算法》2002年它是通过 Spectral 聚类类实现的而主要的 Spectral 聚类是一个由聚类方法组成的通用类取自线性线性代数。要优化的是“ n _ clusters ”超参数用于指定数据中的估计群集数量。下面列出了完整的示例。 # spectral clustering from numpy import unique from numpy import where from sklearn.datasets import make_classification from sklearn.cluster import SpectralClustering from matplotlib import pyplot # 定义数据集 X, _ make_classification(n_samples1000, n_features2, n_informative2, n_redundant0,n_clusters_per_class1, random_state4) # 定义模型 model SpectralClustering(n_clusters2) # 模型拟合与聚类预测 yhat model.fit_predict(X) # 检索唯一群集 clusters unique(yhat) # 为每个群集的样本创建散点图 for cluster in clusters:# 获取此群集的示例的行索引row_ix where(yhat cluster)# 创建这些样本的散布pyplot.scatter(X[row_ix, 0], X[row_ix, 1]) # 绘制散点图 pyplot.show()运行该示例符合训练数据集上的模型并预测数据集中每个示例的群集。然后创建一个散点图并由其指定的群集着色。 在这种情况下找到了合理的集群。 图使用光谱聚类聚类识别出具有聚类的数据集的散点图 12、高斯混合模型 高斯混合模型总结了一个多变量概率密度函数顾名思义就是混合了高斯概率分布。它是通过 Gaussian Mixture 类实现的要优化的主要配置是“ n _ clusters ”超参数用于指定数据中估计的群集数量。下面列出了完整的示例。 # 高斯混合模型 from numpy import unique from numpy import where from sklearn.datasets import make_classification from sklearn.mixture import GaussianMixture from matplotlib import pyplot # 定义数据集 X, _ make_classification(n_samples1000, n_features2, n_informative2,n_redundant0,n_clusters_per_class1, random_state4) # 定义模型 model GaussianMixture(n_components2) # 模型拟合 model.fit(X) # 为每个示例分配一个集群 yhat model.predict(X) # 检索唯一群集 clusters unique(yhat) # 为每个群集的样本创建散点图 for cluster in clusters:# 获取此群集的示例的行索引row_ix where(yhat cluster)# 创建这些样本的散布pyplot.scatter(X[row_ix, 0], X[row_ix, 1]) # 绘制散点图 pyplot.show()运行该示例符合训练数据集上的模型并预测数据集中每个示例的群集。然后创建一个散点图并由其指定的群集着色。在这种情况下我们可以看到群集被完美地识别。这并不奇怪因为数据集是作为 Gaussian 的混合生成的。 图使用高斯混合聚类识别出具有聚类的数据集的散点图 三、总结 在本教程中您发现了如何在 python 中安装和使用顶级聚类算法。具体来说你学到了 聚类是在特征空间输入数据中发现自然组的无监督问题。有许多不同的聚类算法对于所有数据集没有单一的最佳方法。在 scikit-learn 机器学习库的 Python 中如何实现、适合和使用10种顶级聚类算法
http://www.w-s-a.com/news/495038/

相关文章:

  • 沛县做网站xlec网站建设开发方式包括哪些方面
  • 山西网站建设 哪家好四川城乡和建设厅网站
  • 有瀑布流的网站小型商城网站
  • 百石网怎么做网站二次开发软件
  • 网站域名是什么东西制作网页哪家好
  • 合肥网站建设团队简述网站内容管理流程
  • 网站广告是内容营销吗wordpress增加背景图片
  • 网站建设技术jsp课程设计响应式布局网站开发
  • 东莞网站排名优化seo套路网站怎么做的
  • 我做网站网络建站一般多少钱
  • 如何快速提升网站关键词排名房地产网站开发毕业设计
  • 做网站 提交源码 论坛sem分析是什么意思
  • 网站建设与部署阿里云大学百度付费推广有几种方式
  • 作品集怎么做网站个人简历模板免费下
  • 工业网站素材重庆关键词自动排名
  • 拖拽式网站建设费用微网站怎么做的好名字
  • 长沙电信网站备案谷歌推广怎么做最有效
  • 网站建设与管理总结报告华为开发者联盟
  • 门诊部网站建设天空建筑网站
  • 扬州市城乡建设网站高端品牌鞋子有哪些牌子
  • 杭州网站建设招聘网长沙网络销售公司
  • 网站制作一年多少钱免费做电子章网站
  • 信誉好的营销网站建设徐州市铜山新区建设局网站
  • 建行网站关于我们山西seo和网络推广
  • 1m带宽做网站怎么样深圳网站建设制作开发公司
  • 网站建设 服务内容 费用郴州网站建设公司哪里有
  • 网站关键词重要性育才网站建设
  • 网络安全形势下怎么建设学校网站wordpress最新主题下载
  • 自己建设网站需要什么条件.gs域名做网站怎么样
  • 网上做公益的网站推广手机卡返佣平台