0

我有各种代码行来生成 k-means 聚类图。我不想为各种不同的数据集重复代码,而是想创建一个自动执行此操作的函数。

我设想它通过 3 个参数来工作 - x、y 和 z。

以下是我到目前为止所得到的。我真的很欢迎任何帮助。

我在 Jupyter Notebook 和 Pandas、Matplotlib、sklearn 包中使用 Python 3。

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”的代码中反映出来。

希望这是有道理的!

4

0 回答 0