Определение функции, которая автоматизирует создание кластерной диаграммы k-средних, принимая 3 аргумента - PullRequest
0 голосов
/ 11 января 2019

У меня есть различные строки кода для создания кластерной диаграммы k-средних. Вместо того, чтобы повторять код для различных наборов данных, я хотел создать функцию, которая автоматизирует это.

Я предполагал, что он будет работать, имея 3 аргумента - x, y и z.

Ниже то, что я получил до сих пор. Я действительно приветствую любую помощь.

Я использую Python 3 в пакетах Jupyter Notebook и Pandas, Matplotlib, sklearn.

x = выбранная корреляция (набор данных скользящего среднего - нанесен на ось x)

y = выбранное изменение индекса (набор данных оси y)

z = соответствующее подмножество (различные кадры данных, которые содержат различные комбинации x & y)

def make_cluster(x,y,z):

model = KMeans(n_clusters = 6)
model.fit(scale(z))
z.plot.scatter(x=x, y=y)

plt.xlabel('Correlation')
plt.ylabel('Daily Return')
plt.grid()
plt.title(str(x) + "Day /" + str(y) + "Daily Performance")
plt.show()

groups = z.groupby('cluster')
fig, ax = plt.subplots()
for name, group in groups:
    ax.plot(group.x, group.y, marker='o', linestyle='', label=name)

Примеры переменных x, y и z:

# Z Example
UK30 = Raw[['Cor30', 'FTSE100change']]

# X Example
Cor30 = str('Cor30')

# Y Example
FTSE100change = str('FTSE100change')

Я пытаюсь добраться до позиции, где я могу запустить функцию "make_cluster (x, y, z)", и когда она запускается, она возвращает диаграмму кластеризации для соответствующих аргументов.

Что бы ни вводили в качестве аргументов, я хотел, чтобы это было отражено в коде, где появляются соответствующие "x", "y" и "z".

Надеюсь, это имеет смысл!

...