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数据分析工具
Numpy Python没有提供数组功能,虽然列表可以完成基本的数组功能,但他不是真正的数组.Numpy内置函数处理速度是c语言级别,因此尽量使用内置函数,避免出现效率瓶颈的现象. Numpy的安装: ...
- python酒店数据分析_Python数据分析 I 全国旅游景点分析案例,哪里好玩一目了然...
原标题:Python数据分析 I 全国旅游景点分析案例,哪里好玩一目了然 前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作 ...
- python医药数据分析_Python数据分析案例-药品数据分析案例
最近学习了python数据分析的一些基础知识,有numpy,pandas,matplotlib等,找了一个药品数据分析的小项目练一下手. 数据分析的步骤一般可以分为6个: 1,明确分析的目的 2,数据 ...
- python炒股模块_Python数据分析-numpy模块、pandas模块.基本操作、股票案例
索引操作和列表同理 arr = np.random.randint(0,100,size=(5,6)) arr array([[14, 89, 71, 96, 1, 94], [30, 98, 10, ...
- python什么是数据分析_python数据分析是什么
Q1:Python在数据分析方面有什么独特优势 python最大的优势在于学习门槛低,语法灵活. python也有很多开源成熟的科学计算机库,比如:Numpy,Scipy,Pandas 而且上面说的这 ...
- python练手_Python数据分析练手项目
最近,我在阿里天池大数据竞赛中发现了一些练手的项目,例如,用Python"画月饼过云上中秋",虽然中秋已经过去了,但还是好奇Python是怎么画出月饼的? 先上图↓ 火龙果馅的月饼 ...
- python统计分析书籍_Python数据分析入门书籍推荐
在当下这个数据驱动的时代,毫不夸张的说各行各业的商业决策和运营管理都离不开数据分析,因此数据分析已经成为当前每个人的必备技能和加分项.对于许多初学者来讲,想要入门Python数据分析常常不知道从何下手 ...
- python 卡方分布值_python数据分析探索变量之间的关系
探索变量之间的关系 引言 深入探索分析数据价值有几个重要步骤:①变量的分布检验,②探索变量间的关系,③建立关系模型,④评估,⑤总结结论与建议.接下来看看数据分析的重要一环–「探索变量间的关系」. 1 ...
- python预测药_Python数据分析实例-药品销售分析
学习了Python的各种基础语法和常用包后,你是否对如何使用Python在实际工作中进行数据分析一头雾水?如果是,今天这篇文章一定能带给你一些用数据分析解决实际问题的思路. 数据分析的目的决定了你的分 ...
最新文章
- 查看CentOS的网络带宽出口
- javascript常用的事件
- Java 守护线程概述
- 细说Vue作用域插槽,匹配应用场景。
- 春节礼品:iPhone 11 抱回家
- 个人计算机和家用计算机,航空百问:飞机电脑和个人电脑有什么不同
- oracle数据库的医院信息系统数据库升级方案,医院信息系统数据库从Oracle8i到10gR2升级的实现...
- 在React中处理事件
- python如何提高程序可读性_提高Python的可读性?
- Java 方法使用总结(重载、数组输出、enum和switch、foreach和迭代器、可变长度参数、重载中使用可变长度参数)
- 前端学java还是python_零基础应该选择学习 java、php、前端 还是 python?
- 6. C 语言预处理
- Hyper-V云解决方案-IT产业新变革
- Arch Linux下 让MPlayer用上CoreAVC1.7.0.0解码器
- ipv6的127位掩码如何表示_详解IP地址、子网掩码、网络号、主机号、网络地址、主机地址...
- 前端组件化埋点方案与实现
- Mybatis使用choose when
- 数据分析之Excel的基本功能(下)
- python积木式编程_实例讲解python函数式编程
- Unity [hold on busy for 老长长时间的解决方法]