Ich drucke Wichtigkeitsmatrix von xgBoost in Protokoll mit Schreibbefehl (schreibt mit Dateiverbindung und richtet es auf stderr
gut). Hier ist der Befehl, den ich verwende:Unterschiedlicher Abstand beim Drucken zum Protokollieren
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())
Ausgabe kommt im Format:
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
, die es ein bisschen ungeschickt aussehen (viel ungeschickt in log, als hier in SO erscheinen). Um es besser aussehen zu lassen, möchte ich die letzte Zeile von t(as.matrix(importance_matrix[1:30,])),sep="\t"
so ändern, dass zuerst sep
2 Tabs ('\ t', '\ t') und Rest einzelner Tab ('\ t') sind; anstelle des aktuellen einheitlichen Abstandes. Einfach, aber die Suche gibt keine Ahnung. Irgendwelche Vorschläge?
Tab begrenzt werden, daß gezackter Ausgang aussehen aufgrund der Länge des Inhalts in Zelle, aber sicher sein, die gleiche Anzahl von Tabs sind zwischen den Spalten. Beachten Sie: Textdateien sind einfach Dump-Ausgaben, die für die Datenmigration oder -archivierung verwendet werden, so dass die Präsentation nicht beabsichtigt ist. – Parfait
@Parfait Ich stimme zu, es ist nicht zur Präsentation gedacht, aber in meinem Fall mache ich 400+ Mapper nur Hadoop-Streaming und später wollen alle YARN-Protokolle in einem Protokoll zu kombinieren. Dann möchte ich die Lesbarkeit des wichtigen Parameters beibehalten. Oder aber 400+ Logs selbst sind schwer durchzukommen, weil sie ungeschickt sind, werden sie die Agonie des Analytikers noch verstärken. – abhiieor