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)
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])
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.')
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
def save_bat_data(data, filename, para_dict, mode, chunksize=None): ioo.save_data_csv(data, filename, para_dict['processed_data_dir'][mode])