使用sort命令和awk命令对数据集的label进行处理

来源:互联网 发布:mysql 创建触发器 编辑:程序博客网 时间:2024/05/17 23:35
太兴奋了。我就网上查了以下检索到这个:blog.sina.com.cn/s/blog_4af3f0d20100gux5.html

sort -n -k2 file.txt 或则sort -g -k2 file.txt(从小到大排序)

sort -rn -k2 all_contig.txt(加-r从大到小排序)。

-n,--numeric-sort        

-g,--general-numeric-sort

试了以下果然可以按照第三列排序。

接下来我试了以下awk可以给某列减去一。那么完整的命令就是这样

sort -n -k3 spiral.txt |awk '{print $1"\t"$2"\t"$3-1}'。

       我是在使用python做cluster聚类的时候,我的聚类结果和源数据的类标label不一样。为了做分类结果的评价evaluate,必须把label的标号做统一了。比如数据集的类标号可能(1,2,3),而我的分类结果的类标号是(0,1,2)。我当然可以把cluster结果的类标设置成和数据集一样的(1,2,3)。但是聚类结果的类标也不能和数据集的相对应。比如数据集的类标是这样[2,2,1,1,3,3],cluster结果可能是[1,1,2,2,3,3]。这样我的cluster结果很好,准确率是百分之百。但是要是直接把结果代入评价函数,评价出来的结果肯定是错误的。

      这样,我的命令做了两个事情。

1)将数据集按照label列排序

2)将第三列的数据减一。


0 0
原创粉丝点击