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. 附录B——MySQL样例表

    vendors表: 储存销售产品的供应商信息,每个供应商在这个表中有一个记录,供应商ID(vend_id)列用来匹配产品和供应商. 列名 vend_id vend_name vend_address ...

  2. nginx添加ssl证书

    ssl的证书是通过docker nginx letsencrypt 这篇随笔生成的,下面介绍如何在nginx中添加ssl 这个为全部配置, 需要替换你自己的域名,配置中强制https了 server ...

  3. 腾讯云cos对象在线显示

    问题 前端使用了一张cos的图片,但是无法显示图片,使用的是cdn的加速域名地址. 对比:使用服务器的直接域名是可以显示的. 两者地址直接访问时,一者在线显示,一者直接下载到本地. 原因: 使用默认提 ...

  4. maven依赖冲突

    https://blog.csdn.net/noaman_wgs/article/details/81137893

  5. sqlserver数据库不能重命名报错5030——我的一点小思考

    在学习asp.net的时候使用mssql‘经常会出现这种错误,数据库不能重名名5030的错误,其实很简单原因就是有应用程序正在占用这个连接,使用这样一行命令就可以查询出正在占用的连接 use mast ...

  6. 剑指offer 13.代码的完整性 调整数组顺序使奇数位于偶数前面

    题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变.   本渣渣解题思路: ...

  7. C语言的抽象与函数指针--思想(转)

    一.何为抽象? 从小到大,我们接触到的抽象,最熟悉的莫过于数学了.为什么这样说呢? 比如说,在小学的时候,老师总是拿了几个苹果来引诱我们:同学们,这里有几个苹果啊?于是我们流着口水一个个地数,一个苹果 ...

  8. 查看局域网内所有IP的方法

    1,windows下查看局域网内所有IP的方法: 在MS-DOS命令行输入arp -a 2,Linux下,查看局域网内所有IP的方法: 在命令行输入nmap -sP 172.10.3.0/24

  9. Convert.ChangeType不能处理Nullable类型的解决办法(转)

    https://www.cnblogs.com/patrickyu/p/3211115.html 在做一个ORMapping功能的时候发现,Convert.ChangeType不能处理nullable ...

  10. win7和linux下利用命令查看文件md5、sha1、sha256

    win7 certutil -hashfile <filename> MD5 certutil -hashfile <filename> SHA1 certutil -hash ...