Я подгоняю свои данные с помощью линейной регрессии. Я хочу поместить параметр результатов 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]})