Exemplo n.º 1
0
def get_probability_transition_matrix(A: np.matrix):
    """
    Calcule la matrice de probabilité de transition à partir de la matrice d'adjacence
    :param A: La matrice de base
    :return: La matrice de probabilités de transition
    """
    res = []
    for i in range(A.__len__()):
        res.append([0] * A.__len__())
    do = A.sum(axis=1)
    for i in range(A.__len__()):
        res[i] = (A[i] / float(do.item(i))).A1
    return np.matrix(res)
Exemplo n.º 2
0
def item_rank_inversion_mat(PTransposed: np.matrix, alpha: float, v: np.array):
    """
    Calcul du vecteur de score par inversion matricielle
    :param PTransposed: La transposée de la matrice de probabilités de transition
    :param alpha: Le paramètre de téléportation
    :param v: Le vecteur de personnalisation normalisé
    :return: Le vecteur de page rank
    """
    I = np.identity(PTransposed.__len__())
    res = (1 - alpha) * (np.linalg.inv(I - alpha * PTransposed)) * v
    return res