小编Lar*_*onn的帖子

从字典创建一个稀疏矩阵

我正在做一个学校项目,在那里我得到了一个无向图 G,并且应该在 G 中找到最小生成树。我想我会使用 Scipy 的 minimum_spanning_tree (https://docs.scipy.org/doc/scipy- 0.14.0/reference/generated/scipy.sparse.csgraph.minimum_spanning_tree.html)。但要做到这一点,我必须为它提供一个 array_like 或稀疏矩阵,二维。像这样:

x_right=
    ([[0, 2, 0],
    [2, 0, 5],
    [0, 5, 0]])
Run Code Online (Sandbox Code Playgroud)

在项目中,我应该接受一个结构如下的邻接表:

x_input=
    {'A': [('B', 2)],
     'B': [('A', 2), ('C', 5)], 
     'C': [('B', 5)]}
Run Code Online (Sandbox Code Playgroud)

试一试......有,看看 minimum_spanning_tree 是否给出了我想要的结果,我通过手动将 x_input 更改为 x_right 来运行它,我得到的输出为:

(0, 1)    2.0
(1, 2)    5.0
Run Code Online (Sandbox Code Playgroud)

这是我想要的,但我应该以与 x_input 相同的格式返回输出。

我一直在尝试各种方法(其中一种 DictVectorizer - ValueError: could not convert string to float: 'B'... 就像在其他情况下一样)很长时间,我认为是时候寻求帮助了。

因此,归根结底,您是否有关于如何从 x_input 创建适合于 minimum_spanning_tree 的矩阵的建议(以及如何将结果再次转换为 x_input 格式)。

谢谢

python dictionary matrix minimum-spanning-tree

3
推荐指数
1
解决办法
3273
查看次数

散点图按颜色将python聚类

我正在使用plotly(以便在悬停时能够获取点信息)来可视化我的聚集散点图。我在为使用KMeans生成的群集分配不同的颜色时遇到麻烦。当在matplotlib.pyplot中绘制此图形时(如plt),我使用以下代码:

plt.scatter(restult[:,0], result[:,1], c=cluster_labels
Run Code Online (Sandbox Code Playgroud)

cluster_labels为:

n_clusters = 3
km = KMeans(n_clusters).fit(result)
labels = km.labels_
Run Code Online (Sandbox Code Playgroud)

它工作正常,但是我需要鼠标悬停的信息。

这是我到目前为止所处的情节:

trace = go.Scatter(
    x = result[:,0],
    y = result[:,1],
    mode = 'markers',
    text = index, # I want to see the index of each point
)
data = [trace]

# Plot and embed in ipython notebook!
py.iplot(data, filename='basic-scatter')
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助!

cluster-computing scatter-plot python-2.7 plotly

1
推荐指数
1
解决办法
2419
查看次数