gpt4 book ai didi

python - Altair:提取和显示回归系数

转载 作者:行者123 更新时间:2023-12-05 01:07:59 48 4
gpt4 key购买 nike

这个 question解决如何使用 mark_text()

访问和显示 R 2

我对访问和显示系数感兴趣。将 rSquared 替换为 coef 会产生截距和斜率的扁平数组,如 documentation 中所述。 .

如何索引到这个数组以只显示其中一个值,例如坡度?我想知道 mark_text() 步骤之前是否应该有 transform (可能transform_filter(),或者如果altair.Text()可以使用。

我知道other approaches这涉及单独确定此信息,然后将其添加为附加层。

如果这是一个非常直截了当的问题,我们深表歉意。提前致谢。

import altair as alt
import pandas as pd
import numpy as np

np.random.seed(42)
x = np.linspace(0, 10)
y = x - 5 + np.random.randn(len(x))

df = pd.DataFrame({'x': x, 'y': y})

chart = alt.Chart(df).mark_point().encode(
x='x',
y='y'
)
line = chart.transform_regression('x', 'y').mark_line()

params = alt.Chart(df).transform_regression(
'x', 'y', params=True
).mark_text(align='left').encode(
x=alt.value(20), # pixels from left
y=alt.value(20), # pixels from top
text='rSquared:N',

# text='coef:N' # flattened array
# text='coef[0]:N' # fails
)

chart + line + params

最佳答案

您可以使用计算转换来访问它:

params = alt.Chart(df).transform_regression(
'x', 'y', params=True
).transform_calculate(
intercept='datum.coef[0]',
slope='datum.coef[1]',
).mark_text(align='left').encode(
x=alt.value(20), # pixels from left
y=alt.value(20), # pixels from top
text='intercept:N'
)

chart + line + params

enter image description here

关于python - Altair:提取和显示回归系数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66604052/

48 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com