【问题标题】:mean shift algorithm for clustering user defined data consisting 3-4 features用于对包含 3-4 个特征的用户定义数据进行聚类的均值偏移算法
【发布时间】:2017-01-03 18:25:21
【问题描述】:

我想对包含对象名称、x_coordinate、y_coordinate 和相应温度的数据进行聚类。尝试根据位置和附近温度对附近物体进行聚类的均方聚类算法,即识别冷热区域。以下是代码和小样本数据。但它在默认设置下仅提供单个集群,但无法显示图形。我想知道以下代码可能有什么问题:

import numpy as np  
from mpl_toolkits.mplot3d import Axes3D  
import pandas as pd  
from sklearn.decomposition import PCA    
from sklearn.cluster import MeanShift, estimate_bandwidth  
import matplotlib.pyplot as plt  
from itertools import cycle  

data = pd.read_csv("data.csv")

centers = [[1, 1, 1], [0,0,0], [0,0,0]]  
X= data._get_numeric_data()  
bandwidth = estimate_bandwidth()  

ms = MeanShift()  
ms.fit(X)  
labels = ms.labels_  
cluster_centers = ms.cluster_centers_  

print labels  
print cluster_centers  

fig = plt.figure()  
ax = plt.axes(projection='3d')  
x = data['x_cordinate']  
y=data['y_cordinate']  
z=data['tpa']  
c=labels  
ax.scatter(x,y,z, c=c)  
plt.show()  

数据.csv:

名称、x_坐标、y_坐标、温度
ctrs3,5189200,6859000,0.3998434286
ctrs4,5173360,6812800,0.4779542857
ctrs5,5660440,6812800,0.7044195918
Cstrs3,1935400,5929720,0
Cstrs4,1953880,5929720,0
Cstrs5,491320,2689120,0
Cltrs3,3436240,5884840,0.3998434286
Cltrs4,3296320,5884840,0.4779542857
Cltrs5,5426800,5725120,0.7044195918

【问题讨论】:

    标签: python machine-learning scikit-learn pattern-recognition mean-shift


    【解决方案1】:

    estimate_bandwidth 需要一个参数(您的数据)。这段代码能运行吗?

    无论如何...当这种情况发生在我身上时,我为estimate_bandwidth 提供的quantile 参数值小于默认值0.3(并将该带宽估计值传递给MeanShift 构造函数!)。

    您也可能事先知道良好的带宽,如果您知道,最好使用它。

    【讨论】:

    • 是的,我也尝试了使用默认值并将值更改为 0.5 ,它运行了大约 20 个小时并且只提供了一个集群
    • 发布您实际使用的代码和数据怎么样?上面的代码由于语法错误而无法运行,在修复语法错误的情况下无法运行,因为estimate_bandwidth 以 500 个项目的批次工作(您提供了 9 个),并且在直接向 MeanShift 构造函数提供合理带宽后无法运行(1.5e6) 因为代码的显示部分中的列名称错误。我已经失去了热情,或者我会指出您的数据缩放比例很差(x 和 y 与温度比例),无法直接用于距离方法,如 meanshift 或 kmeans
    • 关于数据文件太大太共享,如果您提供您的电子邮件或云存储库 ID 或通过任何其他方式我可以共享它。关于 kmeans 数据可以用 n 个簇进行聚类,但我也试图借助均值偏移、kmean 和基于密度的算法找到簇的确切差异
    猜你喜欢
    • 1970-01-01
    • 2014-08-17
    • 2017-12-08
    • 1970-01-01
    • 2019-09-15
    • 2014-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多