基于距离0的分组聚类算法

时间:2018-03-13 18:35:50

标签: python machine-learning scikit-learn

为了构建一个有监督的学习模型,我每天都会对感兴趣的变量进行st.dev。我想找到每日st.dev的集群,即具有最小st.dev的第1组,具有更大的第2组等等。

聚类的结果将为CART算法提供分类标签。怀疑有4个班级。

我有一个日期为'X'的二维矩阵,以及每日st.dev'y-true'。将日期列转换为数字后:

mat.X = pd.to_numeric(mat['X']) 

在sklearn lib中使用k-means,结果如下:

kmeans = KMeans(n_clusters=3)
kmeans = kmeans.fit(mat)]
labels = kmeans.predict(mat)
plt.scatter(mat[:,0],mat[:,1], c=kmeans.labels_, cmap='rainbow')  

enter image description here

结果没有聚集Y轴的st.dev数据。这是一个很好的方法吗?是否应该将列切换为集群st.dev数据?

1 个答案:

答案 0 :(得分:1)

你说你想只在std-dev上集群,但是你在两个维度上集群,即std-dev和日期。

试试这个。

kmeans = KMeans(n_clusters=3)
kmeans = kmeans.fit(mat[:, 1])] 
labels = kmeans.predict(mat[:, 1])
plt.scatter(mat[:,0],mat[:,1], c=labels, cmap='rainbow')