python数据分析的例子_Python数据分析案例—商圈客流量特征分析
这是python数据分析案例系列的第二篇,主要是聚类分析,实现起来较为简单。后续还会继续更新,欢迎关注交流!
在处理实际的数据分析案例时,我们面临的往往是比较复杂的研究对象,如果能把相似的样品(或指标)归成类,处理起来大为方便。
聚类分析目的就是把相似的研究对象归成类
先贴上总结的聚类分析基本步骤:
算法过程如下:
1)从N个文档随机选取K个文档作为质心
2)对剩余的每个文档测量其到每个质心的距离,并把它归到最近的质心的类
3)重新计算已经得到的各个类的质心
4)迭代2~3步直至新的质心与原质心相等或小于指定阈值,算法结束
工作原理
K-MEANS算法
输入:聚类个数k,以及包含 n个数据对象的数据库。
输出:满足方差最小标准的k个聚类。
存在问题K是事先给定的,这个K值的选定是非常难以估计的。很多时候,事先并不知道给定的数据集应该分成多少个类别才最合适。(有的算法是通过类的自动合并和分裂,得到较为合理的类型数目 K,例如 ISODATA 算法。)
在 K-means 算法中,首先需要根据初始聚类中心来确定一个初始划分,然后对初始划分进行优化。说明初始聚类中心的选择对聚类结果有较大的影响,一旦初始值选择的不好,可能无法得到有效的聚类结果。(对于该问题的解决,许多算法采用遗传算法进行初始化,以内部聚类准则作为评价指标。)
从 K-means 算法框架可以看出,该算法需要不断地进行样本分类调整,不断地计算调整后的新的聚类中心,因此当数据量非常大时,算法的时间开销是非常大的。
分析案例
背景
-不同商圈的分时段客流量
目标
-通过不同商圈的分时段客流量数据,挖掘出不同类别的商圈
-分析不同类别商圈的特点
算法的Python实现
数据获取与整理
对数据进行基本分析,查看数据的基本情况
对样本数据进行预处理
构建样本集
构建客流量聚类模型
可视化结果
Python代码如下
# -*- coding: utf-8 -*-
#读取数据
import pandas as pd
data=pd.read_excel(u'd:/data/example02/sample.xls',index_col=u'站点编号')
data.head()
#数据预处理
data = (data - data.min())/(data.max() - data.min()) #离差标准化
data=data.fillna(0) #处理na值
data.to_excel('d:/data/example02/standata.xls',index=True) #保存结果
####模型构建####
##系谱图绘制
import matplotlib.pyplot as plt
from scipy.cluster.hierarchy import linkage,dendrogram
#这里使用scipy的层次聚类函数
Z = linkage(data, method = 'ward', metric = 'euclidean') #谱系聚类图
P = dendrogram(Z, 0) #画谱系聚类图
plt.show()
##层次聚类算法
#参数初始化
k = 3 #聚类数
#模型构建
from sklearn.cluster import AgglomerativeClustering #导入sklearn的层次聚类函数
model = AgglomerativeClustering(n_clusters = k, linkage = 'ward')
model.fit(data) #训练模型
#详细输出原始数据及其类别
r = pd.concat([data, pd.Series(model.labels_, index = data.index)], axis = 1) #详细输出每个样本对应的类别
r.columns = list(data.columns) + [u'聚类类别'] #重命名表头
import matplotlib.pyplot as plt
style = ['', '', '']
xlabels = [u'非上下班时段日均客流量', u'上下班时段日均客流量', u'周末日均客流量时间',
u'工作日日均客流量']
pic_output = 'd:/data/example02/type_' #聚类图文件名前缀
for i in range(k): #逐一作图,作出不同样式
plt.figure()
tmp = r[r[u'聚类类别'] == i].iloc[:,:4] #提取每一类
for j in range(len(tmp)):
plt.plot(range(1, 5), tmp.iloc[j], style[i])
plt.xticks(range(1, 5), xlabels, rotation = 20,fontproperties='SimHei') #坐标标签
plt.title(u'商圈类别%s' %(i+1),fontproperties='SimHei') #我们计数习惯从1开始
plt.subplots_adjust(bottom=0.15) #调整底部
plt.savefig(u'%s%s.png' %(pic_output, i+1)) #保存图片
聚类结果如下
欢迎关注交流
python数据分析的例子_Python数据分析案例—商圈客流量特征分析相关推荐
- python商业数据分析_Python数据分析案例—商圈客流量特征分析
这是 python 数据分析案例系列的第二篇,主要是聚类分析,实现起来较为简单.后续还会继续更新,欢迎关注交流! 在处理实际的数据分析案例时,我们面临的往往是比较复杂的研究对象,如果能把相似的样品(或 ...
- python pd Series 添加行_Python数据分析与挖掘的常用工具
Python语言:简要概括一下Python语言在数据分析.挖掘场景中常用特性: 列表(可以被修改),元组(不可以被修改) 字典(结构) 集合(同数学概念上的集合) 函数式编程(主要由lambda(). ...
- python数据分析实验报告_Python 数据分析入门实战
本训练营中,我们将学习怎么样使用 Python 进行数据分析.课程将从数据分析基础开始,一步步深入讲解.从 Python 的基础用法到数据分析的各种算法,并结合各种实例,讲解数据分析过程中的方方面面. ...
- 基于python的旅游系统_Python数据分析 I 全国旅游景点分析案例,哪里好玩一目了然...
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 刘亦菲的老公 PS:如有需要Python学习资料的小伙伴可以加点击下 ...
- 基于python的药店管理系统_Python实践案例:药店销售数据分析
Python中用于处理大量数据的包主要是numpy和pandas,常用于提取以及分析大量数据的有用指标.而Python只是工具,最重要的是分析者对数据的分析思维及对业务指标的理解,利用有用工具对具体数 ...
- python数据分析的例子_pandas数据分析案例:利用python进行汽车数据分析可视化实例...
最近我一在杭州做外贸生意的老表让我给他推荐一辆车,自己的宝来开了5年多,感觉不香了,这次要我给他从BBA中选一个,落地35万以内落地.我想这做生意稳重一点,35万以内差不多就是奔驰C,宝马3和奥迪A4 ...
- python结课报告_Python数据分析课程到底是学什么内容的?
2020年12月4日,博为峰旗下学掌门召开了<Python 商业(大)数据分析师>新课程发布会.据悉,此次发布会上发布的<Python 商业(大)数据分析师>课程是在原< ...
- python爬虫餐饮行业数据分析统计服_Python数据分析实战,简单快速制作餐饮行业商业化报告...
前些天有个朋友向我求救,他们公司最近要针对餐饮行业做数据分析,并为某些商家做出线上营销方案.但是他一头雾水,不知道该从哪方面下手. 我提醒他,是否先从商家的线上评价作为数据分析的入口例如美团.大众点评 ...
- python统计小说人物_Python数据分析之基情的择天记
人一生都可能无法逆天改命,但你却是要去奋斗一把 本文章主要通过最简单的共线性关系,利用gephi工具绘制择天记的人物关系图. 准备工作在网上下载<择天记>小说以及创建小说人物的txt. j ...
- python花萼长度表_Python 数据分析答疑 5:Pandas入门
8.23 第五课 Pandas入门作业 1: 使用如下代码创建 DataFrame, gdp = {"country":["United States", &q ...
最新文章
- 欧洲估值最高的5家人工智能创业公司
- HDOJ 1098 Ignatius's puzzle
- mysql安装了很久_mysql-5.7.21-winx64安装过程(整了好久原因是没关闭防火墙)
- CentOS中JAVA_HOME的环境变量设置
- 设计模式建议学习顺序
- H.264的技术优势及其在H.323系统中的应用
- pyqt5 判断lineedit是否为空_是否注意过 isEmpty 和 isBlank 区别?
- python可以做仿真吗agent_python agent应用
- 【报告分享】2021年中国新经济企业500强发展研究报告.pdf(附下载链接)
- 不得不爱开源 Wijmo jQuery 插件集(13)-【Tooltip】(附页面展示和源码)
- SDUST 作业10 Problem D 魔方阵
- 实现最小宽度的几种方法及CSS Expression
- 计算机wind10切换桌面wind7系统,win10多桌面切换的方法以及开启步骤是怎样的
- 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_22-页面查询服务端开发-Dao-基础方法测试...
- 图的应用--最短路算法
- android开发日记 ——avata项目
- Windows系统电脑常用快捷键
- Angular 入门教程系列:37:使用ng-alain快速开发
- 【haoi2009】毛毛虫
- 程序员如何避免「温水煮码农」
热门文章
- 卸载重装Netmeeting
- 史上最详细解释接口自动化测试中cookie、session和token的区别【多测师_王sir】
- win7从光盘进入修复计算机,win7光盘修复系统步骤
- PDF编辑(PDF替换指定页)---亲测实用有效!!!
- linux alsa 不创建声卡能否创建pcm设备,Linux ALSA声卡驱动之一:声卡的创建
- 最新版24H全自动在线要饭系统全开源源码
- 关于CWMP基础(一)----(TR069)
- 湖南省中职学业水平考试复习试题(计算机三)
- 直播app源码的搭建,仍有许多问题等待我们去解决
- 02-即时通讯-XMPP 简单介绍