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

怎么自己创建一个网站手机网站维护与建设

怎么自己创建一个网站手机,网站维护与建设,网站建设与推广培训学校,网站网站游戏怎么做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]) 5 二分Kmeans 5.1 为什么会有二分K-means K-Means 算法有时会收敛到局部最小值而非全局最小值这是因为算法的初始质心选择可能会影响最终的聚类结果 一种缓解这个问题的方法是二分 K-Means 算法 通过每次选择分裂误差大的簇提高稳定性然而即使是二分 K-Means也不能保证每次都能找到全局最优解因为这仍然取决于数据的分布和聚类的初始选择 5.2 SSE SSE(Sum of Square Error, 误差平方和)SSE值越小表示数据点越接近于它们的质心聚类效果也越好 5.3 具体步骤 将所有点看成一个簇当簇的数目小于k时 计算总的SSE在某一个簇上进行2-means聚类并计算将该簇一分为二之后的总SSE选择SSE最大的那个簇进行划分 5.4 sklearn.cluster.BisectingKMeans 5.4.1 BisectingKMeanns class sklearn.cluster.BisectingKMeans(n_clusters8, *, initrandom, n_init1, random_stateNone, max_iter300, verbose0, tol0.0001, copy_xTrue, algorithmlloyd, bisecting_strategybiggest_inertia) 5.4.2 主要参数 n_clusters簇的数量init{k-means, random} 或可调用对象默认为randomn_init int默认为1 内部 k-means 算法将在每次二分法中使用不同的质心种子运行的次数。 这将导致每次二分法产生 n_init 连续运行中的最佳输出 max_iter每次二分法中内部 k-means 算法的最大迭代次数bisecting_strategy {biggest_inertia, largest_cluster}默认为 biggest_inertia 定义如何执行二分法 “biggest_inertia” 意味着 BisectingKMeans 将始终检查所有计算出的簇以寻找 SSE平方误差总和最大的簇并将其二分。这种方法侧重于精确度但在执行时间方面可能成本较高尤其是对于数据点较多的情况。“largest_cluster” - BisectingKMeans 将始终拆分所有先前计算出的簇中分配给它的点数最多的簇。与按 SSEbiggest_inertia选择相比这应该会更快并且在大多数情况下可能产生类似的结果。 属性还是那几个cluster_centers、labels_、inertia_ 5.4.3 举例 from sklearn.cluster import BisectingKMeans import numpy as npX np.array([[1, 2], [1, 4], [1, 0],[10, 2], [10, 4], [10, 0]])msBisectingKMeans(n_clusters3,bisecting_strategybiggest_inertia).fit(X)ms.cluster_centers_array([[ 1. , 1. ],[10. , 1. ],[ 5.5, 4. ]])
http://www.yutouwan.com/news/136798/

相关文章:

  • 五级偏黄视频网站建设上海seo博客
  • 网站建设合同技术开发合同范本有网站吗推荐一下
  • 教学系统设计 网站开发wordpress网站打不开
  • asp flash网站模板houzz室内设计app
  • 网站建设系统chi系统怎么样建网站卖东西
  • 电脑 手机网站二合一源码wordpress 搜索高亮
  • 青海省交通建设管理局网站宝应网站建设
  • wordpress可以建哪些网站今天最新新闻摘抄
  • 沈阳个人建站模板购物网站er图
  • 下载免费网站模板下载安装企业所得税计算方法举例
  • 做的网站怎么放视频linux建设网站php打开提示404
  • 网站制作需要注意什么技术支持 中山网站建设
  • 阿里云网站空间购买视屏网站制作
  • 手机网站二级导航菜单网站推广优化服务
  • 石家庄站在哪个区wordpress修改模板教程
  • 功能主机网站首页4399游戏大全
  • 做俄语网站easy ssl wordpress
  • 易语言网站开发教程自己做黑彩网站
  • 最有名的免费建站平台排行榜扬州建设会计学会网站
  • 设计素材网站千图网镇江网站seo外包
  • 网站弹出qq聊天窗口做网站需要ps吗
  • 猪八戒做网站怎么样网站开发 周期
  • 运城建设厅官方网站个人社保缴费比例
  • 网站建设毕设优化自己的网站
  • 资阳住房和城乡建设厅官方网站机关 网站 建设方案
  • 网站开发工作室简介婚恋网站建设的目的
  • 整站优化快速排名.net做网站
  • 高端网站开发哪里有找客户资源的网站
  • 郯城县建设局网站免费字体
  • 株洲新站seo网站建设项目报价单