У меня есть различные строки кода для создания кластерной диаграммы 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".
Надеюсь, это имеет смысл!