Python机器学习应用 | 【第一周】无监督学习 - weixin_42906066的博客 - CSDN博客
https://blog.csdn.net/weixin_42906066/article/details/81867175

前置课程没有听,科学计算numpy和matlib画图(shuf)等在硬盘里,看一下会很方便进度。

=========

  1. import numpy as np
  2. import sklearn.cluster as skc
  3. from sklearn import metrics
  4. import matplotlib.pyplot as plt
  5. mac2id=dict()
  6. onlinetimes=[]
  7. f=open('TestData.txt',encoding='utf-8')
  8. for line in f:
  9. mac=line.split(',')[2]
  10. onlinetime=int(line.split(',')[6])
  11. starttime=int(line.split(',')[4].split(' ')[1].split(':')[0])
  12. if mac not in mac2id:
  13. mac2id[mac]=len(onlinetimes)
  14. onlinetimes.append((starttime,onlinetime))
  15. else:
  16. onlinetimes[mac2id[mac]]=[(starttime,onlinetime)]
  17. real_X=np.array(onlinetimes).reshape((-1,2))
  18. X=real_X[:,0:1]
  19. db=skc.DBSCAN(eps=0.01,min_samples=20).fit(X)
  20. labels = db.labels_
  21. print('Labels:')
  22. print(labels)
  23. raito=len(labels[labels[:] == -1]) / len(labels)
  24. print('Noise raito:',format(raito, '.2%'))
  25. n_clusters_ = len(set(labels)) - (1 if -1 in labels else 0)
  26. print('Estimated number of clusters: %d' % n_clusters_)
  27. print("Silhouette Coefficient: %0.3f"% metrics.silhouette_score(X, labels))
  28. for i in range(n_clusters_):
  29. print('Cluster ',i,':')
  30. print(list(X[labels == i].flatten()))
  31. plt.hist(X,24)

学生月上网时间分布-TestData的更多相关文章

  1. 2019-07-28【机器学习】无监督学习之聚类 DBSCAN方法及其应用 (在线大学生上网时间分析)

    样本: import numpy as np import sklearn.cluster as skc from sklearn import metrics import matplotlib.p ...

  2. ux.form.field.Month 只能选年、月的时间扩展

    效果如图,亲测6.2.1版本可用,用法同时间选择控件 //月弹窗扩展 //只选月 Ext.define('ux.picker.Month', { extend: 'Ext.picker.Month', ...

  3. [转]Java中一周前一个月前时间计算方法

    Java中一周前一个月前时间计算方法 在java语言中,用如下方法获取系统时间: Date date = new Date(); String year=new SimpleDateFormat(&q ...

  4. 一个月的时间--java从一无所有到能用框架做点东西出来

    四月20号到六月2号 因为顺利完成了Struts在线考试系统的学习,基本掌握了struts框架的原理和他众多复杂的标签.趁着下一件事情还没到时间,也顾不上写昨天研习的student部分和今天stude ...

  5. js jquery 取得周月年时间

    function formatDate(date) { var myyear = date.getFullYear(); var mymonth = date.getMonth() + 1; var ...

  6. Java时间格式化年-月-日-时间

    Date d = new Date(); System.out.println(d); //Sat Mar 16 20:58:56 CST 2019 System.out.println(d.toLo ...

  7. 花了一个月的时间在一个oj网站只刷了这些题,从此入门了绝大多数算法

    如果你想入门算法,那么我这篇文章也许可以帮到你. oj网站有这么多,当然还有其他的.我当初是在hdu上面刷的,不要问我为什么,问就是当时我也是一个新手,懵懵懂懂就刷起来了.点这里可以进入这个网站htt ...

  8. (Java) 2014年1月1日减一个月涉及时间与字符的转换

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

  9. php 根据输入的参数,获取上季度最后一个月的时间

    public function getTime( $time ='2017-06-01 00:00:00'){ $month = date('m',strtotime($time)); $season ...

随机推荐

  1. Vue --- :is

    1.1 基本示例 <div id="app"> <!-- template slot transition --> <input type=" ...

  2. 20175202 《Java程序设计》第八周学习总结

    20175202 2018-2019-2 <Java程序设计>第八周学习总结 教材知识点总结 1.泛型: 主要目的是可以建立具有类型安全的集合框架,如链表.散列映射等数据结构. 泛型类的声 ...

  3. Panel 中加载窗体

    pnlMain.Controls.Clear(); ControlAnalyzer1 CA1 = new ControlAnalyzer1(); CA1.TopLevel = false; CA1.S ...

  4. [转]解决百度ueditor插入动态地图空白 支持iframe方法

    说明:新版本ueditor要修改 xss过滤白名单 修改配置文件ueditor.config.js 搜索:  whitList 增加下面第二行即可 ,whitList:{ iframe: ['fram ...

  5. my sql无法删除数据库

    mysql有时候会无法删除数据库,可以通过 1.select @@datadir 查询到文件目录 'C:\\ProgramData\\MySQL\\MySQL Server 5.7\\Data\\' ...

  6. Handlebars.js registerHelper

    Handlebars.registerHelper('link', function (text, url) { text = Handlebars.Utils.escapeExpression(te ...

  7. cocos2dx lua invalid 'cobj' in function 'lua_cocos2dx'

    解决方法 在创建 Node节点后 调用父节点 retain() 方法 手动增加引用 一般调用:clone()方法会出现,在变量后面加上对一个对应的retain() 方法

  8. 关于让simulink中display组件显示二进制的方法

    关于让simulink中display组件显示二进制的方法 1.首先需要配置gateway out模块,勾选propagate data type to output 2.配置display模块 fo ...

  9. 【转载】 Java中String类型的两种创建方式

    本文转载自 https://www.cnblogs.com/fguozhu/articles/2661055.html Java中String是一个特殊的包装类数据有两种创建形式: String s ...

  10. [UE4]镜像

    一.这是一个右手模型,通过镜像可以得到一个左右模型. 二.通过上图分析,镜面是X轴和Z轴形成的一个面,Y轴与XZ面垂直,因此就是镜像Y轴,将模型的Transform.Scale.Y设置为-1,即可得到 ...