Esempio n. 1
0
def train_all():
    RF_all1 = RF.RF_ALL_train('./data/testingDataSet1.csv',
                              './data/VALIDATION_DataSet1.csv')
    RF_all2 = RF.RF_ALL_train('./data/EVAL_DataSet1.csv',
                              './data/VALIDATION_DataSet1.csv')
    gdbt_all1 = GDBT_all.GDBT_ALL_train('./data/VALIDATION_DataSet1.csv',
                                        './data/VALIDATION_DataSet1.csv')
    gdbt_all2 = GDBT_all.GDBT_ALL_train('./data/testingDataSet1.csv',
                                        './data/VALIDATION_DataSet1.csv')
    gdbt_all3 = GDBT_all.GDBT_ALL_train('./data/EVAL_DataSet1.csv',
                                        './data/VALIDATION_DataSet1.csv')
    svr_all = s.SVR_ALL_train()

    # 3个GBDTt,1个sSVR再做一次SVR
    #     X = [];Y = []
    #     for i in range(len(gdbt_all1)):
    #         X.append((RF_all1[i][2], gdbt_all1[i][2], gdbt_all2[i][2], svr_all[i][2],svr_all[i][3]))
    #         Y.append(gdbt_all1[i][3])
    #
    #     svr = SVR(kernel='linear', epsilon=2, C=1).fit(X, Y)
    #     print(svr.coef_)
    #     pred_y = svr.fit(X, Y).predict(X)

    fw = open(filename, 'w')
    for i in range(len(gdbt_all1)):
        fw.write('%s,%s,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f\n' %
                 (gdbt_all1[i][0], gdbt_all1[i][1],
                  float(RF_all1[i][2]),
                  float(RF_all2[i][2]),
                  float(gdbt_all1[i][2]),
                  float(gdbt_all2[i][2]),
                  float(gdbt_all3[i][2]),
                  float(svr_all[i][2]),
                  float(svr_all[i][3]), #前14天的值
                  float(svr_all[i][4]),
                  ((float(RF_all1[i][2])+float(gdbt_all1[i][2]) + float(gdbt_all2[i][2])+ \
                        float(svr_all[i][2]) + float(svr_all[i][3])+float(svr_all[i][4]))) / 6,
                  cost_dict['all'][gdbt_all1[i][0]][0],
                  cost_dict['all'][gdbt_all1[i][0]][1],
                  float(gdbt_all1[i][3])
                  )
                 )

    fw.close()