Пример #1
0
def train_model(file_name, state, **kwds):
    for key, value in kwds.items():
        if key == 'cell_key':
            cell_key = value
        elif key == 'state':
            state = value
        elif key == 'pkl_dir':
            pkl_dir = value[kwds['run_mode']]
        elif key == 'config':
            config = value[kwds['run_mode']]
        elif key == 'processed_data_dir':
            file_dir = value[kwds['run_mode']]
        elif key == 'score_key':
            score_key = value
    data_x, data_y, cell_key = calc_feature_data(config, cell_key, score_key,
                                                 file_dir, file_name)
    if data_x is None:
        print('there is no data to train.')
        return
    ioo.save_data_csv(data_x.head(), 'columns_feature_' + file_name, pkl_dir)
    mode = 'test'
    res = build_model(data_x,
                      data_y,
                      split_mode=mode,
                      feature_method='f_regression',
                      pkl_dir=pkl_dir)
    if mode == 'test':
        d = {
            'lr': '线性回归(LR)',
            'dt': '决策树回归',
            'rf': '随机森林',
            'gbdt': 'GBDT',
            'eva': '评估结果'
        }
        ioo.save_model_result(res, d, pkl_dir, state)
Пример #2
0
def save_distribute_data(data, filename, para_dict, mode, chunksize=None):
    for col in para_dict['columns']:
        if 'pca' in col:
            data[col] = data[col].apply(str)
            data[col] = data[col].apply(lambda x: x.replace('\n', ''))
            data[col] = data[col].apply(lambda x: x.replace(',', ';'))
    ioo.save_data_csv(data, filename, para_dict['data_dir'][mode])
Пример #3
0
def save_workstate_data(data, mask_filename, data_dir):
    tmp = data[data['state'] == 1].reset_index(drop=True)  #充电数据
    filename = 'charge_' + mask_filename
    ioo.save_data_csv(tmp, filename, data_dir)
    tmp = data[data['state'] == 2].reset_index(drop=True)  #放电数据
    filename = 'discharge_' + mask_filename
    ioo.save_data_csv(tmp, filename, data_dir)
    print('the data has been save within each workstate.')
Пример #4
0
def save_workstate_data(regx, mask_filename, raw_data_dir, data_dir):
    result, temp = gf.get_regx_data(regx, raw_data_dir)
    if result:
        import io_operation as ioo
        data = temp[temp['current_mean'] == 0].reset_index(drop=True)  #静置数据
        filename = 'rest_' + mask_filename
        ioo.save_data_csv(data, filename, data_dir)
        data = temp[temp['current_mean'] > 0].reset_index(drop=True)  #充电数据
        filename = 'charge_' + mask_filename
        ioo.save_data_csv(data, filename, data_dir)
        data = temp[temp['current_mean'] < 0].reset_index(drop=True)  #放电数据
        filename = 'discharge_' + mask_filename
        ioo.save_data_csv(data, filename, data_dir)
        print('the data has been save within each workstate.')
    return result
Пример #5
0
def save_bat_data(data, filename, para_dict, mode, chunksize=None):
    ioo.save_data_csv(data, filename, para_dict['processed_data_dir'][mode])