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. java_oop_接口

    接口    难的是在系统设计里怎么样使用接口,主要在语法,不在系统架构与设计    概念    声明    语法        只有抽象方法的抽象类?可以用接口来表示,用接口来代替这样的抽象类,是因为 ...

  2. 学习Python3 试了一下百度OCR和腾讯OCR

    因为有个小功能,需要用一下OCR,所以先找了2家,百度和腾讯,如何开通,如何创建应用获得key等不作说明了 百度的比较简单,引用一个AipOcr全部搞定,代码如下: from aip import A ...

  3. RabbitMq C# .net 教程

    本文转载来自 [http://www.cnblogs.com/yangecnu/p/Introduce-RabbitMQ.html]写的很详细. 文件安装包官方DEMO下载地址是:http://pan ...

  4. Windows 10 RS4 无法完全关闭Hyper-V导致Virtual Box 虚拟机无法启动

    https://www.jianshu.com/p/2e3429d45aea 起因 因为需要使用Virtual Box做一些工作,卸载了Windows Docker.按照经验,关闭了Hyper-V. ...

  5. js对象的创建

    一.通过对象直接量来创建 var emptyt={};  //相当于var empty=new Object; //如果属性名中包含空格.连字符(-).还有关键字,保留字时,要用字符串表示 var b ...

  6. Centos 7 虚拟机挂载U盘

    本文记录环境为在Windows 7环境下,通过VMware安装Centos 7.2.挂载U盘过程如下,供日后查看,也供各位读者遇到类似问题时参考. 挂载过程及问题排除如下: 1.因为是虚拟机,所以先到 ...

  7. 微信小程序企业给零钱打款 提示未配置api发起,请查看产品中心企业付款配置

    商户平台:

  8. 163邮箱报错WARN: 535 Error: authentication failed.

    会让输入自定义授权码..用这个密码代替邮箱的密码,就可以发邮件了.

  9. C6.cpp

    可以将 一个array对象赋给另一个对象 对于下标值出现负数的情况下可以解释为在头指针的位置处向前移动对应的字节 可以使用vector.at(n_elem)来获取元素等价于vector[n_elem] ...

  10. UI自动化之元素定位(xpath、css)

    很早之前就已经写过自动化了,不过点着功能久了就会容易忘记元素定位,尤其是xpath和css定位,所以就花点时间做下总结收集. xpath有两种定位: 一.绝对路径(不推荐使用,除非已经使用了所有方式仍 ...