张量(python tensorly)

张量分解(python tensorly)

  • 前言
  • 一、使用步骤
    • 1.引入库
    • 2.张量分解
    • 3.张量重构
    • 4.评价指标
  • 总结

前言

基于python tensorly 张量分解的代码实现,主要基于Tucker decomposition, 参考链接:http://tensorly.org/stable/installation.html


一、使用步骤

1.引入库

库的安装:

pip install -U tensorly

引入库如下:

import tensorly as tl
from tensorly.decomposition import non_negative_tucker
#非负张量分解

2.张量分解

省略了数据读取部分。temp为list格式数据
代码如下(示例):

#将数据转换成张量格式
temp=tl.tensor(temp)

代码如下(示例):
张量(python tensorly)_第1张图片
张量分解

core, factors = non_negative_tucker(temp, rank=[6,3,4])

张量(python tensorly)_第2张图片
参考链接:http://tensorly.org/stable/modules/generated/tensorly.decomposition.non_negative_tucker.html

3.张量重构

根据分解得到的核心张量和因子矩阵,恢复原来的张量。
代码如下(示例):

from tensorly import tucker_to_tensor
p_temp=tucker_to_tensor((core, factors))

张量(python tensorly)_第3张图片

4.评价指标

根据评价指标判断重构张量的情况的好坏,可以考虑根据此来选择rank的取值。
代码如下(示例):

from tensorly.metrics.regression import MSE
MSE(temp,p_temp)

张量(python tensorly)_第4张图片

总结

tensorly的简单使用

你可能感兴趣的:(python,线性代数)