J'utilise J'aime ce p> appliquer la réchrographie de En d'autres termes, je veux avoir ma liste de listes d'Eigenvector ordonnée de la même manière que mes valeurs propres. P> Toutes les suggestions sont appréciées p> p> sklearn code> pour calculer des valeurs propres et des eigenvectors, une partie de mon problème est que je souhaite commander les eigenvalues, calculer une somme cumulée sur eux et comparer ce nombre à un seuil de variance. Dès que je sais, par exemple, les 3 premiers validus sont suffisants et me procureront le seuil, je devrai trouver les vecteurs propres correspondants. base_list code> à second_list code> Je voudrais obtenir ce < / p>
3 Réponses :
indices = sorted(range(len(base_list)), key=base_list.__getitem__, reverse=True)
opérant sous l'hypothèse selon laquelle votre liste de base et votre deuxième liste seraient toujours la même longueur, voici comment je le ferais (sans utiliser une autre bibliothèque comme numpy).
Si vous tournez la deuxième liste dans une liste des tuples Lorsque le premier élément du tuple est l'élément correspondant de la liste de base, vous pouvez trier la deuxième liste de la manière dont vous voulez. p> Vous pouvez désormais trier la deuxième liste de de la même manière que la liste de base: p> Vous pouvez alors extraire les valeurs des tuples. p> p>
Vous pouvez mapper vos valeurs propres non traitées des valeurs de la liste de base. Puis triez votre liste de base, puis créez une liste des eigenvalues triées à l'aide de la liste triée en tant que index:
base_list = [2, 3,1,4]
second_list =[[3,3],[1,1],[4,4],[2,2]]
eigen_map = {i: eigenvalue for i, eigenvalue in zip(base_list, second_list)}
sorted_list = sorted(base_list)
sorted_eigenvalues = [eigen_map[index] for index in sorted_list]
Je ne comprends pas comment vous êtes arrivé à la sortie
second_list code>, pouvez-vous s'il vous plaît clarifier