当前位置: 首页 > 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])
http://www.zqtcl.cn/news/379145/

相关文章:

  • 三亚文明城市建设服务中心报名网站房地产活动策划网站
  • 休闲食品网站建设规划书常德做网站专业公司
  • 做美工好的网站网页设计排版布局
  • 网站建设公司合同模板下载wordpress微信公众平台开发教程
  • 快速wordpress 建网站免费代理游戏
  • 网站模板 寻模板大气宽屏网站模板企业源码带后台
  • 做图片推广的网站威海高端网站建设
  • 台州网站公司建站网站首页模板图片
  • 网站建设本科毕业设计论文网址
  • 泰州企业建站程序乐清网站建设公司
  • 微信小程序网站建设哪家好郑州建设网
  • 网站流量查询站长之家自己创业做原公司一样的网站
  • 哪有专做飞织鞋面的网站广州企业网站制作哪家好
  • 如何用域名做邮箱 网站站长工具5g
  • 威海 医院网站建设宝安专业网站设计公司
  • 营销企业网站建设步骤建筑 企业官网设计
  • 网站建设的内容网站怎么做视频的软件
  • 大型网站多少钱企业咨询管理是干嘛的
  • 陕西建设银行网站小企业网站建设公司
  • linux下网站开发计算机网络技术专业主要学什么
  • 长沙网站维护公司建个门户网站
  • 做采集网站难不做科技的网站
  • 中小微企业服务平台seo怎么提升关键词的排名
  • 优秀企业网站欣赏店名设计wordpress文章列表添加字段
  • 有哪些做软件的网站服务器安装WordPress没有权限访问
  • app开发和网站开发公司网站怎么做百度竞价
  • 医疗机构网站备案网站建设面试常见问题
  • 建设网银登录网站国内欣赏电商设计的网站
  • 自适应网站优点缺点网站上的在线答题是怎么做的
  • 查询单位信息的网站免费学编程的网站有哪些