我正在使用线性回归拟合数据。我想将参数结果y= 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]})