朋友你好,这一篇文章我将会向你介绍一个进阶的内容,那就是时间序列聚类的分析,这里我们的数据是上一篇文章中我所使用的sql数据,体测数据,
也就是这组数据。我们的目的是进行序列聚类。这里边有几个关键词。其中一个是时间序列,这个关键词毫无疑问告诉了我们这组数据的特点是时间性,另一个则是聚类,我个人以为,时间序列是指数据具有强烈的时间发展性,而聚类毫无疑问的表达了我们的目的,对于同一类数据进行聚合,也就是类型划分。
这里我使用的方法是由这个python库提供的,这里强烈推荐大家去尝试使用这个库。
from scipy.cluster.hierarchy import dendrogram,linkagez
在已经成功导入了数据之后,
data1=data1.loc[:,['date','shenGao']]
temp=data1.loc[:,['date','shenGao']]
temp=temp.groupby('date').agg(shenGao=('shenGao', 'mean'))
我们首先通过loc方法找到我们将要进行的这两个列
data1['身高']=pd.to_numeric(data1['shenGao'],errors='coerce')
这一步则是将其转化成为numeric类型
z=linkage(temp,'ward')z这一步则是使用了ward方法对于其进行连接。我们接下来会用的是
dendrogram方法,这个方法的具体使用推荐大家去看这个作品
利用 SciPy 实现层次聚类 - Haojun's Blog (haojunsui.github.io)
以上只是一个简单的思路,具体的代码由于个人能力过于垃圾,不能百分之百确定其正确性,所以在此只是提供一个思路,感谢大家。下面是结果
感谢您的观看