学生月上网时间分布-TestData
2024-08-21 05:23:49
Python机器学习应用 | 【第一周】无监督学习 - weixin_42906066的博客 - CSDN博客
https://blog.csdn.net/weixin_42906066/article/details/81867175
前置课程没有听,科学计算numpy和matlib画图(shuf)等在硬盘里,看一下会很方便进度。
=========
- import numpy as np
- import sklearn.cluster as skc
- from sklearn import metrics
- import matplotlib.pyplot as plt
- mac2id=dict()
- onlinetimes=[]
- f=open('TestData.txt',encoding='utf-8')
- for line in f:
- mac=line.split(',')[2]
- onlinetime=int(line.split(',')[6])
- starttime=int(line.split(',')[4].split(' ')[1].split(':')[0])
- if mac not in mac2id:
- mac2id[mac]=len(onlinetimes)
- onlinetimes.append((starttime,onlinetime))
- else:
- onlinetimes[mac2id[mac]]=[(starttime,onlinetime)]
- real_X=np.array(onlinetimes).reshape((-1,2))
- X=real_X[:,0:1]
- db=skc.DBSCAN(eps=0.01,min_samples=20).fit(X)
- labels = db.labels_
- print('Labels:')
- print(labels)
- raito=len(labels[labels[:] == -1]) / len(labels)
- print('Noise raito:',format(raito, '.2%'))
- n_clusters_ = len(set(labels)) - (1 if -1 in labels else 0)
- print('Estimated number of clusters: %d' % n_clusters_)
- print("Silhouette Coefficient: %0.3f"% metrics.silhouette_score(X, labels))
- for i in range(n_clusters_):
- print('Cluster ',i,':')
- print(list(X[labels == i].flatten()))
- plt.hist(X,24)
最新文章
- Entity Framework 6 Recipes 2nd Edition(10-9)译 ->; 在多对多关系中为插入和删除使用存储过程
- 2005年IT行业趋势Top10
- Spark往Elasticsearch读写数据
- Java 关键字、标识符、注释、常量与变量、数据类型,算术、赋值、比较、逻辑、位、三元运算符和流程控制、break、continue【3】
- dwz简单配置与操作
- 用Jquery Widgets Factory写自己的表格控件——AFGrid(支持增、删、改)
- (Android学习系列)二,窗口(Activity)的生命周期
- 超级坑人的Couchbase数据库问题!!!
- Android实现限制EditText输入文字的数量
- jsp的开发模式
- There were X failed login attempts since the last successful login
- 小程序API
- 汉明码(Hamming)编码与纠错原理
- Javascript 3.3 编写DOM脚本的四个基本方法
- qml: QtCharts模块的使用(基本配置)------<;一>;
- Confluence 6 配置默认语言界面
- BZOJ3578:GTY的人类基因组计划2(集合hash,STL)
- java Runnable、Callable、FutureTask 和线程池
- 4、Cocos2dx 3.0游戏开发找小三之Hello World 分析
- BASIC-10_蓝桥杯_十进制转十六进制