web-dev-qa-db-fra.com

Afficher l'équation de régression dans le regplot né en mer

Quelqu'un sait-il comment afficher l'équation de régression dans seaborn à l'aide de sns.regplot ou sns.jointplot? regplot ne semble pas avoir de paramètre à transmettre pour afficher les diagnostics de régression, et jointplot n'affiche que le pearson R ^ 2 et la valeur p. Je cherche également un moyen de voir le coefficient de pente, l'erreur standard et l'interception.

Merci

26
Vikram Josyula

En 2015, le développeur principal de Seaborn a répondu à une demande de fonctionnalité demandant l'accès aux valeurs statistiques utilisées pour générer des tracés en disant, "Il n'est pas disponible et ne le sera pas."

Donc, malheureusement, cette fonctionnalité n'existe pas chez les marins, et il semble peu probable qu'elle existe à l'avenir.

Mise à jour: en mars 2018, le développeur principal de Seaborn a réitéré son opposition à cette fonctionnalité. Il semble ... désintéressé de poursuivre la discussion.

21
millikan

Une réponse tardive et partielle. J'ai eu le problème de vouloir simplement obtenir les données de la ligne de régression et j'ai trouvé ceci:

Lorsque vous avez ce complot:

f = mp.figure()
ax = f.add_subplot(1,1,1)
p = sns.regplot(x=dat.x,y=ydat,data=dat,ax=ax)

p a alors une méthode get_lines() qui donne une liste d'objets line2D. Et un objet line2D A des méthodes pour obtenir les données souhaitées:

Donc, pour obtenir les données de régression linéaire dans cet exemple, il vous suffit de faire ceci:

p.get_lines()[0].get_xdata()
p.get_lines()[0].get_ydata()

Ces appels renvoient chacun un tableau numpy des points de données de la ligne de régression que vous pouvez utiliser librement.

En utilisant p.get_children() vous obtenez une liste des éléments individuels du tracé.

Les informations de chemin du tracé de l'intervalle de confiance peuvent être trouvées avec:

p.get_children()[1].get_paths()

C'est sous la forme de tuples de points de données.

Généralement, beaucoup peut être trouvé en utilisant la commande dir() sur n'importe quel objet Python, il montre simplement tout ce qui s'y trouve.

8
Khris