1
我使用写入命令将xgBoost的重要性矩阵打印到日志中(写入与文件连接一起使用,并将其指向stderr
以及)。下面是我使用的命令:打印日志时的不同间距
importance_matrix <- xgb.importance(names, model=bst)
write("The top 30 variables are:",stderr())
write(paste0("Feature",'\t','\t','Gain','\t','Cover','\t','Frequency'),stderr())
write(t(as.matrix(importance_matrix[1:30,])),sep="\t",ncolumns = length(names(importance_matrix)),stderr())
输出进来格式:
Feature Gain Cover Frequency
pctTillDate 0.560359696 0.1314074664 0.024278250
colr_per 0.183149483 0.0962457545 0.049618673
date 0.050528297 0.1143752021 0.066395735
GREG_D 0.025648433 0.0381476142 0.018070143
LNGTD_I 0.020346020 0.0485235001 0.101322109
LATTD_I 0.019241497 0.0421892270 0.093867103
,这使得它(在日志笨拙得多比出现在这里SO)看起来有点笨拙。因此,为了使它更好看,我想改变t(as.matrix(importance_matrix[1:30,])),sep="\t"
的最后一行,这样第一个sep
将是2个选项卡('\ t','\ t')并休息单个选项卡('\ t');而不是当前的统一间距。简单但搜索并没有任何想法。有什么建议么?
制表符分隔文件将看起来像锯齿输出由于内容的长度单元格,但放心等量的标签位于列之间。请注意:文本文件仅仅是用于数据迁移或存档的转储输出,因此演示文稿不是本意。 – Parfait
@Parfait我同意它不是为了演示,但在我的情况下,我做了400+的mapper只有hadoop流,后来想要将所有的YARN日志合并成一个日志。那么我想保留重要参数的可读性。否则400多个日志本身很难通过,它们笨拙只会增加分析器的痛苦。 – abhiieor