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

做服装搭配的流行趋势网站上海专业网站建设报价

做服装搭配的流行趋势网站,上海专业网站建设报价,零售app开发公司,电子商务网站建设主题1 K-means介绍 1.0 方法介绍 KMeans算法通过尝试将样本分成n个方差相等的组来聚类#xff0c;该算法要求指定群集的数量。它适用于大量样本#xff0c;并已在许多不同领域的广泛应用领域中使用。KMeans算法将一组样本分成不相交的簇#xff0c;每个簇由簇中样本的平均值描…1  K-means介绍 1.0 方法介绍 KMeans算法通过尝试将样本分成n个方差相等的组来聚类该算法要求指定群集的数量。它适用于大量样本并已在许多不同领域的广泛应用领域中使用。KMeans算法将一组样本分成不相交的簇每个簇由簇中样本的平均值描述。这些平均值通常称为簇的“质心” 注意质心通常不是样本点尽管它们存在于相同的空间中。 KMeans算法旨在选择最小化惯性或称为群内平方和标准的质心 1.1 惯性的缺点 惯性可以被认为是衡量簇内部一致性的一种度量。它有各种缺点 惯性假设簇是凸形的和各向同性的但这不总是情况。 它对于拉长的簇或形状不规则的流形反应不佳。惯性不是一个规范化的度量 我们只知道较低的值更好零是最优的。但是在非常高维的空间中欧几里得距离往往会变得膨胀这是所谓的“维数诅咒”的一个实例。——在k均值聚类之前运行一个降维算法如主成分分析PCA可以缓解这个问题并加快计算速度。以下是几个K-means效果不加的例子 clusters的数量不是最优各向异性的cluster分布方差不同各个簇数量不同 1.2 Kmeans算法的步骤 K均值算法通常被称为劳埃德算法Lloyds algorithm)。简单来说该算法有三个步骤 第一步选择初始质心最基本的方法是从数据集中选择样本初始化之后K均值算法由两个步骤的循环组成 第一个步骤是将每个样本分配给最近的质心第二步是通过取分配给每个前一个质心的所有样本的平均值来创建新的质心计算旧质心和新质心之间的差异并重复这最后两个步骤直到这个值小于一个阈值直到质心不再有显著移动为止K均值算法等同于期望最大化算法带有一个小的、全相等的、对角线协方差矩阵 给定足够的时间K均值总会收敛但这可能是到一个局部最小值 这在很大程度上取决于质心的初始化因此计算通常会进行多次质心的初始化也各不相同一个帮助解决这个问题的方法是k-means初始化方案initk-means 这样初始化质心通常会相互远离导致比随机初始化更好的结果 2 sklearn.cluster.KMeans sklearn.cluster.KMeans(n_clusters8, *, initk-means, n_initwarn, max_iter300, tol0.0001, verbose0, random_stateNone, copy_xTrue, algorithmlloyd) 2.1 主要参数 n_clusters簇的数量init {‘k-means’, ‘random’}或形状为(n_clusters, n_features)的数组默认为k-means 初始化方法 ‘k-means’使用基于点对总惯性贡献的经验概率分布的采样来选择初始簇质心。这种技术加快了收敛速度 这里实现的算法是“贪婪k-means”。它与普通的k-means的不同之处在于每个采样步骤进行多次尝试并从中选择最佳质心‘random’从数据中随机选择n_clusters个观测行作为初始质心数组形状应为(n_clusters, n_features)并给出初始中心n_init auto或int默认值为10k-means算法运行的次数每次都使用不同的质心种子最终结果是n_init连续运行中惯性最佳的输出。当n_initauto时运行次数取决于init的值 如果使用initrandom则为10如果使用initk-means或init是类数组的则为1max_iter int默认值为300k-means算法单次运行的最大迭代次数tol两次连续迭代的簇中心的Frobenius范数差异来声明收敛的相对容忍度 2.2 举例 from sklearn.cluster import KMeans import numpy as npX np.array([[1, 2], [1, 4], [1, 0],[10, 2], [10, 4], [10, 0]])kmeansKMeans(n_clusters2,n_initauto).fit(X) 2.2.1 属性 cluster_centers_ 簇中心的坐标 labels_ 每个点的标签 inertia_ 样本到最近簇中心的平方距离之和如果提供了样本权重则按样本权重加权 n_iter_ 运行的迭代次数 2.2.2 fit fit(X, sample_weightNone) sample_weight 是X中每个观测的权重。如果为None则所有观测都被赋予相等的权重 3 sklearn.cluster.kmeans_plusplus 类似于使用k_means来进行 sklearn.cluster.kmeans_plusplus(X, n_clusters, *, sample_weightNone, x_squared_normsNone, random_stateNone, n_local_trialsNone) X 用来选择初始种子的数据 也就是KMeans里面fit的内容 n_cluster要初始化的质心数量sample_weightX中每个观测的权重 3.1 返回值 centers形状为(n_clusters, n_features) k-means的初始中心。 indices形状为(n_clusters,) 在数据数组X中选择的中心的索引位置。对于给定的索引和中心X[index] center 3.2 举例 from sklearn.cluster import kmeans_plusplus import numpy as npX np.array([[1, 2], [1, 4], [1, 0],[10, 2], [10, 4], [10, 0]])kmeans_plusplus(X,n_clusters2)(array([[10, 0],[ 1, 4]]),array([5, 1]))4 Mini Batch K-Means MiniBatchKMeans是KMeans算法的一个变种它使用小批量mini-batches来减少计算时间同时仍然试图优化相同的目标函数 小批量是输入数据的子集在每次训练迭代中随机采样这些小批量大大减少了收敛到局部解所需的计算量与其他减少k-means收敛时间的算法不同mini-batch k-means产生的结果通常只比标准算法稍差该算法在两个主要步骤之间迭代类似于传统的k-means算法 在第一步中从数据集中随机抽取样本形成一个小批量.然后这些样本被分配到最近的质心在第二步中更新质心。与k-means不同这是按样本进行的 对于小批量中的每个样本通过取样本及其之前分配到该质心的所有样本的流式平均值来更新分配的质心。这样做的效果是随着时间的推移减少质心变化的速率。这些步骤执行直到收敛或达到预定的迭代次数为止MiniBatchKMeans比KMeans收敛得更快但结果的质量有所降低 4.1 sklearn.cluster.MiniBatchKMeans class sklearn.cluster.MiniBatchKMeans(n_clusters8, *, initk-means, max_iter100, batch_size1024, verbose0, compute_labelsTrue, random_stateNone, tol0.0, max_no_improvement10, init_sizeNone, n_initwarn, reassignment_ratio0.01) 4.1.1 主要参数 n_clusters簇的数量init {‘k-means’, ‘random’}或形状为(n_clusters, n_features)的数组默认为k-means 初始化方法 ‘k-means’使用基于点对总惯性贡献的经验概率分布的采样来选择初始簇质心。这种技术加快了收敛速度 这里实现的算法是“贪婪k-means”。它与普通的k-means的不同之处在于每个采样步骤进行多次尝试并从中选择最佳质心‘random’从数据中随机选择n_clusters个观测行作为初始质心数组形状应为(n_clusters, n_features)并给出初始中心max_iter int默认值为300k-means算法单次运行的最大迭代次数batch_sizemini batch的大小默认是1024n_init auto或int默认值为3k-means算法运行的次数每次都使用不同的质心种子最终结果是n_init连续运行中惯性最佳的输出。当n_initauto时运行次数取决于init的值 如果使用initrandom则为3如果使用initk-means或init是类数组的则为1 4.1.2 属性 还是那些cluster_centerslabels_inertia_n_iter_n_steps 4.1.3 方法 方法上fittranformpredict这些都有多了一个partial_fit表示使用一个mini-batch的样本 4.2 举例 from sklearn.cluster import MiniBatchKMeans import numpy as npX np.array([[1, 2], [1, 4], [1, 0],[10, 2], [10, 4], [10, 0]])mini_kmeansMiniBatchKMeans(n_clusters2).fit(X)mini_kmeans.cluster_centers_array([[ 1. , 2.57142857],[10. , 2. ]]) mini_kmeans.labels_ #array([0, 0, 0, 1, 1, 1])
http://www.pierceye.com/news/827889/

