首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

云计算比赛总结

但是简单的看,在很多情况下,不同的距离测度在不同数据集上的表现也不完全相同,因此更换一个合适的距离测度似乎是一个轻松讨巧的提高准确率的办法。我在实际操作中采用的是余弦距离,稍微修改下源码就可以办到。...初始化中心点的方法大多数情况采用其自带的kmeans++算法,准确率一般会提高一点。不过也不排除random更好的情况。...这个参数曾经存在的意义在于,我们知道kmeans本身的初始点选择具有一定的随机性,那么每次聚类结果的准确率就不一定相同,有时好,有时不好。...,这是一个很尴尬的问题,他意味着这实际上就不是一个分布式程序。不过这个问题也不完全出于我,因为我采用的就是spark mllib中的kmeans实现。...这个实现似乎在操作中有一些问题,导致几乎所有的数据都在一个worker上跑,我尝试采用了RangePartition来代替HashPartition,但是结果也并没有任何好转。

40620
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    K-means算法及python实现

    根据以上描述,我们大致可以猜测到实现kmeans算法的主要四点:           (1)簇个数 k 的选择           (2)各个样本点到“簇中心”的距离           (3)根据新划分的簇...,每个样本只聚类到一个簇里面 D.初始簇为空 Step2.距离度量         将对象点分到距离聚类中心最近的那个簇中需要最近邻的度量策略,在欧式空间中采用的是欧式距离,在处理文档中采用的是余弦相似度函数...,有时候也采用曼哈顿距离作为度量,不同的情况实用的度量公式是不同的。...说明: A.经过step2,得到k个新的簇,每个样本都被分到k个簇中的某一个簇 B.得到k个新的簇后,当前的质心就会失效,需要计算每个新簇的自己的新质心 Step3.新质心的计算         对于分类后的产生的...不管初始点如何选择,最终都会收敛。可是是全局收敛,也可能是局部收敛。 六.小结         1. 聚类是一种无监督的学习方法。

    5K21

    KMeans算法分析以及实现

    KMeans KMeans是一种无监督学习聚类方法, 目的是发现数据中数据对象之间的关系,将数据进行分组,组内的相似性越大,组间的差别越大,则聚类效果越好。...无监督学习,也就是没有对应的标签,只有数据记录.通过KMeans聚类,可以将数据划分成一个簇,进而发现数据之间的关系. ?...: \(\mu_j=\frac{\sum_{i=1}^n1{(c^i==j)}x^i}{\sum_{i=1}^n1{(c^{(i)}=j)}}\) } 用语言描述来说,就是:随机确定k个初始点作为簇中心...将数据点分配到最近的质心所代表的簇上 对于每个簇,计算簇中所有点的均值,并将均值作为新的簇中心[质心] 存在问题及其处理方法 必须事先给出k(要生成的簇的数目),而且对初值敏感,对于不同的初始值...另一方面,可以对kmeans进行优化处理,存在一种二分kMeans处理.

    62820

    kmeans聚类理论篇K的选择(轮廓系数)

    kmeans是最简单的聚类算法之一,但是运用十分广泛。最近在工作中也经常遇到这个算法。kmeans一般在数据分析前期使用,选取适当的k,将数据分类后,然后分类研究不同聚类下数据的特点。...算法原理 kmeans的计算方法如下: 1 随机选取k个中心点 2 遍历所有数据,将每个数据划分到最近的中心点中 3 计算每个聚类的平均值,并作为新的中心点 4 重复2-3,直到这k个中线点不再变化(收敛了...采用欧式距离作为变量之间的聚类函数。每次朝一个变量 ? 的方向找到最优解,也就是求偏倒数,然后等于0,可得 c_i= ?...head(iris) 加载实验数据iris,这个数据在机器学习领域使用比较频繁,主要是通过画的几个部分的大小,对花的品种分类,实验中需要使用fpc库估计轮廓系数,如果没有可以通过install.packages...随机选取训练数据中的k个点作为起始点 2. 当k值选定后,随机计算n次,取得到最小开销函数值的k作为最终聚类结果,避免随机引起的局部最优解 3.

    7.2K51

    TensorFlow从0到1 - 18 - TensorFlow 1.3.0安装手记

    《TensorFlow从0到1》写到现在,TensorFlow的版本也从当时的1.1.0迭代到了8月初发布的1.3.0。可以预见在未来很长一段时间里,它仍会持续快速的迭代更新。...除了考虑与最新版TensorFlow尽量保持同步之外,鉴于conda虚拟环境可以非常容易的重新构建开发环境,并可以和老的并存,所以对于学习者来说,似乎没有什么理由不下手了。...为了保留它,我以“tensorflow13”命名新的conda虚拟环境for 1.3.0: C:> conda create -n tensorflow13 ?...遗憾的是清华大学开源软件镜像站迟迟未提供TensorFlow 1.3.0 Windows版本安装包(Linux和Mac下没有这个问题),而只提供了1.3.0rc0的版本。...1.3.0下运行的代码; 本篇之前的示例代码都在文件夹TF1_1中(大多数都可以在TensorFlow 1.3.0环境下无需修改直接运行),后面新的示例代码都会在TensorFlow 1.3.0下测试并提交到

    91260

    TensorFlow从0到1 | 第十八章: 升级手记:TensorFlow 1.3.0

    《TensorFlow从0到1》写到现在,TensorFlow的版本也从当时的1.1.0迭代到了8月初发布的1.3.0。可以预见在未来很长一段时间里,它仍会持续快速的迭代更新。...除了考虑与最新版TensorFlow尽量保持同步之外,鉴于conda虚拟环境可以非常容易的重新构建开发环境,并可以和老的并存,所以对于学习者来说,似乎没有什么理由不下手了。...为了保留它,我以“tensorflow13”命名新的conda虚拟环境for 1.3.0 C:> conda create -n tensorflow13 ?...遗憾的是清华大学开源软件镜像站迟迟未提供TensorFlow 1.3.0 Windows版本安装包(Linux和Mac下没有这个问题),而只提供了1.3.0rc0的版本。...1.3.0下运行的代码; 本篇之前的示例代码都在文件夹TF1_1中(大多数都可以在TensorFlow 1.3.0环境下无需修改直接运行),后面新的示例代码都会在TensorFlow 1.3.0下测试并提交到

    87470

    精准营销神器之客户画像,你值得拥有!

    采用经典机器学习算法——聚类算法来生成客户画像,由于聚类算法是无监督模型,数据质量直接决定分群结果的好坏,这里收集到的数据大部分经过处理。 目标 1. 利用聚类算法,得到合理的分群客户。 2....如果想自定义初始聚类中心,可先通过采样,用层次法对样本聚类,可以预估k-means的k值和簇中心,以这些k值和簇中心,作为大样本的初始点。...由分类分布可知,2类和5类是一样多的票数。 ? 再由kmeans()进行聚类。给定聚类中心为5个,最大迭代20次。...测试新样本 最后,我简单计算了一下,如果进来新样本是如何计算类别的,由于本文仅1000条数据,没有新样本,故我将训练样本选择了200条作为新样本,纳入模型计算距离并得到类别数。代码如下。 ?...样本量不算充裕,可能导致在聚类结果上有一定的偏差。 2. 本文未对离散型数据如何处理进行阐述。因为本案例中没有离散型数据。

    2.2K30

    最受欢迎开源深度学习框架榜单:这个排名让人想起~~

    深度学习的图景总是在不断变化,Theano是第一个被广泛采用的深度学习框架,由Yoshua Bengio领导的MILA创建和维护。...在2017年初的这份报告中,褚晓文教授指出,硬件和软件同样重要,仅仅有硬件是不够的,没有好的软件,硬件的效能发挥不出来,这也是为什么今天有这么多深度学习软件,它们的性能有如此大的差异。...第三行是它的粉丝数量,目前(2017年9月)TensorFlow的粉丝团是最庞大的,有6万多个关注,相对来讲,CNTK、Caffe加起来还没有TensorFlow有影响力。...最底下是开发平台的维护情况,随着硬件的提升,新的算法的提出,每个软件都是要不断的更新换代的,TensorFlow的更新是非常频繁的,基本上每一两个月就会有一个新的更新,代表着他们对软件平台的投入。”...在你争我抢,合纵连横之下,深度学习框架的流行趋势似乎很难预测。不过,中国的开源框架,什么时候才能在这样的排名上显露自己的名字呢?

    1.9K70

    数据挖掘之聚类算法K-Means总结

    序   由于项目需要,需要对数据进行处理,故而又要滚回来看看paper,做点小功课,这篇文章只是简单的总结一下基础的Kmeans算法思想以及实现; 正文:     1.基础Kmeans算法.   ...Kmeans算法的属于基础的聚类算法,它的核心思想是: 从初始的数据点集合,不断纳入新的点,然后再从新计算集合的“中心”,再以改点为初始点重新纳入新的点到集合,在计算”中心”,依次往复,直到这些集合不再都不能再纳入新的数据为止...图解:     假如我们在坐标轴中存在如下A,B,C,D,E一共五个点,然后我们初始化(或者更贴切的说指定)两个特征点(意思就是将五个点分成两个类),采用欧式距离计算距离. ?...注意的点:     1.中心计算方式不固定,常用的有使用距离(欧式距离,马式距离,曼哈顿距离,明考斯距离)的中点,还有重量的质心,还有属性值的均值等等,虽然计算方式不同,但是整体上Kmeans求解的思路相同....     2.初始化的特征点(选取的K个特征数据)会对整个收据聚类产生影响.所以为了得到需要的结果,需要预设指定的凸显的特征点,然后再用Kmeans进行聚类.

    1K80

    ArXiv最受欢迎开源深度学习框架榜单:TensorFlow第一,PyTorch第四

    深度学习的图景总是在不断变化,Theano是第一个被广泛采用的深度学习框架,由Yoshua Bengio领导的MILA创建和维护。...在2017年初的这份报告中,褚晓文教授指出,硬件和软件同样重要,仅仅有硬件是不够的,没有好的软件,硬件的效能发挥不出来,这也是为什么今天有这么多深度学习软件,它们的性能有如此大的差异。...第三行是它的粉丝数量,目前(2017年9月)TensorFlow的粉丝团是最庞大的,有6万多个关注,相对来讲,CNTK、Caffe加起来还没有TensorFlow有影响力。...最底下是开发平台的维护情况,随着硬件的提升,新的算法的提出,每个软件都是要不断的更新换代的,TensorFlow的更新是非常频繁的,基本上每一两个月就会有一个新的更新,代表着他们对软件平台的投入。”...在你争我抢,合纵连横之下,深度学习框架的流行趋势似乎很难预测。不过,中国的开源框架,什么时候才能在这样的排名上显露自己的名字呢? ----

    1.1K90

    R语言之kmeans聚类理论篇!

    前言 kmeans是最简单的聚类算法之一,但是运用十分广泛。最近在工作中也经常遇到这个算法。kmeans一般在数据分析前期使用,选取适当的k,将数据分类后,然后分类研究不同聚类下数据的特点。...算法原理 kmeans的计算方法如下: 1 随机选取k个中心点 2 遍历所有数据,将每个数据划分到最近的中心点中 3 计算每个聚类的平均值,并作为新的中心点 4 重复2-3,直到这k个中线点不再变化(收敛了...采用欧式距离作为变量之间的聚类函数。每次朝一个变量 ? 的方向找到最优解,也就是求偏倒数,然后等于0,可得 c_i= ?...head(iris) 加载实验数据iris,这个数据在机器学习领域使用比较频繁,主要是通过画的几个部分的大小,对花的品种分类,实验中需要使用fpc库估计轮廓系数,如果没有可以通过install.packages...随机选取训练数据中的k个点作为起始点 2. 当k值选定后,随机计算n次,取得到最小开销函数值的k作为最终聚类结果,避免随机引起的局部最优解 3.

    3.2K110

    中国的开源框架,何时能在最受欢迎开源深度学习框架榜单上显露名字呢?

    深度学习的图景总是在不断变化,Theano是第一个被广泛采用的深度学习框架,由Yoshua Bengio领导的MILA创建和维护。...在2017年初的这份报告中,褚晓文教授指出,硬件和软件同样重要,仅仅有硬件是不够的,没有好的软件,硬件的效能发挥不出来,这也是为什么今天有这么多深度学习软件,它们的性能有如此大的差异。...第三行是它的粉丝数量,目前(2017年9月)TensorFlow的粉丝团是最庞大的,有6万多个关注,相对来讲,CNTK、Caffe加起来还没有TensorFlow有影响力。...最底下是开发平台的维护情况,随着硬件的提升,新的算法的提出,每个软件都是要不断的更新换代的,TensorFlow的更新是非常频繁的,基本上每一两个月就会有一个新的更新,代表着他们对软件平台的投入。”...在你争我抢,合纵连横之下,深度学习框架的流行趋势似乎很难预测。不过,中国的开源框架,什么时候才能在这样的排名上显露自己的名字呢?

    68880

    数据分析入门系列教程-K-Means实战

    在 Sklearn 中使用 K-Means Sklearn 同样提供了非常完善的 K-Means 算法实现 from sklearn.cluster import KMeans kmeans = KMeans...这里sklearn 会自动为我们进行迭代运算,找出合适的初始中心点。 init 初始值的选择方式。默认就是采用 k-means++ 的方式,或者还可以采用 random 完全随机的方式。...= KMeans(n_clusters=2) kmeans.fit(img_mat) label = kmeans.predict(img_mat) predict 得到的就是聚类的结果 最后再把得到的聚类结果赋值给新的图片...我们已经在选择初始点时进行了优化处理。...通过上面的得出的图片,我们可以清楚的看到拐点是在 k=4的地方,所以我们选取k=4作为聚类的种类数量,再次重新聚类 kmeans = KMeans(n_clusters=4)# kmeans 算法 kmeans.fit

    60910

    R语言的kmeans客户细分模型聚类

    前言 kmeans是最简单的聚类算法之一,但是运用十分广泛。最近在工作中也经常遇到这个算法。kmeans一般在数据分析前期使用,选取适当的k,将数据分类后,然后分类研究不同聚类下数据的特点。...算法原理 kmeans的计算方法如下: 1 随机选取k个中心点 2 遍历所有数据,将每个数据划分到最近的中心点中 3 计算每个聚类的平均值,并作为新的中心点 4 重复2-3,直到这k个中线点不再变化(收敛了...(iris) 3 head(iris) 加载实验数据iris,这个数据在机器学习领域使用比较频繁,主要是通过画的几个部分的大小,对花的品种分类,实验中需要使用fpc库估计轮廓系数,如果没有可以通过install.packages...可以发现原始分类中和聚类中左边那一簇的效果还是拟合的很好的,右测原始数据就连在一起,kmeans无法很好的区分,需要寻求其他方法。 kmeans最佳实践 1....随机选取训练数据中的k个点作为起始点 2. 当k值选定后,随机计算n次,取得到最小开销函数值的k作为最终聚类结果,避免随机引起的局部最优解 3.

    1.6K80

    TensorFlow实现Kmeans聚类

    对于机器学习算法来说,主要分为有监督学习和无监督学习,前面有篇文章介绍过机器学习算法的分类,不知道的童鞋可以去看看。然后今天要讲的Kmeans算法属于无监督算法,也就是说它的输入只要训练集没有标签的。...说到Kmeans, 就不得不提什么是聚类?简单说就是“合并同类项”,把性质相近的物体归为一类,就是聚类。...Kmeans就是这样的。。。。 下面是kmeans的目标函数,C是聚类中心,卡方是所有训练数据。 ? Kmeans算法的步骤: 随机选择k个初始聚类中心 ?...正式实战开始之前,有几个tf的函数需要简单说一下,大家可能没有见过的,主要是: tf.unsorted_segment_sum tf.slice tf.tile tf.control_dependencies...好了,有了这些,下面看下Kmeans的实现代码: # coding: utf-8 import tensorflow as tf import numpy as np import time import

    2.6K130

    【机器学习】监督学习 vs 非监督学习——如何选择合适的方法

    模型学习到输入特征和输出标签之间的映射关系,之后可用于预测新数据的输出。 2.2 监督学习的特点: 数据有标签:每个输入样本都有相应的目标输出。 常见任务:分类和回归。...3.1 定义 非监督学习是使用未标注的数据来训练模型。模型尝试发现数据的内在结构,如数据之间的分组或相似性。 3.2 非监督学习的特点: 数据无标签:没有已知的目标输出。 常见任务:聚类和降维。...无标签数据:如果没有标签数据,且想要从数据中发现模式,选择非监督学习。 4.2 任务类型是什么? 分类和回归任务:这些是监督学习的典型任务。...参考资料 《Deep Learning》 by Ian Goodfellow Coursera 深度学习课程 TensorFlow 官方文档 Learning》 by Ian Goodfellow](https...://www.deeplearningbook.org/) Coursera 深度学习课程 TensorFlow 官方文档

    45410
    领券