2016-04-04 2 views
1

I eine Sparse-Matrix X und einen Zielarrays Y (die Länge der Reihen von X gleich ist), stellen etwas wie folgt:verketten ein individuelles Format einer Sparse-Matrix X mit einer Ziel-Array Y in Python

X=([1.5 0.0 0.0 71.9 0.0 0.0 0.0], 
    [0.0 10.0 0.0 2.0 0.0 0.0 0.0], 
    [0.0 0.0 0.0 0.0 0.0 0.0 11.0]) 

y =[4,2,-6] 

was ich brauche, ist zum ersten neuen Form der sparse-Matrix hat, wo jede Zeile enthält Werte ungleich Null und ihre entsprechenden Indices der Zeilen in X:

Beispiel

0.123.
X1=(0:1.5 3:71.9 
    1:10 3:2 
    6:11) 

zu tun, so fragte ich bereits dieses question (aber immer noch weiß ich nicht, wie X1 speichern es so, dass ich später mit Y verketten?), Aber zweitem Teil der Frage ist zu verketten X1 und Y (Anzahl der Zeilen in X1 ist immer noch gleich der Länge von Y) und speichern das Endergebnis, sollte das Endergebnis etwas wie das folgende Format:

data: 
     4 0:1.5 3:71.9 
     2 1:10 3:2 
     -6 6:11 
     ... 

, was die Art und Weise zu bekommen von X, Y in das endgültige Daten und speichern Sie es in einer Textdatei in Python?

+0

Danke in der Tat ist es nicht ein Nicht-Standard-Format, aber es ist eine Standard-Darstellungen von Textdokument für maschinelles Lernen Techniken, in der Tat ist es so etwas wie: [Ziel] [ID]: [Frequenz/Anzahl] [ID]: [Frequenz/Anzahl] ... es ist das sehr übliche Format in SVMLight und viele andere Techniken verwendet – Far

Antwort

2

Concatenate wie so:

data = [[a]+b for a, b in zip(Y, X1)] 
# data = [[a]+b for a, b in zip(Y, [':'.join([k,v]) for k,v in X1.items()])] 

und schreibt in Datei:

with open(filename, 'w') as f: 
    for row in data: 
     f.write(' '.join(row)) 
+0

danke mein erstes Problem ist, wie man das X1 speichert, so dass ich es später mit Y in meinem vorherigen que verknüpfen kann sion [link] (http://stackoverflow.com/questions/36388730/get-to-a-dictionary-format-by-just-saving-non-zero-values-and-indices-from-as/36389055#36389055) Es gab eine Antwort, die genau auf das gewünschte Format für X1 zeigt, aber ich weiß nicht, wie ich X1 in diesem Format speichern soll. – Far

Verwandte Themen