Afficher l'équation de régression dans Seaborn regplot [dupliquer]

Cette question a déjà une réponse ici:

  • Comment obtenir les résultats de l'ajustement numérique en traçant une régression en seaborn? 2 réponses

est-ce que quelqu'un sait comment afficher l'équation de régression dans seaborn en utilisant sns.regplot ou sns.jointplot? regplot ne semble pas avoir de paramètre que vous pouvez passer à afficher les diagnostics de régression, et joint plot montre seulement le R^2 de pearson, et la valeur de p. Je cherche un moyen de voir le coefficient de pente, l'erreur standard, et l'interception aussi.

Merci

19
demandé sur Vikram Josyula 2015-11-03 06:20:20

2 réponses

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 il ne sera pas disponible."

Donc, malheureusement, cette fonctionnalité n'existe pas dans seaborn, et il semble peu probable dans l'avenir.

mise à jour: en mars 2018, le développeur principal de seaborn a réitéré son opposition à cette fonctionnalité. Il semble... indifférent dans une discussion plus approfondie.

8
répondu millikan 2018-08-29 20:46:55

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

Quand vous avez cette parcelle:

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

p a une méthode get_lines() ce qui donne une liste de line2D objets. Et un line2D objet 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, vous avez juste besoin de faire ceci:

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

ces appels renvoient chacun un a numpy tableau 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 différents éléments de l'intrigue.

l'information sur le chemin de la courbe d'intervalle de confiance peut être trouvée avec:

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

c'est sous forme de tuples de points de données.

généralement, un lot peut être trouvé en utilisant le dir() commande sur n'importe quel objet Python, ça montre tout ce qu'il y a dedans.

5
répondu Khris 2016-09-08 10:11:31