相关文章:

  • 网站ico图标动漫设计学什么内容
  • fireworks做网站定制做网站费用
  • 建设门户网站所需优秀营销网站设计
  • 行业网站建设教程办一家建筑公司流程
  • 网站空间文件夹中企动力主要是做什么的
  • 亚马逊做qa的网站wordpress theme是什么
  • 网站开发的经费预算php网站超市源码下载
  • 深圳建设高端网站asp.net 获取网站的绝对路径
  • 做的网站没流量吗前端页面设计
  • 门户网站的优点在环评备案网站上做登记后会怎么样
  • 网站的内容规划怎么写网站做外链的具体步骤
  • 百度网站排名规则小程序网站建设y021
  • 中国建设银行国际互联网站国内排名前五的电商
  • 怎么查网站的空间商四川建设工程招标网
  • 网站建设比较好公司朝阳区互联网公司排名
  • 百度不收录网站吗网站开发php
  • 房产网站建设的功能wordpress php7拓展
  • 做网站代码用什么软件天津建设工程信息网天津
  • 网站开发工程师前景怎么样怎么做自己的网站?
  • 井陉矿区网站建设做微商的网站
  • 办公室装修专业网站小程序免费制作平台有吗
  • 学生做兼职去哪个网站线上推广的渠道有哪些
  • 徐州网站的优化苏州百度推广开户
  • 网站有多少个网站建设与管理介绍
  • 网站建站报告2000字查询公司的网站
  • 兰州网站制作服务电话博客建站模板
  • 网站后台登陆路径网站网站优化
  • wordpress仿站方法网站图片做伪静态
  • 怎么做一款贷款网站蚌埠seo公司
  • 做羊水亲子鉴定网站企业vi设计公司定制