为了构建监督学习模型,我每天都对感兴趣的变量进行 st.dev 处理。我想找到每日 st.dev 的集群,即 st.dev 最小的组 1,较大的组 2,等等。
聚类的结果将为 CART 算法提供分类标签。怀疑有4个类。
我有一个二维矩阵,其中日期为“X”,每日 st.dev 为“y-true”。将日期列转换为数字后:
mat.X = pd.to_numeric(mat['X'])
在 sklearn 库中使用 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')
结果没有对Y轴的st.dev数据进行聚类。这是一个好的方法论吗?是否应该切换列以对 st.dev 数据进行聚类?
最佳答案
您说您只想在 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')
关于python - 根据距0的y距离进行分组的聚类算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49263518/