如何将statsols参数放入字典中?

2024-04-20 10:16:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用线性回归拟合我的数据。我想把参数resultsy= ax+b放到字典里。我需要提取(a,b)

params_dict = defaultdict(list)
results = sm.OLS(Y, sm.add_constant(X)).fit()
print('params('+str(key)+','+str(train_key)+') = '+str(results.params))
print('confidence_Interval('+str(key)+','+str(train_key)+') = '+str(results.conf_int(alpha=0.05, cols=None)))
params_dict['Pair_Nodes'].append((key,train_key))
params_dict['param_A'].append(float(results.params[0]))
params_dict['param_B'].append(float(results.params[1]))

但是我有个错误:

    params_dict['param_B'].append(float(results.params[1]))
IndexError: index 1 is out of bounds for axis 0 with size 1

我想得到如下结果:

params_dict={('Node1,Node2','A','B'),('Node1,Node2','A','B'),..}

这是一个参数,我有问题的输出:

params(02141592cc00000001,02141592cc00000001) = [6.46004214e-10]

预期词典:

defaultdict(<class 'list'>, {'param_A': [2.5039286220812003e-18], 'Pair': [('02141592cc00000001', '02141592cc00000001')], 'param_B': [3.8760252600949106e-09]})
    -

Tags: key参数paramtrainparamsfloatresultsdict