题目: 通过给出的驾驶员行为数据(trip.csv),对驾驶员不同时段的驾驶类型进行聚类,聚成普通驾驶类型,激进类型和超冷静型3类 。 利用Python的scikit-learn包中的Kmeans算法进行聚类算法的应用练习。并利用scikit-learn包中的PCA算法来对聚类后的数据进行降维,然后画图展示出聚类效果。通过调节聚类算法的参数,来观察聚类效果的变化,练习调参。

数据介绍: 选取某一个驾驶员的经过处理的数据集trip.csv,将该驾驶人的各个时间段的特征进行聚类。(注:其中的driver 和trip_no 不参与聚类)

字段介绍: driver :驾驶员编号;trip_no:trip编号;v_avg:平均速度;v_var:速度的方差;a_avg:平均加速度;a_var:加速度的方差;r_avg:平均转速;r_var:转速的方差; v_a:速度level为a时的时间占比(同理v_b , v_c , v_d ); a_a:加速度level为a时的时间占比(同理a_b, a_c); r_a:转速level为a时的时间占比( r_b, r_c)

聚类算法要求:

(1)统计各个类别的数目

(2)找出聚类中心

(3)将每条数据聚成的类别(该列命名为jllable )和原始数据集进行合并,形成新的dataframe,命名为new_df ,并输出到本地,命名为new_df.csv。

降维算法要求:

(1)将用于聚类的数据的特征的维度降至2维,并输出降维后的数据,形成一个dataframe名字new_pca

(2)画图来展示聚类效果(可用如下代码):

import matplotlib.pyplot asplt

d = new_pca[new_df['jllable'] == 0]

plt.plot(d[0], d[1], 'r.')

d = new_pca[new_df['jllable'] == 1]

plt.plot(d[0], d[1], 'go')

d = new_pca[new_df['jllable'] == 2]

plt.plot(d[0], d[1], 'b*')

plt.gcf().savefig('D:/workspace/python/Practice/ddsx/kmeans.png')

plt.show()

python实现代码如下:

from sklearn.cluster import KMeans

from sklearn.decomposition import PCA

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

df=pd.read_csv('trip.csv', header=0, encoding='utf-8')

df1=df.ix[:,2:]

kmeans = KMeans(n_clusters=3, random_state=10).fit(df1)

df1['jllable']=kmeans.labels_

df_count_type=df1.groupby('jllable').apply(np.size)

##各个类别的数目

df_count_type

##聚类中心

kmeans.cluster_centers_

##新的dataframe,命名为new_df ,并输出到本地,命名为new_df.csv。

new_df=df1[:]

new_df

new_df.to_csv('new_df.csv')

##将用于聚类的数据的特征的维度降至2维,并输出降维后的数据,形成一个dataframe名字new_pca

pca = PCA(n_components=2)

new_pca = pd.DataFrame(pca.fit_transform(new_df))

##可视化

d = new_pca[new_df['jllable'] == 0]

plt.plot(d[0], d[1], 'r.')

d = new_pca[new_df['jllable'] == 1]

plt.plot(d[0], d[1], 'go')

d = new_pca[new_df['jllable'] == 2]

plt.plot(d[0], d[1], 'b*')

plt.gcf().savefig('kmeans.png')

plt.show()

运行结果如下:

##各个类别的数目

##聚类中心

##新的dataframe,命名为new_df ,并输出到本地,命名为new_df.csv。

##可视化------kmeans.png

