我是数据科学的新手。我有一个关于简单的seaborn factorplot的问题。什么是线段代表?
这是我的测试。
import pandas as pd
import seaborn as sns
x3 = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
y3 = [0, 1, 1, 1, 0, 3, 1, 0, 1, 1, 3, 2, 3, 2, 3, 3, 2, 3, 2, 2]
data = {'x': x3, 'y': y3}
test3 = pd.DataFrame(data)
sns.factorplot(x='Pclass', y='Survived', data=test3)
,结果是
通过这个简单的测试,我知道图中的每个点都表示具有相同值的x的所有值的y的平均值(exp)。例如,当x = 1时,我们有(1,0),(1,3),(1,3)和(1,3),所以平均值为(0 + 3 + 3 + 3)/ 4 = 2.25。但是,我不知道为什么x = 1的线段从0.75到3.0,为什么它不是[0.0,3.0]?
我试图在网上找到factorplot来源或任何有用的解释或文档,没有好结果。
任何人都可以帮助我,非常感谢。
答案 0 :(得分:1)
我使用github repo顶部的“搜索此存储库”搜索栏进行了调查。
搜索“factorplot”让我看到seaborn/categorical.py
和class _CategoricalPlotter(object)
,这导致我_BarPlotter(_CategoricalStatPlotter)
,其中包含docstring“”“显示点数估计值和带有条形的置信区间。” “,__init__
包括self.estimate_statistic(estimator, ci, n_boot)
。
estimate_statistic(self, estimator, ci, n_boot)
的函数定义位于class _CategoricalStatPlotter(_CategoricalPlotter)
(仍在categorical.py文件中)。在那里,初始化空列表confint
(即置信区间),并填写:
boots = bootstrap(stat_data, func=estimator,
n_boot=n_boot,
units=unit_data)
confint.append(utils.ci(boots, ci))
因此,您提到的垂直错误栏为bootstrapped confidence intervals。