学生月上网时间分布-TestData

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.  
  6.  
  7. mac2id=dict()
  8. onlinetimes=[]
  9. f=open('TestData.txt',encoding='utf-8')
  10. for line in f:
  11.     mac=line.split(',')[2]
  12.     onlinetime=int(line.split(',')[6])
  13.     starttime=int(line.split(',')[4].split(' ')[1].split(':')[0])
  14.     if mac not in mac2id:
  15.         mac2id[mac]=len(onlinetimes)
  16.         onlinetimes.append((starttime,onlinetime))
  17.     else:
  18.         onlinetimes[mac2id[mac]]=[(starttime,onlinetime)]
  19. real_X=np.array(onlinetimes).reshape((-1,2))
  20.  
  21. X=real_X[:,0:1]
  22.  
  23. db=skc.DBSCAN(eps=0.01,min_samples=20).fit(X)
  24. labels db.labels_
  25.  
  26. print('Labels:')
  27. print(labels)
  28. raito=len(labels[labels[:] =-1]) len(labels)
  29. print('Noise raito:',format(raito, '.2%'))
  30.  
  31. n_clusters_ len(set(labels)) (if -in labels else 0)
  32.  
  33. print('Estimated number of clusters: %d' n_clusters_)
  34. print("Silhouette Coefficient: %0.3f"metrics.silhouette_score(X, labels))
  35.  
  36. for in range(n_clusters_):
  37.     print('Cluster ',i,':')
  38.     print(list(X[labels =i].flatten()))
  39.      
  40. plt.hist(X,24)

转载于:https://www.cnblogs.com/wanghui626/p/10362028.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值