from sklearn.cluster import KMeans
import numpy
import collections
import pandas
from sklearn import metricsdef k_means(pp1,clus):pv=list(pp1)if len(set(pv))>clus:gf=numpy.array([pv]).Testimator = KMeans(n_clusters=clus)#构造聚类器estimator.fit(gf)#聚类label_pred = estimator.labels_ #获取聚类标签#print(label_pred)aa=collections.Counter(label_pred)print('aa=',aa)v=pandas.Series(aa)gg=list(v)index_max=gg.index(max(gg))print('index_max=',index_max)centroids = estimator.cluster_centers_ #获取聚类中心print('centroids=',centroids)#inertia = estimator.inertia_ # 获取聚类准则的总和center=centroids[index_max][0]return ((center))else:return (pp1.mean())def k_means_label(a):def km_index(k):pv=list(a)gf=numpy.array([pv]).T#from sklearn.cluster import KMeansy_pred = KMeans(n_clusters=k, random_state=9).fit_predict(gf)index=metrics.silhouette_score(gf, y_pred, metric='euclidean')print('index',index)return indexcs=list(range(2,6))df=list(map(km_index,cs))df1=pandas.Series(df,index=cs)df2=df1.sort_values(ascending=False)df3=list(df2.index)[0]return df3a=numpy.random.randint(0,1000,10)cc=k_means_label(a)b=k_means(a,cc)print('b=',b)
index 0.804055967401
index 0.805649685362
index 0.65899543985
index 0.517110170591
aa= Counter({0: 5, 1: 3, 2: 2})
index_max= 0
centroids= [[ 160.8][ 610. ][ 824.5]]
b= 160.8

聚类算法 sklearn k_means (返回一维数据的最优聚类)相关推荐

  1. 使用聚类算法(Kmeans)进行数据降维并作为分类算法逻辑回归(logistic Regression)的数据预处理步骤实战

    使用聚类算法(Kmeans)进行数据降维并作为分类算法逻辑回归(logistic Regression)的数据预处理步骤实战 目录

  2. K-means聚类算法、Pandas绘制概率密度图和TSNE展示聚类结果

    K-means聚类算法是典型的基于距离的非层次聚类算法,在最小化误差函数的基础上将数据划分为预定的K个类,使得K个类达到类内数据距离之和最小而类间距离之和最大.它是无监督学习算法,采用距离作为相似性的 ...

  3. R语言层次聚类(hierarchical clustering):数据缩放、PCA聚类结果可视化、fpc包的clusterboot函数通过bootstrap重采样的方法评估hclust层次聚类的稳定性

    R语言层次聚类(hierarchical clustering):数据缩放.PCA聚类结果可视化.fpc包的clusterboot函数通过bootstrap重采样的方法评估hclust层次聚类的稳定性 ...

  4. dbscan聚类算法_一种视频人群流的轨迹聚类方法

    tags: KLT光流法,K-means聚类算法,DBSCAN聚类算法 方法简介 运动轨迹是一种在视频场景中捕捉复杂时间动态的有效方法.因此,我们将人流分割问题转化为一个轨迹提取和聚类任务.该方法分为 ...

  5. 利用层次聚类算法进行基于基站定位数据的商圈分析

    1. 背景与挖掘目标 1.1 背景 • 随着个人手机和网络的普及,手机已经基本成为所有人必须持有的工具. • 根据手机信号再地理空间的覆盖情况结合时间序列的手机定位数据可以完整的还原人群的现实活动轨迹 ...

  6. k均值聚类算法考试例题_一文读懂K-means聚类算法

    1.引言 什么是聚类?我们通常说,机器学习任务可以分为两类,一类是监督学习,一类是无监督学习.监督学习:训练集有明确标签,监督学习就是寻找问题(又称输入.特征.自变量)与标签(又称输出.目标.因变量) ...

  7. 聚类算法小记(part1)--基于密度峰快速搜索的聚类算法

    学习笔记,仅供参考,有错必纠 文章目录 引言 DPC算法概述 例子 缺点 引言 2014 年 6 月 Science 发表了自动确定类簇数和类簇中心的新聚类算法 DPC (clustering by ...

  8. 聚类算法(四)—— 基于词语相似度的聚类算法(含代码)

    转载请注明出处 简单了解了下目前的一些聚类算法, 聚类算法(一)--DBSCAN 聚类算法(二)-- 优缺点对比 聚类算法(三)-- 评测方法1 聚类算法(三)-- 评测方法2 聚类算法(三)-- 评 ...

  9. 风控模型中的五大类聚类算法介绍

    关注"金科应用研院",回复"CSDN" 领取"风控资料合集" 聚类分析指将物理或抽象对象的集合分组为由类似的对象组成的多个类的分析过程. 聚 ...

最新文章

  1. 【Qt】Q_PROPERTY():属性系统
  2. 直播 | 清华大学博士生姚远:对抗语言游戏
  3. Ubuntu上sublime配置nodejs运行环境
  4. P3932 浮游大陆的68号岛
  5. [原]Console小技巧——Console版贪食蛇
  6. 计算机编程老鸟的心得,java入门123——一个老鸟java学习心得.docx
  7. 禁用当前的账户win7_系统小技巧:服务客人 开启Windows 10来宾账户
  8. 路由协议管理距离汇总
  9. L2TP详解(六)——L2TP排错、使用限制和注意事项
  10. Carthage 安装与使用
  11. 遗传算法之:Hello World
  12. 课程与教学管理系统(CMS):Sakai
  13. JSP入门:什么是JSP和Servlet?
  14. zotero与Obsidian联动笔记(二):zotero拖拽highlights的格式修改
  15. 日志分析ELK安装日志分析系统
  16. 【转】几个期货基本面因子的研究
  17. 【权威发布】360追日团队:Xshellghost技术分析——入侵感染供应链软件的大规模定向攻击
  18. 如何给PDF文件添加书签及子书签
  19. Kubernetes(k8s)的Secret以密文的方式存储数据
  20. 【剑指offer刷题】排序算法

热门文章

  1. PDF文件使用指南(转载)
  2. nginx 限流,以及nginx直接返回json格式数据
  3. Fedora 18 在线升级至 Fedora 19 命令步骤
  4. php学习笔记之static的问题
  5. 深入浅出 JQuery (一) 浅析JQuery
  6. [Tool]靜態程式碼分析-FxCop
  7. 查看手机截图的坐标信息
  8. java_IO流之SequenceInputStream合并流的使用
  9. C++ 哪些函数不能声明成虚函数
  10. linux平台 使用dlopen接口调用HelloWorld动态库简单实例