Scikit-network-11:Regression

Regression

Diffusion

介绍通过热扩散(heat diffusion)的回归任务。

from IPython.display import SVG
import numpy as np
from sknetwork.data import karate_club, painters, movie_actor
from sknetwork.regression import Diffusion
from sknetwork.visualization import svg_graph, svg_digraph, svg_bigraph

graph = karate_club(metadata=True)
adjacency = graph.adjacency
position = graph.position
labels_true = graph.labels
labels_true

# heat diffusion
diffusion = Diffusion()
seeds = {0: 0, 33: 1}
values = diffusion.fit_transform(adjacency, seeds)
values

image = svg_graph(adjacency, position, scores=values, seeds=seeds)
SVG(image)

在这里插入图片描述

有向图

graph = painters(metadata=True)
adjacency = graph.adjacency
position = graph.position
names = graph.names

picasso = 0
manet = 3

diffusion = Diffusion()
seeds = {picasso: 1, manet: 1}
values = diffusion.fit_transform(adjacency, seeds, init=0)
values

image = svg_digraph(adjacency, position, names, scores=values, seeds=seeds)
SVG(image)

在这里插入图片描述

二部图

graph = movie_actor(metadata=True)
biadjacency = graph.biadjacency
names_row = graph.names_row
names_col = graph.names_col

drive = 3
aviator = 9

diffusion = Diffusion()
seeds_row = {drive: 0, aviator: 1}
diffusion.fit(biadjacency, seeds_row=seeds_row)
values_row = diffusion.values_row_
values_col = diffusion.values_col_

image = svg_bigraph(biadjacency, names_row, names_col, scores_row=values_row, scores_col=values_col,
                    seeds_row=seeds_row)
SVG(image)

在这里插入图片描述

# 由于种子在电影中,需要偶数迭代才能获得电影的非平凡排名,这是由于图的两分结构所致。
# changing the number of iterations
diffusion = Diffusion(n_iter=4)
seeds_row = {drive: 0, aviator: 1}
diffusion.fit(biadjacency, seeds_row=seeds_row)
values_row = diffusion.values_row_
values_col = diffusion.values_col_

image = svg_bigraph(biadjacency, names_row, names_col, scores_row=values_row, scores_col=values_col,
                    seeds_row=seeds_row)
SVG(image)

在这里插入图片描述


Dirichlet

介绍基于受限的heat diffusion的 Dirichlet 问题的回归任务。

from IPython.display import SVG
import numpy as np
from sknetwork.data import karate_club, painters, movie_actor
from sknetwork.regression import Dirichlet
from sknetwork.visualization import svg_graph, svg_digraph, svg_bigraph

graph = karate_club(metadata=True)
adjacency = graph.adjacency
position = graph.position
labels_true = graph.labels
labels_true

# heat diffusion
dirichlet = Dirichlet()
seeds = {0: 0, 33: 1}
values = dirichlet.fit_transform(adjacency, seeds)

image = svg_graph(adjacency, position, scores=values, seeds=seeds)
SVG(image)

在这里插入图片描述

有向图

graph = painters(metadata=True)
adjacency = graph.adjacency
position = graph.position
names = graph.names

picasso = 0
monet = 1

dirichlet = Dirichlet()
seeds = {picasso: 0, monet: 1}
values = dirichlet.fit_transform(adjacency, seeds)

image = svg_digraph(adjacency, position, names, scores=values, seeds=seeds)
SVG(image)

在这里插入图片描述

二部图

graph = movie_actor(metadata=True)
biadjacency = graph.biadjacency
names_row = graph.names_row
names_col = graph.names_col

dirichlet = Dirichlet()

drive = 3
aviator = 9

seeds_row = {drive: 0, aviator: 1}
dirichlet.fit(biadjacency, seeds_row)
values_row = dirichlet.values_row_
values_col = dirichlet.values_col_

image = svg_bigraph(biadjacency, names_row, names_col, scores_row=values_row, scores_col=values_col,
                    seeds_row=seeds_row)
SVG(image)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

uncle_ll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值