Ich habe ein binäres 2D -Numpy -Array, das Transaktionen und Elemente darstellt. Für Punkt I (als Spalten dargestellt) möchte ich die Gesamtzahl der Transaktionen (als Zeilen dargestellt) berechnen, die diesen Artikel gekauft haben, alle Artikel, die neben Punkt I gekauft wurden, und alle Transaktionen, die diesen Artikel zugeordnet sind. Dies geschieht, um Unterstützung, Vertrauen und Heben zwischen den Gegenständen zu berechnen. Meine aktuelle Implementierung verwendet eine verschachtelte Schleife, dauert jedoch zu lange für einen großen Datensatz. Gibt es eine Möglichkeit, eine Matrix optimal zu scannen, wenn ich jedes Mal die Gesamtheit scannen muss? < /P>
Hier ist mein Code mit einem Beispielarray.
Ich habe ein binäres 2D -Numpy -Array, das Transaktionen und Elemente darstellt. Für Punkt I (als Spalten dargestellt) möchte ich die Gesamtzahl der Transaktionen (als Zeilen dargestellt) berechnen, die diesen Artikel gekauft haben, alle Artikel, die neben Punkt I gekauft wurden, und alle Transaktionen, die diesen Artikel zugeordnet sind. Dies geschieht, um Unterstützung, Vertrauen und Heben zwischen den Gegenständen zu berechnen. Meine aktuelle Implementierung verwendet eine verschachtelte Schleife, dauert jedoch zu lange für einen großen Datensatz. Gibt es eine Möglichkeit, eine Matrix optimal zu scannen, wenn ich jedes Mal die Gesamtheit scannen muss? < /P> Hier ist mein Code mit einem Beispielarray.[code]import numpy as np results = [] data = np.array([[0,1,0,1],[1,1,0,1],[0,0,0,1],[1,1,1,1]]) N = data.shape[0] #total transactions for i in range(4): # for each item i #transactions% where item i was purchased mask_i = data[:,i] == 1 support_i = data[mask_i].shape[0]/N for j in range(4): # check all items j #transactions where both i and j are purchased mask_j = data[:,j] == 1 support_j = data[mask_j].shape[0]/N #transactions% where j is purchased mask_c = np.logical_and(mask_i,mask_j) # mask for where both i and j were purchased confidence = (data[mask_c].shape[0]/N) / support_i lift = confidence/support_j results.append([i,j,confidence,lift]) #store combination < /code> Die Ergebnisliste zeigt jede identifizierte Kombination von Elementen mit anderen Elementen an. < /p> [[0, 0, 1.0, 2.0], [0, 1, 1.0, 1.3333333333333333], [0, 2, 0.5, 2.0], [0, 3, 1.0, 1.0], [1, 0, 0.6666666666666666, 1.3333333333333333], [1, 1, 1.0, 1.3333333333333333], [1, 2, 0.3333333333333333, 1.3333333333333333], [1, 3, 1.0, 1.0], [2, 0, 1.0, 2.0], [2, 1, 1.0, 1.3333333333333333], [2, 2, 1.0, 4.0], [2, 3, 1.0, 1.0], [3, 0, 0.5, 1.0], [3, 1, 0.75, 1.0], [3, 2, 0.25, 1.0], [3, 3, 1.0, 1.0]] [/code]
Ich habe zwei Funktionen (i) getKglobal und (ii) getKglobal_Sp. Allerdings ist die Zeit für die Sparse-Funktion etwa fünfmal langsamer als für die Fullmatrix-Formulierung. Ich verstehe, dass es...
Ich möchte hierarchische Clusteranalyse verwenden, um die optimale Zahl (k) der Cluster automatisch zu erhalten, und wenden Sie dieses k auf k-mittlere Clustering in Python an.
Ich möchte einen Pandas -Datenframe mit drei Spalten erstellen, so dass die Zeilen alle Permutationen von drei Spalten enthalten, die jeweils einen eigenen Wertebereich enthalten. Außerdem möchte ich...
Nach meinem Verständnis sollte
möglich sein,
nur Keyframes für Diashow,
und zwischen ihnen einstellen, für optimale Größe der Datei. Zu machen (vorzugsweise Python oder Rost, irgendwann Golang, Zig,...