0

Я хочу сделать кластер данных, состоящих из имен объектов, x_coordinate, y_coordinate и соответствующей температуры. Пытается использовать алгоритм средней квадратичной кластеризации для кластеризации соседнего объекта в соответствии с местоположением и близлежащей температурой, то есть идентифицировать горячие и холодные области. Ниже приведены код и небольшие данные образца. но он дает только один кластер по умолчанию, но не может отображать график. Я хотел бы знать, что может быть неправильно в следующем коде:средний алгоритм сдвига для кластеризации пользовательских данных, состоящий из 3-4 функций

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() 

data.csv:

имя, x_cordinate, y_cordinate, температура
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

ответ

0

estimate_bandwidth нужен аргумент (ваши данные). Выполняется ли этот код?

В любом случае ... когда это происходит со мной, я даю более мелкие значения параметра quantile для estimate_bandwidth, чем значение по умолчанию 0,3 (и передайте эту оценку пропускной способности в конструктор MeanShift!).

Вы также можете узнать хорошую пропускную способность a-priori и лучше всего использовать это, если хотите.

+0

Да, я также пробовал со значениями по умолчанию и менял значение как 0,5, он работал приблизительно 20 часов и дал только один кластер – Harshad

+0

, как насчет размещения кода и данных, которые вы фактически используете? приведенный выше код не запускается из-за синтаксической ошибки, не запускается с синтаксической ошибкой, так как rate_bandwidth работает партиями из 500 элементов (вы предоставили 9) и не запускается после предоставления правдоподобной полосы пропускания непосредственно конструктору MeanShift (1.5e6) из-за ошибочного столбца в части отображения кода. Я испугался энтузиазма, или я хотел бы указать, что ваши данные сильно масштабируются (x и y vs temp scale), которые будут использоваться непосредственно в методе расстояний, таком как meanhift или kmeans. – welch

+0

относительно файла данных слишком большой, чтобы поделиться, если вы предоставите ваш адрес электронной почты или облачный идентификатор репозитория или другими способами, которыми я могу поделиться. в отношении данных kmeans может быть сгруппировано с n числом кластеров, но я также пытаюсь найти точную разницу кластеров с помощью алгоритма среднего сдвига, kmean и плотности – Harshad

 Смежные вопросы

  • Нет связанных вопросов^_^