python音频聚类_利用python的KMeans和PCA包实现聚类算法相关推荐

  1. 【转】利用python的KMeans和PCA包实现聚类算法

    转自:https://www.cnblogs.com/yjd_hycf_space/p/7094005.html 题目: 通过给出的驾驶员行为数据(trip.csv),对驾驶员不同时段的驾驶类型进行聚 ...

  2. 如何用python制作画像_利用Python搭建用户画像系统

    用户画像是当下很多企业都会提及的概念,多数情况下会和大数据以及营销挂钩.本文将对用户画像的相关知识进行进行简单的介绍,并利用Python去实现一个简单的用户画像系统. 1.什么是用户画像 用户画像可以 ...

  3. python高斯求和_利用Python进行数据分析(3)- 列表、元组、字典、集合

    本文主要是对Python的数据结构进行了一个总结,常见的数据结构包含:列表list.元组tuple.字典dict和集合set. image 索引 左边0开始,右边-1开始 通过index()函数查看索 ...

  4. python照片墙地图_利用python生成照片墙的示例代码

    PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了.其官方主页为:PIL. PIL历 ...

  5. python图色检测_利用python打开摄像头及颜色检测方法

    最近两周由于忙于个人项目,一直未发言了,实在是太荒凉了....,上周由于项目,见到Python的应用极为广泛,用起来也特别顺手,于是小编也开始着手学习Python,-下面我就汇报下今天的学习成果吧 小 ...

  6. python mysql 分页_利用python对mysql表做全局模糊搜索并分页实例

    在写django项目的时候,有的数据没有使用模型管理(数据表是动态添加的),所以要直接使用mysql.前端请求数据的时候可能会指定这几个参数:要请求的页号,页大小,以及检索条件. "&quo ...

  7. python过去日期_利用python获取当前日期前后N天或N月日期的方法示例

    前言 最近因为工作原因,发现一个Python的时间组件,很好用分享出来!(忘记作者名字了,在这里先感谢了),下面话不多说,来一起看看详细的介绍吧. 示例代码: # -*- coding: utf-8 ...

  8. python 词云_利用Python生成词云

    利用Python生成词云 一.第三方库的安装与介绍 1.1  Python第三方库jieba(中文分词) 1.介绍 "结巴"中文分词:做最好的 Python 中文分词组件. 2.特 ...

  9. python爬虫背景_利用Python代码实现一键抠背景功能

    前言 又是一个逛csdn发现的一个有趣的小项目,可以一键抠背景,需要用到removebg模块及其API,API可从其官网免费获取,网址如下https://www.remove.bg/zh ps:加上/ ...

最新文章

  1. 服务器插显示器黑的,服务器插显示器不显示
  2. 大神开车的标题-python中类方法、类实例方法、静态方法的使用与区别
  3. Android中的事件处理机制
  4. gcd的二进制优化笔记
  5. Python、Lua和Ruby比较——脚本语言大P.K.
  6. 1.11.Flink DataSetAPI、DataSet API之Data Sources、DataSet API之Transformations、DataSet Sink部分详解
  7. 用好这几个工具,能大幅提升你的 Git/GitHub 操作效率!
  8. 阅读类app界面设计UI可临摹素材模板
  9. 使用镜像数据库减轻报表的负载
  10. 利用Pin分析程序的动态行为特征
  11. 关于handler的再次讨论
  12. java中的递归算法_java递归算法
  13. Python 小节案例-计算体脂率
  14. 机器语言、汇编语言(低级语言)、高级语言
  15. VXLAN的广播域BD。
  16. 玄秘塔碑-唐代柳公权创作书法作品
  17. sql求平均日活_SQL 统计日活、月活指标
  18. Dedecms 5.7 SP2后台广告管理处getshell
  19. PLC通讯实现-C#实现西门子PLC串口通讯W95_S7(四)
  20. 入门板绘又应该注意什么呢? 板绘初学者怎么练线稿

热门文章

  1. 三步走——带你打造一份完美的数据科学家简历|(附件有PPT福利)
  2. Webpack 资源管理
  3. OpenGL基础知识
  4. Android获取当前时间
  5. C#操作注册表全攻略
  6. 卓越领袖的的32条经营管理思想
  7. 很遗憾,我们正在逐渐丧失专注阅读的能力
  8. 亿级流量网关设计思路
  9. 浅谈 UC 国际信息流推荐
  10. 滴滴业务研发的精益实践