web-dev-qa-db-ja.com

Seaborn Regplotで回帰式を表示する

Sns.regplotまたはsns.jointplotを使用してseabornで回帰式を表示する方法を知っている人はいますか? regplotには、回帰診断を表示するために渡すことができるパラメーターはないようです。jointlotは、ピアソンR ^ 2とp値のみを表示します。スロープ係数、標準誤差、切片も確認する方法を探しています。

ありがとう

26
Vikram Josyula

2015年、シーボーンの主任開発者は、プロットを生成するために使用される統計値へのアクセスを要求する機能リクエストに、 "それは利用できません、利用できません。" と答えました。

したがって、残念ながら、この機能はseabornには存在せず、将来的には存在しそうにないようです。

更新:2018年3月、シーボーンの主任開発者 彼の反対を繰り返した この機能へ。彼は...さらなる議論に興味がないようだ。

21
millikan

遅くて部分的な回答。私は回帰直線のデータを取得したいという問題があり、これを見つけました:

このプロットがある場合:

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

次に、pには、_line2D_オブジェクトのリストを返すメソッドget_lines()があります。 _line2D_オブジェクトには、目的のデータを取得するメソッドがあります。

したがって、この例で線形回帰データを取得するには、これを行うだけです。

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

これらの呼び出しは、自由に使用できる回帰線データポイントのnumpy配列をそれぞれ返します。

p.get_children()を使用すると、プロットの個々の要素のリストを取得できます。

信頼区間プロットのパス情報は、次の方法で見つけることができます。

_p.get_children()[1].get_paths()
_

データポイントのタプルの形式です。

一般に、多くのオブジェクトは、任意のPythonオブジェクトでdir()コマンドを使用することで見つけることができ、そこにあるすべてのものを表示するだけです。

8
Khris