def matrix_multiply(A, B): n1, k1 = shape(A) n2, k2 = shape(B) if k1 != n2: raise ArithmeticError("incompatible shapes!") return generateMatrix(n1, k2, partial(matrix_product_entry, A, B))
def correlationMatrix(data): _, numCols = shape(data) def matrixEntry(i, j): return correlation(getCol(data, i), getCol(data, j)) return generateMatrix(numCols, numCols, matrixEntry)
def rescale(dataMatrix): means, stdevs = scale(dataMatrix) def rescaled(i, j): if(stdevs[j] > 0): return (dataMatrix[i][j] - means[j]) / stdevs[j] else: return dataMatrix[i][j] nRows, nCols = shape(dataMatrix) return generateMatrix(nRows, nCols, rescaled)
if id not in [source_id, target_id]: users[id]["betweenness_centrality"] += contrib for user in users: print("User ID : ", user["id"], " Betweenness Centrality : ", user["betweenness_centrality"]) print() """ Closeness Centrality """ for user in users: user["closeness_centrality"] = 1 / farness(user) print("Closeness Centrality") for user in users: print("User ID : ", user["id"], " Closeness Centrality : ", user["closeness_centrality"]) print() """ Eigenvector Centralities, """ n = len(users) adjacency_matrix = generateMatrix(n, n, entry_fn) eigenvector_centralities, _ = find_eigenvector(adjacency_matrix) print("Eigenvector Centrality") for user_id, centrality in enumerate(eigenvector_centralities): print("User ID : ", user_id, " Eigenvector Centrality : ", centrality) print()
def deMeanMatrix(A): nr, nc = shape(A) colMean, _ = scale(A) return generateMatrix(nr, nc, lambda i, j: A[i][j] - colMean[j])
users[id]["betweenness_centrality"] += contrib for user in users: print("User ID : ", user["id"], " Betweenness Centrality : ", user["betweenness_centrality"]) print() """ Closeness Centrality """ for user in users: user["closeness_centrality"] = 1 / farness(user) print("Closeness Centrality") for user in users: print("User ID : ", user["id"], " Closeness Centrality : ", user["closeness_centrality"]) print() """ Eigenvector Centralities, """ n = len(users) adjacency_matrix = generateMatrix(n, n, entry_fn) eigenvector_centralities, _ = find_eigenvector(adjacency_matrix) print("Eigenvector Centrality") for user_id, centrality in enumerate(eigenvector_centralities): print("User ID : ", user_id, " Eigenvector Centrality : ", centrality) print()