精华内容
下载资源
问答
  • 2022-05-30 16:24:57

    常见的文本分类任务中类目之间通常是正交的,即不存在包含关系。而层次分类则是一类特殊的文本分类任务,即类目之间存在层次结构关系,一般可以表示为树形或者无向图。在这类任务中,一条样本的标签会同时包括层次结构中的父类和子类目。更复杂的情况下,一条样本会同时包含层次结构中多条路径,这类任务则称为层次多标签任务(HMC,Hierarchical Multi-Classification), 也是本文主要讲述的内容。

    层次多标签分类的常用的方法主要分为两类,Local(局部方法)和global(全部方法),区别在于从不同的角度利用层次结构信息。

    (1) Local方法通过学习不同层类目和文本之间的关系,并聚合不同层的预测结果来得到最终的预测结果。这类方法通常由多个分类模块组成,例如自顶向下的层次分类,在每个非叶子节点都有一个局部分类器,在预测时根据父类目的预测结果来预测最终的子类目;基于Local的方法能够利用更细粒度的层级信息,但往往需要构建多个分类模块,同时也容易受到误差传播的影响。

    (2) Global方法通常由一个分类模块构成,直接利用层级结构信息来建模。例如利用层次结构来构造递归正则化损失项来对分类参数进行约束。基于Global方法更简单,但往往无法在学习文本语义表示中利用到细粒度的层级信息,导致模型学习效果交叉,容易欠拟合。

    通过对Local和Global方法进行扬长避短,文章提出了一种混合Local和Global方法的思路来解决层次多标签分类问题,相应的模型结构称为HMCN,包括两个变种子结构HMCN-F和HMCN-R,两种子网络结构由多个局部输出层(对应层次结构每一层)和一个全局的输出层组成。每一个局部输出层对应的损失函数能够迫使相应包含相应粒度的监督信息的梯度传递到对应层,同时全局的输出层的损失函数能够按照层次结构更新全局的模型参数,此外,文章还引入了一个基于层次结构惩罚项来约束模型预测。

    更多相关内容
  • 多标签视频数据集的髙标注成本和对视频内容的多角度理解是该研究领域面临的主要问题弹幕是一种新近出现的用户评论形式,受到了众多用户的欢迎。由于用户参与度高,弹幕视频网站的视频拥有大量用户自发添加的标签,...
  • 总体来讲,Graphlan是一个可视化进化树和基于分类等级绘制层级分类树的工具。可以制作分类树是它不同于R包ggtree和iTOL的地方。然就进化树而言,iTOL功能最为全面,ggtree最容易上手,从功能上来讲graphlan很地方...

    Graphlan可视化进化树

    撰文:文涛 南京农业的大学

    责编:刘永鑫 中科院遗传发育所

    GraPhlAn简介

    总体来讲,Graphlan是一个可视化进化树和基于分类等级绘制层级分类树的工具。可以制作分类树是它不同于R包ggtree和iTOL的地方。然就进化树而言,iTOL功能最为全面,ggtree最容易上手,从功能上来讲graphlan很多地方不如iTOL,比如,iTOL无限制添加的数据集,外环可以制作各种图形包括箱线图等,可以使用多种符号填充外环,但是Graphlan就不能这么随便了,只能使用两个符号填充外环。再多的环属性也就是设置环数量和颜色,透明度了。ggtree最容易上手,但是就一张圈图来说,它不能添加除了热图以外的其他图形,但是在非圈图的模式下,可以对多种数据进行合并,方法将更为简单,操作也容易一些。

    素颜vs美化

    image

    下面通过我们的实战,将这个原始的图形通过graphlan大法,改变到下面的样子

    image

    image

    image

    完全认不出来了吧,这就是美颜的重要性。

    认识软件参数

    参数虽多,你也不需要记住,只要认识即可,而且都是字面意思,懂英文看一遍全懂了,需要时可以来查。大多时间我们是在别人基础上修改,能看懂代码即可。

    熟悉grahlan注释参数-全局参数,
    一般全局参数使用方式为:参数名 + 参数值

    分支控制,一般不做控制

    branch_bracket_depth 	0##控制一个分支块的聚集程度,值越大,树枝越集中
    branch_bracket_width 0	0###控制一个分支点延伸出来的分支线的长度,设定大了会反向延长超多分支点。
    annotation_background_alpha :只能设置全部的阴影的透明度
    

    组合命令控制注释阴影的半径

    一下两个指标设置为负值,且两者均设置为-0.7,会大大减小注阴影半径

    annotation_background_separation -0.40
    annotation_background_offset -0.34
    

    一般全局参数

    title:设置图片题目
    title_font_size:60 题目字体大小
    total_plotted_degrees 350:这个设置整个圆圈的展看角度,不会设置超过360度,一般设置一个比360度小一点的值是为了添加标签使用(例如:对环添加标签ring_label)。
    start_rotation 270:对圆圈图进行旋转的起始位置;注意图形下方为270°,左方为0°。
    class_legend_font_size 图例大小设置
    ## 全局注释
    annotation_background_alpha 0.02:全部注释背景透明度;
    annotation_background_width 0.03 注释背景宽度
    annotation_font_size:设置注释字体大小
    annotation_legend_font_size 设置图上容不下时,代表字母的对应注释的字体大小
    
    
    branch_thickness:全局树枝的粗细设置
    branch_color  :设置全局树枝颜色
    ignore_branch_len 10:控制全局树伸展和大小
    clade_marker_size:全局的点的尺寸
    clade_marker_edge_width:全局的点的边缘宽度
    clade_separation	0.5  进化树分枝簇的紧凑程度
    
    
    ring_internal_separator_thickness 0.01  设置环与环之间的厚度
    ring_separator_color :设置环间隔的颜色,结合厚度设置选项增多
    
    ring_width:设置在这个环上每个点所占有的宽度;
    ring_height:设置环与环之间的距离,默认环与环之间的距离为1;
    ring_shape:对分类树外面每层的空间设置形状填充,有不多的中形状可以选择。v:正v字型;^:v字型;
    ring_alpha 0.01:这是对每个叶节点占据的位置不透明度,最大值为1。值越高颜色越深,当然需要结合设置颜色ring_color
    ring_color:每条环的颜色
    

    设置全局的环参数,必须建立在叶节点对应的shape上,不可只设置全局参数,尤其是全局ring color,仅仅设置该参数是无法进行全环上色的。默认节点shape是R,也就是整个叶节点对应的方块。

    节点基本参数

    节点参数使用方式: 节点名称 + 参数名称 + 参数值

    #节点基本参数
    clade_marker_size	节点的大小,从1到200都可以设置
    clade_marker_color:颜色:默认无色,r:红色;b:蓝色(基本为颜色首字母)
    clade_marker_shape:形状:默认圆形,*:代表五角星,h:代表六边形
    clade_marker_label:设置点内部写一个标签,后面跟上标签内容
    clade_marker_font_color:设置点内标签的字体颜色
    clade_marker_edge_color	#555555  控制节点的颜色
    clade_marker_edge_width	1.2#节点的边的宽度
    

    节点对应的形状

    这些标签有我们熟悉的点,圈,各个方向的三角,五边形,五角星,钻石等。具体符号和对应名称如下:

    '.' : point marker	
    ',' : pixel marker	
    'o' : circle marker	
    v' : triangle_down marker	
    '^' : triangle_up marker	
    '<' : triangle_left marker	
    '>' : triangle_right marker	
    '1' : tri_down marker	
    '2' : tri_up marker	
    '3' : tri_left marker	
    '4' : tri_right marker	
    's' : square marker	
    'p' : pentagon marker	
    '*' : star marker
    'h' : hexagon1 marker	
    'H' : hexagon2 marker	
    '+' : plus marker	
    'x' : x marker	
    'D' : diamond marker	
    'd' : thin_diamond marker	
    '|' : vline marker	
    '_' : hline marker	
    

    节点注释

    #节点注释
    annotation_background_color
    annotation_background_alpha 0.02:注释背景透明度;
    annotation_background_width 0.03 注释背景宽度
    annotation_font_size:设置注释字体大小
    annotation_legend_font_size设置图上容不下,设置成代表字母的对应注释的注释字体大小
    

    枝条参数

    branch_thickness 枝条的厚度
    branch_color 枝条颜色
    branch_color_from_ancestor:使用上级分支的颜色
    

    环参数

    ring_internal_separator_thickness 0.01  设置环与环之间的厚度
    ring_separator_color :设置环间隔的颜色,结合厚度设置选项增多
    
    ring_width:设置在这个环上每个点所占有的宽度;
    ring_heigh:设置环与环之间的距离,默认环与环之间的距离为1;
    ring_shape:对分类树外面每层的空间设置形状填充,有不多的形状可以选择。v:正v字型;^:^字型;
    ring_alpha 0.01:这是对每个叶节点占据的位置不透明度,最大值为1。值越高颜色越深,当然需要结合设置颜色ring_color
    ring_color:每条环的颜色
    

    进化树实战

    使用材料

    1. 我们使用已经做好的16s序列构建的进化树(由Fastree生成,一般为rep_set.tree)
    2. 对应OTU的丰度表格和注释文件,分别为otu_table.txt和rep_seqs_tax.txt,有时可能两者存于同一文件内;
    3. 实验设计,即样本对应属性,如分组信息(可选)。

    分析要求

    1. 做一张进化树,并将不同门的OTU节点标注不同的颜色和形状
    2. 对不同的门的OTU添加不同颜色的阴影(低透明度颜值高)。
    3. 根据每个样品的OTU丰度使用不同颜色,添加外环。
    4. 全部样品分为两个组,根据OTU在两个组中的丰度信息添加不同的标签环
    5. 进行差异分析,添加外环对差异OTU根据其分组进行上色并标注。
    6. 将OTU总体丰度通过最外环高度展示出来。

    构建OTU丰度和物种文件说明

    上面我们见过软件的参数,每个节点都要注释,如果手动搞,可能真要3天至半个月画个美颜树。只要是批量操作且有规律,我们就可以用编程来实现。

    使用R语言构造注释文件,这里我们明确,基于GraPhlAn的注释文件按照注释占有列数量我分为一下三个部分:

    1. 占两列的注释:题目,全局参数,例如,全局点和枝参数
    2. 占三列注释:叶,枝参数,全局环参数。图例参数
    3. 占四列参数:环参数

    由于注释文件编写耗费很大时间,Excel适合编写的也仅仅只有占两列的数据,和总环的参数。这部分编写完成之后每次绘图基本只根据不同的实验,会小范围修改。参考模板:annot1.txt

    首先根据之前要求,准备要处理文件

    并确定工作目录包括所需的OTU表、物种注释、实验设计等文件,文件名与代码中不对应请自行修改。

    测试数据和代码下载链接,后台回复“graphlan”获取

    准备需要展示的数据

    OTU表和实验设计的读取、交叉筛选和标准化

    # 读取OTU表
    otu = read.table("otu_table.txt", sep="\t",row.names= 1,header=T, check.names=F)
    head(otu)
    # 读入实验设计
    design = read.table("metadata.txt", header=T, row.names= 1, sep="\t") 
    head(design, n=12L)
    # 交叉筛选,保持实验设计和OTU中样本对应
    idx = rownames(design) %in% colnames(otu) 
    sub_design = design[idx,]
    # 过滤OTU表
    OTU = otu[,rownames(design)]
    head(OTU)
    OTU = as.matrix(OTU)
    
    # 原始reads count表标准化
    norm = t(t(OTU)/colSums(OTU,na=T)) #* 100 可 normalization to total 100
    # 转置并转换为数据框
    library(dplyr)
    norm1 = norm %>% t() %>% as.data.frame()
    norm1[1:3,1:3]
    

    计算分组均值

    # 数据分组计算平均值
    otutab.split = split(norm1,as.factor(sub_design$SampleType_RS))
    otutab.apply = lapply(otutab.split,function(x)colSums(x))
    norm2 = do.call(rbind,otutab.apply) %>% t() 
    
    # OTU表后面添加分组均值
    OTU_all= cbind(as.data.frame(norm),norm2)
    head(OTU_all)
    

    追加物种注释

    # 读取OTU对应的物种注释
    # 9列,分别为ID,界门纲目科属种和置信度
    tax = read.delim("rep_seqs_tax.txt", sep="\t",row.names= 1,header=F, check.names=F)
    # 只保留物种7级分类
    tax = tax[1:7]
    head(tax)
    # 添加分类级列名:界门纲目科属种
    colnames(tax) =c("kingdom","phylum","class","order","family","genus","species")
    
    # OTU表再添加物种注释
    index = merge(OTU_all,tax, by="row.names",all=F)
    row.names(index) = index$Row.names
    index$Row.names = NULL
    head(index)
    

    上面,我们制作OTU对应丰度、平均丰度和物种注释的数据

    映射丰度至颜色

    # 设定颜色梯度,橙-白-绿三色过滤
    colorg = colorRampPalette(c( "#D95F02", "white","#1B9E77"))(12)
    # 通用绘图缩放方法 Generic plot scaling methods
    library("scales")
    # 显示颜色和对应16进制RGB代码
    show_col(colorg)
    
    # 建立12种颜色的数据框
    c = data.frame(id = c(1:12),col = colorg)
    # 提取前面OTU中12个样品的丰度部分
    a = index[1:12]
    
    for(i in 1:nrow(a)){
        a[i,1:12] = match(colnames(a[i,1:12]), colnames(sort(a[i,1:12])))
      }
    # 填充颜色:替换丰度顺序为对应的颜色 
    for(i in 1:nrow(a)){
      aa = a[i,]
      aa = as.data.frame(aa)
      colnames(aa) = aa[1,]
      ccc =t(c[colnames(aa),]) 
      a[i,] = ccc[2,]
      }
    head(a)
    out = cbind(index,a)
    head(out)
    

    映射分组为开关

    ##组比对映射形状
    HH = c(rep("A",nrow(out)))
    LL = c(rep("A",nrow(out)))
    # 两组比较,大的标为v,小的为空
    for(i in 1:nrow(out)){
      if(out[i,13] > out[i,14]){
        HH[i] ="v"
        LL[i] =" "
      }else if(out[i,13] == out[i,14]){
          HH[i] =" "
          LL[i] =" "
        }else if(out[i,13] < out[i,14]){
          HH[i] =" "
          LL[i] ="^"
        }
     }
    # 继续追加至表末
    out2 = cbind(out,HH,LL)
    head(out2)
    

    差异分析

    ###下一步添加差异分析结果
    # 安装bioconductor包安装工具
    # if (!requireNamespace("BiocManager", quietly = TRUE))
    #     install.packages("BiocManager")
    # 安装差异比较包DESeq2
    # BiocManager::install("DESeq2", version = "3.8")
    # BiocManager::install("GenomeInfoDb", version = "3.8")
    # BiocManager::install("S4Vctors", version = "3.8")
    library(DESeq2)
    library(limma)
    # BiocManager::install("pasilla", version = "3.8")
    library(pasilla)
    # library(DESeq)
    head(OTU )
    count = OTU
    count=as.matrix(count)
    
    #######首先比较发病和健康中的差异#############
    # 读入矩阵和实验设计,指定分类
    dds = DESeqDataSetFromMatrix(countData = count,
                                  colData = sub_design,
                                  design = ~ SampleType_RS)
    
    dds2 = DESeq(dds)  
    
    ##第二步,标准化
    resultsNames(dds2)
    # 将结果用results()函数来获取,赋值给res变量
    res =  results(dds2, contrast=c("SampleType_RS","BL", "BH"),alpha=0.05)
    # summary一下,看一下结果的概要信息
    summary(res)
    # 按校正P值和差异倍数,添加颜色
    res$level = as.factor(ifelse(res$padj < 0.05 & res$log2FoldChange > 1, "#D95F02",ifelse(res$padj < 0.05 & res$log2FoldChange < -1, "#1B9E77"," ")))
    head(res)
    # 提取筛选的显著差异,添加至otu表
    res1 = as.data.frame(res[ncol(res)])
    OTU_TAX_all =  merge(out2,res1, by="row.names",all=F)
    head(OTU_TAX_all)
    dim(OTU_TAX_all)
    row.names(OTU_TAX_all) = OTU_TAX_all$Row.names
    OTU_TAX_all$Row.names = NULL
    

    构建三列注释文件,主要是节点注释

    ##构建进化树节点属性注释文件
    # head(OTU_TAX_all)
    pcol = c(rep("A",nrow(OTU_TAX_all)))
    psha = c(rep("A",nrow(OTU_TAX_all)))
    # 按门水平手动设置颜色和形状
    for(i in 1:nrow(OTU_TAX_all)){
      if(OTU_TAX_all[i,16] == "p__Acidobacteria"){
        pcol[i] ="#B0171F"
        psha[i] ="*"
      }else if(OTU_TAX_all[i,16] == "p__Proteobacteria"){
        pcol[i] ="#D15FEE"
        psha[i] ="o"
      }else if(OTU_TAX_all[i,16] == "p__Acidobacteria"){
        pcol[i] ="#B0171F"
        psha[i] ="*"
      }else if(OTU_TAX_all[i,16] == "p__Verrucomicrobia"){
        pcol[i] ="#00CD00"
        psha[i] ="*"
      }else if(OTU_TAX_all[i,16] == "p__Cyanobacteria"){
        pcol[i] ="#87CEFA"
        psha[i] ="*"
      }else if(OTU_TAX_all[i,16] == "p__Actinobacteria"){
        pcol[i] ="#FEC80A"
        psha[i] ="*"
      }else if(OTU_TAX_all[i,16] == "p__Bacteroidetes"){
        pcol[i] ="#EE6A50"
        psha[i] ="*"
      }else if(OTU_TAX_all[i,16] == "p__Chloroflexi"){
        pcol[i] ="#7B68EE"
        psha[i] ="D"
      }else if(OTU_TAX_all[i,16] == "p__Gemmatimonadetes"){
        pcol[i] ="#9ACD32"
        psha[i] ="*"
      }else if(OTU_TAX_all[i,16] == "p__Firmicutes"){
        pcol[i] ="#8DEEEE"
        psha[i] ="*"
      }else {
        pcol[i] ="#006400"
        psha[i] ="*"
      }
    }
    # OTUID对应物种颜色形状数据框
    ano4 = cbind(row.names(OTU_TAX_all),pcol,psha)
    # head(ano4)
    ano4 = as.data.frame(ano4)
    

    生成三列的graphlan要求结点注释文件

    # 节点颜色映射
    ste1 = data.frame(a = ano4$V1,b = c(rep("clade_marker_color",nrow(OTU_TAX_all))),c = ano4$pcol)
    head(ste1)
    # 节点形状映射
    ste2 = data.frame(a = ano4$V1,b = c(rep("clade_marker_shape",nrow(OTU_TAX_all))),c = ano4$psha)
    head(ste2)
    # 节点阴影映射颜色,同节点颜色 
    ste3 = data.frame(a = ano4$V1,b = c(rep("annotation_background_color",nrow(OTU_TAX_all))),c = ano4$pcol)
    head(ste3)
    # 注释透明度,淡色,如0.1透明
    ste4 = data.frame(a = ano4$V1,b = c(rep("annotation_background_alpha",nrow(OTU_TAX_all))),c = c(rep(0.1,nrow(OTU_TAX_all))))
    head(ste4)
    ste4$c = as.factor(ste4$c)
    # 节点大小,这里统一写10,LEfSe中按丰度大小变化 
    ste5 = data.frame(a = ano4$V1,b = c(rep("clade_marker_size",nrow(OTU_TAX_all))),c = c(rep(10,nrow(OTU_TAX_all))))
    head(ste5)
    ste5$c = as.factor(ste5$c)
    
    # 保存文件
    ste_all = rbind(ste1,ste2,ste3,ste4,ste5)
    head(ste_all)
    # 保存统计结果,有waring正常
    write.table(ste_all, "annot2.txt", append = F, quote = F, sep="\t", eol = "\n", na = "NA", dec = ".", row.names = F, col.names = F)
    

    构建四列注释文件,主要是环注释

    # 构建单样品丰度映射文件,共12列
    # 提取之前按丰度构建的颜色矩阵
    anno1 = OTU_TAX_all[22:33]
    head(anno1)
    # 设置样本对应环编号
    colnames(anno1 ) = c(1:3,7:12,4:6)
    anno1$id = row.names(anno1)
    library("reshape2")
    # 构建3列文件,ID,环编号,对应颜色
    anno11 = melt(anno1,id.vars = "id",variable.name = "ring",value.name = "color")
    # 添加第4列,类型
    anno11$ringcolor = c(rep("ring_color",nrow(anno11)))
    # 调整列的序列,前两列为ID和类型,其它在后面
    anno11 = select(anno11,id,ringcolor,everything())
    head(anno11)
    
    ##构建平均丰度标志映射文件
    anno2 = data.frame(OTU_TAX_all$LL,OTU_TAX_all$HH,row.names = row.names(OTU_TAX_all))
    head(anno2)
    # 位置为13/14圈
    colnames(anno2 ) = c(13,14)
    anno2$id = row.names(anno2)
    anno22 = melt(anno2,id.vars = "id",variable.name = "ring",value.name = "shape")
    anno22$ringshape = c(rep("ring_shape",nrow(anno22)))
    anno22 = select(anno22,id,ringshape,everything())
    # 只保留有差异,即有形状标记的行
    anno222 = anno22[anno22$shape %in% c("^","v"),]
    head(anno222)
    
    ##构建差异分析颜色标记文件
    anno3 = data.frame(id = row.names(OTU_TAX_all),
                       ringcolor = c(rep("ring_color",nrow(OTU_TAX_all))),
                       ring =c(rep(15,nrow(OTU_TAX_all))),color = OTU_TAX_all$level )
    anno3$ring = as.factor(anno3$ring)
    head(anno3)
    anno33 = anno3[anno3$color %in% c("#D95F02","#1B9E77"),]
    
    # 合并1,3批的颜色注释
    head(anno11);dim(anno11)
    ann_all = rbind(anno11,anno33)
    # 第二批为形状,需改列名再合并
    colnames(anno222) = colnames(ann_all)
    ann_all2 = rbind(ann_all,anno222)
    head(ann_all2)
    
    # 添加物种丰度总体特征
    # 计算所有样品的均值
    norm$mean = apply(norm,1,mean)
    head(norm)
    # 计算平方根,标准化数据更均匀
    norm$mean = sqrt(norm$mean)
    norm$mean = sqrt(norm$mean)
    
    # 第16列行高度展示丰度的4次方根
    ste6 = data.frame(a = ano4$V1,b = c(rep("ring_height",nrow(OTU_TAX_all))),c = c(rep(16,nrow(OTU_TAX_all))),d = norm$mean)
    head(ste6)
    ste6$c = as.factor(ste6$c)
    
    # 统一列名,并合并
    colnames(ste6) = colnames(ann_all2)
    ann_all3 = rbind(ann_all2,ste6)
    head(ann_all3)
    # 保存文件
    write.table(ann_all3, "annot3.txt", append = F, quote = F, sep="\t", eol = "\n", na = "NA", dec = ".", row.names = F, col.names = F)
    
    

    总体环修饰 指标可以保存基本小修即可

    title	Metagenomic	
    title_font_size	12	
    total_plotted_degrees	350	
    start_rotation	270	
    branch_bracket_depth	0	
    branch_bracket_width	0	
    branch_color	g	
    branch_thickness	0.5	
    ignore_branch_len	0	
    clade_marker_size	0.6	
    clade_marker_edge_width	0.35	
    class_legend_font_size	9	
    annotation_background_separation	-0.4	
    annotation_background_offset	-0.33	
    annotation_background_width	0.03	
    annotation_background_alpha	0.01	
    annotation_font_size	8	
    annotation_legend_font_size	9	
    ring_internal_separator_thickness	1	0.3
    ring_internal_separator_thickness	2	0.3
    ring_internal_separator_thickness	3	0.1
    ring_internal_separator_thickness	4	0.1
    ring_internal_separator_thickness	5	0.1
    ring_internal_separator_thickness	6	0.1
    ring_internal_separator_thickness	7	0.1
    ring_internal_separator_thickness	8	0.1
    ring_internal_separator_thickness	9	0.1
    ring_internal_separator_thickness	10	0.1
    ring_internal_separator_thickness	11	0.1
    ring_internal_separator_thickness	12	0.1
    ring_internal_separator_thickness	13	0.1
    ring_internal_separator_thickness	14	0.1
    ring_internal_separator_thickness	15	0.1
    ring_internal_separator_thickness	16	0.1
    ring_separator_color	1	y
    ring_separator_color	2	y
    ring_separator_color	3	b
    ring_separator_color	4	b
    ring_separator_color	5	b
    ring_separator_color	6	b
    ring_separator_color	7	b
    ring_separator_color	8	b
    ring_separator_color	9	b
    ring_separator_color	10	b
    ring_separator_color	11	b
    ring_separator_color	12	b
    ring_separator_color	13	r
    ring_separator_color	14	b
    ring_separator_color	15	r
    ring_separator_color	16	r
    ring_width	1	0.3
    ring_height	1	0.5
    ring_height	2	0.1
    ring_height	3	0.1
    ring_height	4	0.1
    ring_height	5	0.1
    ring_height	6	0.1
    ring_height	7	0.1
    ring_height	8	0.1
    ring_height	9	0.1
    ring_height	10	0.1
    ring_height	11	0.1
    ring_height	12	0.1
    ring_height	13	0.1
    ring_height	14	0.1
    ring_height	15	0.1
    ring_height	16	0.1
    

    graphlan出图,三条命令三张图

    注:如果没有graphlan,需要在linux服务器上,按官网或conda安装

    推荐conda一条命令安装conda install graphlan

    基于结点颜色、形状、背景色+透明度(annon2.txt)美化进化树(rep_set.tree)

    # 进化树结合注释
    graphlan_annotate.py --annot annot2.txt rep_set.tree 1.xml
    # 绘制150dpi的PNG
    graphlan.py --dpi 150 1.xml 1.png
    # 绘制矢量图PDF
    graphlan.py 1.xml 1.pdf
    

    image

    在上图的基础上,外圈添加丰度(anno3.txt),包括12个样品,各组中高/低,极是否显著

    graphlan_annotate.py --annot annot3.txt 1.xml 2.xml
    graphlan.py --dpi 150 2.xml 2.png
    graphlan.py 2.xml 2.pdf
    

    image

    添加基本全局参数,调图形样式

    graphlan_annotate.py --annot annot1.txt 2.xml 3.xml
    graphlan.py --dpi 300 3.xml 3.png
    graphlan.py 3.xml 3.pdf
    

    image

    问题:分支节点未命名或无法命名

    在扩增子分析中,我们经常构建的无根进化树,有没有根倒是无所谓,但是这些使用Fastree构建的进化树有共同的特征,就是除了叶节点,其余分支节点命名无法在graphlan指明。

    进化树文件局部示例:

    ((((((((('OTU_512':0.01655,'OTU_592':0.05858)==1.000:0.15061==,((('OTU_409':0.05856,
    

    但是这里我们可以看到分支节点名为1.000,但是在注释文件中通过这个节点无法添加相应的操作。

    参考文献

    Asnicar F, Weingart G, Tickle T L, et al. Compact graphical representation of phylogenetic data and metadata with GraPhlAn[J]. PeerJ, 2015, 3: e1029. http://huttenhower.sph.harvard.edu/GraPhlAn

    作者简介

    文涛:2016年就读于南京农业大学。荣拜资源院沈其荣教授课题组,研究方向为根际微生物生态,具体为植物介导下根际小分子代谢组同土壤微生物群落在防控土传病害方面的相互作用。关注宏基因组和代谢组。大家有兴趣可以通过2018203048@njau.edu.cn交流。欢迎打扰!

    猜你喜欢

    写在后面

    为鼓励读者交流、快速解决科研困难,我们建立了“宏基因组”专业讨论群,目前己有国内外5000+ 一线科研人员加入。参与讨论,获得专业解答,欢迎分享此文至朋友圈,并扫码加主编好友带你入群,务必备注“姓名-单位-研究方向-职称/年级”。技术问题寻求帮助,首先阅读《如何优雅的提问》学习解决问题思路,仍末解决群内讨论,问题不私聊,帮助同行。
    image

    学习扩增子、宏基因组科研思路和分析实战,关注“宏基因组”
    image

    image

    点击阅读原文,跳转最新文章目录阅读
    https://mp.weixin.qq.com/s/5jQspEvH5_4Xmart22gjMA

    展开全文
  • 以及实体编码的唯一性等关键问题,提出面向“智慧城市”建设的地理实体科学分类方法,以及顾及地理实体空间分布、时间过程的唯一身份编码体系构建的设想思路,为地理实体整合工程化顺利实施提供理论依据。 将空间...

           空间基础信息实体的构建是“数字城市”和“智慧城市”建设的重要内容。针对地理实体分类体系的多样性、粒度划分的层次性、描述表达的完备性,以及实体编码的唯一性等关键问题,提出面向“智慧城市”建设的地理实体科学分类方法,以及顾及地理实体空间分布、时间过程的唯一身份编码体系构建的设想与思路,为地理实体整合工程化顺利实施提供理论依据。

            将空间基础信息实体按规则编码赋予唯一标识码作为其身份证号码,该号码随着地理实体的产生而产生。一旦地理实体消亡,其身份证号只作为历史号码保留在数据库中,而不再赋予其他地理实体。通过地理实体的身份证号,可以获取该实体在其他部门的各类信息。各业务部门可以通过此号码,获取与该实体相关的时空服务。

    1.地理实体分类与编码原则

     1.1地理实体分类原则

            地理实体的认知角度不同,针对地理实体的分类方法也不同。依据组成地理实体的几何形状是单一的点线面还是点线面的组合,地理实体可以分为简单地理实体和复杂地理实体;依据地理实体的形成原因,地理实体可以分为自然地理实体和人工地理实体;根据地理实体所对应的具体地物所属的地理概念不同,地理实体可以具体划分为河流、道路、行政区划等,在这些大类的基础上又可以细分为中类和小类等。

            具体的从大类、中类到小类等分类体系的构建依赖于各个领域专家的协作,来形成一个被广泛认可和通用的分类树。针对分类树的构建给出分类的原则:

    • 分类树应该尽可能多地涵盖地理实体。
    • 地理实体类别之间应该有明确的边界,一个地理实体不能属于多个类别。
    • 不同的领域类别划分层级可以不同,但是划分形式都是树状结构。

    1.1地理实体编码原则

            传统基础地理要素的编码一般是各行业定义自己的标准,通用性和一致性不强。对于地理实体的编码应该规定统一编码方法,为每个地理实体赋予全局通用的、唯一的标识。这里针对编码方法给出编码的原则:

    • 唯一性原则:每个地理实体有且仅有一个唯一编码。每一个编码也只对应一个地理实体。
    • 普适性原则:不同的地理实体采用同一套编码方案,其他领域的研究者可以对编码进行解析。
    • 稳定性原则:编码过程中利用的相关信息在较长时间段内不会更改,编码的使用周期较长。
    • 简洁性原则:编码可以引入冗余信息但是要考虑到存储查询效率,应尽可能简洁。
    • 可扩充性原则:编码可以随着分类树的进一步完善或者其他实际需求进行扩充。

    2.空间基础信息实体分类

            依据几何形状划分为简单地理实体和复杂地理实体。

            简单地理实体是兼容了传统的基础地理信息要素,以点、线、面的方式描述的地理对象。《地理信息分类与编码规则》(GB/T 25529-2010)、《军用基础地理信息要素分类与编码》(GJB 1839B-2012)等规范都给出了分类树的方案。

            复杂地理实体从几何上来看是点线面的组合,从本质上来看,既可以是多个同类简单地理实体与复杂地理实体的组合形成一个概念结构完整的地理实体,又可以是多个异类简单地理实体与复杂地理实体的组合形成一个概念结构完整的地理实体。

     

    地理实体类别

    特点

    例子

    简单地理实体

    由点或线或面描述的地理实体

    比如河流线状简单地理实体,公园面状简单地理实体

    复杂地理实体

    同类组合型复合地理实体

    多个同类简单地理实体或夏杂 地理实体组合形成

    比如某兵工厂复杂地理实体由分布在不同地方的分工厂组成

    异类组合型复合地理实体

    多个异类简单地理实体或复杂地理实体组合形成

    比如长江复杂地理实体由不同类型的码头、河流等地理实体组成

    3.空间基础信息实体编码

            地理实体编码是为识别地理实体而设置的编码体系,它将全部地理实体按照分类标准、层次等级颗粒进行编码。目前的相关地理信息编码、地理实体编码有很多国家标准、行业标准、地方标准,这些标准规范中给出的编码、代码主要为类型码。在基础地理信息系统、各类专题地理信息系统建设时,对基础地理实体、专题地理实体都需要进行唯一编码,这种编码常常是在类型码之后加上几位计算机自动生成的顺序码,这种编码会随着地理实体的增加、删除、修改而发生变化,因而不能作为每个地理实体的唯一代码。

           针对空间基础信息实体编码的唯一身份编码,需要注意设计唯一编码,给出身份信息,这样才能实现地理实体的信息共享,数据交换,查询检索,有效支撑“智慧城市”建设。

           传统地理实体的编码由地址码、出生日期码、顺序码和校验码构成,没有唯一的身份编码,使得地理实体编码唯一性难以实现,导致了实体信息共享,数据交换,数据关联,查询检索都会出现问题。编码方案参考居民身份证对信息编码的结构,利用地理实体的空间分布特征和演化过程规律,选择和使用合适的空间网格,形成包括对地理实体空间区域、类型等级、图形包络、产生时间编码,由大洲或国际公有领域、国家和地区名称、行政区划、县级以下行政区、地理实体类型、空间网格、生命周期、顺序码、校验码构成。实现地理实体的唯一身份识别的同时,具备从编码上直接获得地理实体的语义信息能力,有助于人-人、人-机、机-机之间地理实体信息处理与交换。

    段位

    含义

    长度

    说明

    第1段

    大洲或国际公有领域

    第2段

    国家和地区名称

    第3段

    行政区划

    第4段

    县级以下行政区

    第5段

    地理实体类型

    第6段

    空间网格

    第7段

    生命周期

    第8段

    顺序码

    4

    第9段

    校验码

    1

    展开全文
  • 理解证券行业“行业分类

    千次阅读 2021-04-24 14:50:49
    经常看到各种行业分类,申万行业、wind行业、中信行业等等,总是迷迷糊糊的。 关于“分类”的分类,一般有两种: 管理型(国民经济行业分类) 用于行政管理; ISIC(International Standard Industrial ...
    • Overview

      经常看到各种行业分类,申万行业、wind行业、中信行业等等,总是迷迷糊糊的。

      关于“分类”的分类,一般有两种:

      • 管理型(国民经济行业分类)

        用于行政管理;

        ISIC(International Standard Industrial Classification)联合国国际标准产业分类;

        NAICS(North American Industry Classification System)北美行业分类系统;

        中国国家统计局《国民经济行业分类标准》;

        中国证监会《上市公司行业分类指引》;

      • 投资型(证券行业分类)

        用于投资;

        GICS(Global Industry Classification Standard);

        FTSE Index Series 伦敦金融时报指数系列(伦敦证交所、欧洲第二交易所、香港恒生指数、美国罗素指数Russell Index);

        巨潮行业分类标准;

      • 管理型与投资性比较

        管理型基本上以三次产业的划分为基础,对于商品和服务是严格区分的;

        投资性则淡化了商品和服务的差别,也淡化了三次产业的概念;

        GICS和FTSE都不再把农、林、牧、渔单独作为一个类,而是根据其产品的使用特征划分,GICS把农业作为食品业的子类、林业划分到原材料;

        分类对象不同,管理型分类对象包括企业、事业单位等所有以盈利或不以盈利为目的的单位;投资性仅针对上市公司,其他以盈利为目的或其他都不再分类对象范围内;

        分类结构不同,管理型更详细,数量更多;

        在这里插入图片描述

    • 一、国民经济行业分类方法

      目前,全球通行的行业分类方法主要是:

      1. 三次产业分类法

        由费歇尔(A.G.B. Fisher)1935年《安全与进步的冲突》提出,并经克拉克(C. G. Clark)1940年《经济进步的条件》完善,其将社会全部经济活动划分为:

        • 第一产业:产品直接取自自然界
        • 第二产业:对初级产品的再加工
        • 第三产业:生产和消费提供各种服务

        第一、二产业都是有形物质财富的生产部门;第三产业则是无形财富的生产部门;

      2. 国际标准行业分类法(ISIC)

        由联合国着手设计,依照实体经济活动的同质性原则自上而下进行分类,经历四次修订最新的是2006年颁布的《所有经济活动的国际标准行业分类》(ISIC4.0),英文名为International Standard Industrial Classification of All Economic Activities;

        以最终产品的增加值构成作为主要分类依据;

        以三次产业分类法为基础,衍生出北美工业分类、澳新标准行业分类等,以及我们国家的《国民经济行业分类》(GB4754 Series)

    • 关于分类方法的思考

      合适的行业分类体系需要反映当前的经济结构,并体现重要的社会经济变化。

      工业化时代企业以机械化、流程化的方式来组织生产运营;企业专业化分工的特点体现为:

      1. 技术边界
      2. 业务边界
      3. 市场边界
      4. 运作边界

      以传统生产理论为依托的三次产业分类法已无法解析现代化、信息化时代的产业现象。

      金融业混业经营、层层嵌套导致使用现有的行业分类标准无法进行穿透式管理;

      复杂商业模式带来的分类难题最终不仅影响了政策的指定、宏观数据的权威性,也会造成政府资源的不当配置、政策实行效果差。

      刘思华对此领域有专业深度研究,明确提出“可持续经济的五次产业分类法”,著有《生态马克思主义经济学原理》;知识化与生态化是现代经济及现代产业发展的两大趋势。

    • 国民经济行业分类(中国)

      From [1], 国民经济行业分类是国家行业的标准分类,2011.11.1颁布实施的《国民经济行业分类GB/4754-2011》为最新修订完成的行业标准分类。

      名称门类大类中类小类
      《国民经济行业分类和代码》(GB4754-84)1375310668
      《国民经济行业分类和代码》(GB/T4754-94)1692368846
      《国民经济行业分类和代码》(GB/T4754-2002)2095395912
      《国民经济行业分类和代码》(GB/T4754-2011)20964321094
      《国民经济行业分类》(GB/T4754-2017)20974731380

      国际上通用联合国编制的《所有经济活动的国际标准行业分类》(ISIC Rev.4)

      名称SectionDivisionGroupClass
      1948第一版
      《所有经济活动的国际标准行业分类》(ISIC Rev.4)20062188238419

      同质性原则:行业类别是以经济活动的同质性确定的;

      自上而下:从最高门类开始判断单位性质,根据各门类增加值份额大小判断;

      国内标准偏重按照产成品的功能性分类,国际标准偏重按照原材料加工的分类;

      国民经济行业分类被广泛应用于我国的统计、计划、财政、税收、工商等国家宏观管理中,为国民经济核算和各项统计工作提供了分类依据。

    • 二、证券行业分类

      证券行业分类标准,对整个证券交易活动具有重要促进作用和指导作用;

      通用的证券行业分类标准是全球行业分类标准(GICS),出自标准普尔与摩根士丹利(MSCI)。

      中国证监会在2012年对《上市公司行业分类指引》进行了修订;

    • 全球行业分类标准

      这一体系分为4个层级:

      1. 经济部门
      2. 行业组
      3. 行业
      4. 子行业

      主要考虑到收入,较少考虑到利润;收入波动较小

    • 中国证监会《上市公司行业分类指引》

      不再将营业收入作为唯一考量指标,而是将营业利润作为重要参考;

      以国家统计局标准为主要依据,借鉴联合国ISIC等制订;

      2012.10证监会进行了修订,修订要点如下:

      参照《国民经济行业分类》(GB/T4754-2011)将上市公司的经济活动分为门类大类两级;并且规定上市公司行业分类结果适用于证券期货监管系统对上市公司行业分类信息进行统计、评价、分析及其他相关工作;

      市场机构、投资者基于投资分析目的所使用的的上市公司行业分类可自行确定;

      分类时不再单一地考虑营业收入,增加了营业利润作为第二参考指标;

      行业分类调整采用动态维护机制,按季度进行;

      由中国上市公司协会代替证券交易所承担分类管理工作;

    • 两种分类标准的比较

      我国证监会的分类标准更加偏向于管理;

      GICS更加偏向于投资;

      从财务角度,收入指标更加适合投资,因为众多上市公司的主业处于亏损,在我国标准下(针对利润进行考虑),极易被划分到非主业行业,从而对机构投资者和市场投资者产生混淆;

    • 我国证券市场证券公司发布分类标准

      From [6], [9], 在2004年,深证证券交易所采用的是中国证监会发布的行业分类标准;上交所采用GICS标准;各大券商也都有自己的行业分类方法;

    • 申万行业分类

      上海申银万国证券研究所有限公司 >>> 申万指数 >>> 申银万国行业分类标准2014

      申银万国证券研究所行业分类标准是一种面向投资管理的行业分类标准,出发点主要是考虑产品和服务的内在联系和关联性,用于供投资领域的专业人士进行公司价值比较分析、行业资产配置、投资业绩评价。

      分类方式一级行业二级行业三级行业
      申万行业分类(2014)28104227
      中信行业分类(2020)30109285
      国信行业分类(2009)2367144
    • 中信行业分类

      中信证券CITIC (China International Trust and Investment Corporation)

      中信一级行业分类标准2.0版及修订说明;

      未能找到针对中信研究的官方网站,只能找到上述研报

    • 多种分类方案比较

      From 财通证券研究员陶勤英/张宇,中信2020与申万2014分类标准趋同。

    • References

    1. 中信行业分类判断标准
    2. 国民经济行业分类标准问题研究,潘强敏,2012
    3. 基于五大流原理的新型行业分类标准研究,樊晓阳,2019
    4. 我国行业分类与国际标准行业分类的比较研究,王卓,2013
    5. 行业分类标准比较分析及对我国证券行业发展借鉴,梅渟,2019
    6. 中国上市公司行业分类标准的理论与实证研究,杨朝军,2004
    7. 创建五次产业分类法,推动21世纪中国产业结构的战略性调整,刘思华,2000
    8. 刘思华
    9. 论生态产业与五次产业分类法,刘思华
    10. 中国上市公司行业分类与股市收益联动实证研究,王小娟,2008
    11. 国信行业分类及指数的编制与应用,国信证券,王军清,2009
    12. 2017年国民经济行业分类(GB/T 4754-2017),国家统计局
    13. 《上市公司行业分类指引》(2012年修订),中国证监会
    展开全文
  • 回归、分类与聚类的分析与比较

    千次阅读 2019-03-18 11:06:38
    机器学习任务在本次梳理中,我们将涵盖目前「三大」最常见机器学习任务:回归方法分类方法聚类方法说明:本文的梳理不会涵盖具体领域的问题,比如自然语言处理。本文也不会对每个算法都进行梳理。因为现有太算法,...
  • DDoS原理、分类与防御

    千次阅读 多人点赞 2020-12-28 11:16:14
    文章主要介绍了DDoS原理防御方法。
  • 软件需求分类与需求获取

    万次阅读 2021-01-05 02:07:51
    需求分类 业务需求: 客户对于系统的高层次目标要求(high-level objectives) ,定义了项目的远景和范畴(vision and scope) 业务:属于哪类业务范畴?应完成什么功能?为何目的? 客户:软件为谁服务?目标客户是谁...
  • 二维分类大班教案

    2020-12-19 05:09:47
    准备材料:1、三级分类组合板一套。2、压膜图形一套:大小不等、颜色不一的圆形、正方形、长方形、梯形、六边形、三角形。3、标记卡:颜色标记(红色、非红色)各一张,图形标记(圆形、非圆形)各两张。4、装图形及标记...
  • 虽然类似的总结有很,但是它们都没有真正解释清楚每个算法在实践中的好坏,而这正是本篇梳理希望完成的。因此本文力图基于实践中的经验,讨论每个算法的优缺点。而机器之心也在文末给出了这些算法的具体实现细节。...
  • 如何有效对电脑文件夹进行分类

    千次阅读 2021-07-25 01:07:13
    作为职场人,对电脑文件进行分类是一个再常见不过的问题,但是却容易陷入一个弊端,即对文件夹的分类进入两个极端:...经过不停尝试我慢慢发现,在文件层级的关键注意事项是少分类搜索。少分类,就是文件夹的...
  • 专业文档请访问 www.itilzj.com现在很企业在搞流程管理,都会安排各个部门、各个岗位将自己做的事情画成流程图。等到把布置的工作收集上来一看,企业竟然有上千个流程。看上去企业...
  • 解决这个问题目前最理想的方法就是分类管理,从硬盘分区开始到每一个文件夹的建立,我们都要按照自己的工作和生活需要,分为大大小小、层级的文件夹,建立合理的文件保存架构。此外所有的文件、文件夹,都要规范...
  • 深度学习图像分类(五):ShuffleNet系列(V1,V2) 文章目录深度学习图像分类(五):ShuffleNet系列(V1,V2)前言一、Group Convolution二、ShuffleNetV11. Channel Shuffle2. ShuffleNet unit3. Model ...
  • MySQL——锁的不同角度分类说明

    千次阅读 2022-03-17 17:22:57
    文章目录MySQL——锁的不同角度分类说明1、从数据操作类型划分:读锁、写锁1.1、概述1.2、锁定读操作1.3、锁定写操作2、从数据操作的粒度划分:表级锁、页级锁、行锁2.1、表级锁2.1.1、表级别的S锁,X锁2.1.2、意向...
  • 层级分类法 分类中的权重设定问题 5.5 流程分类法 流程分类法是按照事物的流程来分类的方法。客户做决策基本都遵循一个过程:不知道→知道→感兴趣→有意向→高意向→购买前→购买→购买后等。我们可以根据这个决策...
  • 分类和聚类的区别

    千次阅读 多人点赞 2018-10-18 10:56:08
    机器学习中分类与聚类的本质区别 机器学习中有两类的大问题,一个是分类,一个是聚类。 在我们的生活中,我们常常没有过多的去区分这两个概念,觉得聚类就是分类,分类也差不多就是聚类,下面,我们就具体来研究下...
  • 以事件为描述核心,以揭示事件之间的演化逻辑关系的事理图谱自提出后,引起了工业界的极大兴趣,在积极探索事理图谱本质、事理图谱构建技术细节的同时,如何找到技术应用场景之间的结合成为目前广泛讨论的问题。...
  • CNN进行分类

    万次阅读 多人点赞 2018-07-04 21:40:16
    本文讲解计算机如何处理图像进行分类的,这里我们以CNN(卷积神经网络)对汪汪图片进行分类为例!1:问题空间 图像分类是对输入图像的操作,最终输出一组最好地描述了图像内容的分类(如猫、狗等)或分类的概率。对...
  • 【聚类·分类·回归】数据挖掘之聚类、分类、回归

    万次阅读 多人点赞 2018-05-09 07:14:48
    1.分类(classification) 有监督学习的两大应用之一,产生离散的结果。例如向模型输入人的各种数据的训练样本,产生“输入一个人的数据,判断是否患有癌症”的结果,结果必定是离散的,只有“是”或“否”。 分类...
  • 用于图像分类的经典的卷积神经网络CNN

    万次阅读 多人点赞 2019-07-08 09:49:01
    本文详细介绍了CNN在图像分类中的发展过程中的几个经典的网络,包括了从LeNet,AlexNet,VGGNet,GoogleNet,ResNet到DenseNet的一路改进、优化的过程。
  • 测试工程师的能力分类

    千次阅读 2021-08-09 13:45:31
    乘着互联网的封口,测试行业发展的也是如火如荼,很科班/非科班的人员涌入这个行业。作为一名测试工程师,咱们先了解一下测试这个行业发展的历程,也方便对别人进行科普(侃大山) 测试工程师的主要职责是保障...
  • 目录从线性分类器开始线性分类器的定义线性分类器的决策步骤线性分类器的矩阵表示线性分类器的wiT\bm w_i^TwiT​如何理解线性分类器的决策边界线性分类器的损失函数损失函数的定义类支持向量机损失 从线性分类器...
  • 下面这个例子则是螺丝的面分类法,可以分为材料、直径、钉头、表面处理: 面分类法是并行化分类方式,同一层级可有分类维度。面分类法适用于对一个类别同时选取分类维度进行分类的场景。 混合分类法:...
  • 人脸检测之Haar分类

    2017-04-15 19:11:17
    人脸检测之Haar分类器 一:Haar分类器相关内容  人脸检测两类:基于知识、基于统计;  基于知识:模板检测、人脸特征、形状与边缘、纹理特征、颜色特征;... 分类与聚类的区别: 1.分类:已经物体类别总数
  • Softmax激活函数用于多分类过程中,它将个神经元的输出,映射到(0,1)区间内,可以看成概率来理解,从而来进行多分类! 某个神经元的输出的值i ,则经过SoftMax函数的输出为Si,公式为: 示意图如下: ...
  • 1国际机能、残疾和健康分类(ICF)简介国际机能、残疾和健康分类(InternationalClassificationofFunctioning,Disability,andHealth,简称ICF)修正自1980年发展的“国际机能损伤、身心功能障碍残障分类”...
  • AI Challenger 2018 农作物病害细粒度分类 比赛地址 数据集地址 密码: 4ac2 1 前言 2 代码组织结构 3 完整流程解析 &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;amp;amp;...
  • 基本概念—回归、分类、聚类

    千次阅读 2021-02-18 16:42:11
    原文地址:回归、分类与聚类:三大方向剖解机器学习算法的优缺点 在本教程中,作者对现代机器学习算法进行了简要梳理。虽然类似的总结有很,但是它们都没有真正解释清楚每个算法在实践中的好坏,而这正是本文...
  • 层次化attention机制用于文档分类

    千次阅读 2019-11-24 07:30:28
    层次化attention机制用于文档分类

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,981
精华内容 5,992
关键字:

层级分类与多角度分类

友情链接: car.tar.gz