783 KiB
783 KiB
In [1]:
import pandas as pd import lightgbm as lgb import numpy as np from sklearn.model_selection import train_test_split from sklearn.metrics import mean_absolute_error, mean_squared_error, mean_absolute_percentage_error, r2_score import datetime as dt import matplotlib.pyplot as plt #新增加的两行 from pylab import mpl # 设置显示中文字体 mpl.rcParams["font.sans-serif"] = ["SimHei"] mpl.rcParams["axes.unicode_minus"] = False
In [2]:
ori_data = pd.read_csv('data/unit_train_data.csv')
In [3]:
ori_data['day_of_week'] = ori_data.days.apply(lambda x: dt.datetime.strptime(x, '%Y-%m-%d').weekday() + 1)
In [4]:
data = ori_data.drop(columns=['days', 'day_of_year', '企业名称'])
In [5]:
data = data[data['燃料消耗量(吨)']>0].dropna() data
Out[5]:
r_O2 | temperature | 发电量(万千瓦时) | 供热量(吉焦) | c_smoke | c_NO2 | c_SO2 | flow | 燃料消耗量(吨) | 生产设备类型 | 燃料类型 | 低位发热量(GJ/t) | 汽轮机类型 | 冷却方式 | 额定蒸发量 | 压力参数 | 单机容量 | week_of_year | day_of_week | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 9.900000 | 51.250000 | 15.6796 | 6536.83 | 2.872405e+04 | 3.979907e+06 | 7.665088e+05 | 162345.192917 | 323.0 | 高温高压循环流化床锅炉 | 中高挥发分烟煤 | 20.501 | 背压式 | 水冷-闭式循环 | 230.0 | 高压 | 30.0 | 39 | 1 |
1 | 9.400000 | 50.679167 | 13.3984 | 2484.64 | 2.261807e+04 | 2.639425e+06 | 5.183845e+05 | 140175.330833 | 218.0 | 高温高压循环流化床锅炉 | 中高挥发分烟煤 | 20.501 | 背压式 | 水冷-闭式循环 | 230.0 | 高压 | 30.0 | 39 | 2 |
2 | 8.550000 | 52.808333 | 13.4023 | 3020.83 | 1.817677e+04 | 3.231672e+06 | 9.870800e+05 | 154686.184167 | 212.0 | 高温高压循环流化床锅炉 | 中高挥发分烟煤 | 20.501 | 背压式 | 水冷-闭式循环 | 230.0 | 高压 | 30.0 | 39 | 3 |
3 | 10.202083 | 48.854167 | 12.4765 | 5599.23 | 9.161746e+04 | 2.243444e+06 | 2.880779e+05 | 120345.545833 | 223.0 | 高温高压循环流化床锅炉 | 中高挥发分烟煤 | 20.501 | 背压式 | 水冷-闭式循环 | 230.0 | 高压 | 30.0 | 39 | 4 |
4 | 11.497917 | 45.783333 | 13.4414 | 4702.65 | 2.995257e+05 | 3.580802e+06 | 5.500482e+04 | 162533.103542 | 243.0 | 高温高压循环流化床锅炉 | 中高挥发分烟煤 | 20.501 | 背压式 | 水冷-闭式循环 | 230.0 | 高压 | 30.0 | 39 | 5 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
1486 | 6.329167 | 44.741667 | 467.1060 | 0.00 | 1.020390e+06 | 1.173919e+07 | 1.101318e+07 | 836100.000000 | 2401.0 | 煤粉锅炉 | 一般烟煤 | 14.682 | 抽凝式 | 水冷-闭式循环 | 1172.0 | 超临界 | 350.0 | 20 | 5 |
1487 | 6.183333 | 45.587500 | 504.9000 | 0.00 | 1.169393e+06 | 1.393048e+07 | 1.335698e+07 | 895515.000000 | 2611.0 | 煤粉锅炉 | 一般烟煤 | 14.682 | 抽凝式 | 水冷-闭式循环 | 1172.0 | 超临界 | 350.0 | 21 | 6 |
1488 | 6.425000 | 45.545833 | 462.8220 | 0.00 | 1.124243e+06 | 1.267043e+07 | 1.129934e+07 | 837945.000000 | 2846.0 | 煤粉锅炉 | 一般烟煤 | 14.682 | 抽凝式 | 水冷-闭式循环 | 1172.0 | 超临界 | 350.0 | 21 | 7 |
1489 | 6.162500 | 45.175000 | 528.9600 | 0.00 | 1.296293e+06 | 1.442430e+07 | 1.434195e+07 | 915030.000000 | 2981.0 | 煤粉锅炉 | 一般烟煤 | 14.682 | 抽凝式 | 水冷-闭式循环 | 1172.0 | 超临界 | 350.0 | 21 | 1 |
1490 | 5.570833 | 46.100000 | 672.1800 | 0.00 | 1.554891e+06 | 1.758048e+07 | 1.593381e+07 | 992220.000000 | 3560.0 | 煤粉锅炉 | 一般烟煤 | 14.682 | 抽凝式 | 水冷-闭式循环 | 1172.0 | 超临界 | 350.0 | 21 | 2 |
1254 rows × 19 columns
In [6]:
object_cols = ['生产设备类型', '燃料类型', '汽轮机类型', '冷却方式', '压力参数', 'day_of_week'] num_cols = [x for x in data.columns if x not in object_cols] num_cols
Out[6]:
['r_O2', 'temperature', '发电量(万千瓦时)', '供热量(吉焦)', 'c_smoke', 'c_NO2', 'c_SO2', 'flow', '燃料消耗量(吨)', '低位发热量(GJ/t)', '额定蒸发量', '单机容量', 'week_of_year']
In [7]:
for col in num_cols: minus_index = data[data[col]<0].index.values data.loc[minus_index, col] = 0 data[col] = np.log1p(data[col])
In [8]:
fig = plt.figure(figsize=(20, 20)) for index, col in enumerate(object_cols+num_cols): plt.subplot(4,5,index+1) plt.title(col) # if col in object_cols: # plt.bar(data['燃料类型'].value_counts().index, data['燃料类型'].value_counts().values) # else: plt.hist(data[col]) plt.savefig('figure/特征分析.png')
In [9]:
use_data = pd.get_dummies(data.drop(columns=['r_O2', 'temperature']), columns=object_cols)
In [10]:
# feature_cols = [x for x in use_data.columns if x != '燃料消耗量(吨)'] feature_cols = [x for x in use_data.columns if x not in ['发电量(万千瓦时)', '供热量(吉焦)', '燃料消耗量(吨)']] np.random.shuffle(feature_cols) feature_cols
Out[10]:
['day_of_week_3', '汽轮机类型_背压式', 'day_of_week_6', 'day_of_week_5', '额定蒸发量', '低位发热量(GJ/t)', '生产设备类型_煤粉锅炉', 'day_of_week_7', 'day_of_week_1', 'day_of_week_2', 'c_SO2', '燃料类型_低挥发分烟煤', 'day_of_week_4', '生产设备类型_高温高压循环流化床锅炉', '燃料类型_中高挥发分烟煤', '单机容量', '压力参数_超临界', 'c_smoke', 'flow', 'week_of_year', '燃料类型_一般烟煤', '压力参数_超超临界', '汽轮机类型_抽凝式', '冷却方式_水冷-闭式循环', '压力参数_高压', 'c_NO2']
In [11]:
train_data, valid = train_test_split(use_data, test_size=0.2, shuffle=True, random_state=666) valid_data, test_data = train_test_split(valid, test_size=0.5, shuffle=True, random_state=666)
In [12]:
X_train, Y_train = train_data[feature_cols], train_data['燃料消耗量(吨)'] X_valid, Y_valid = valid_data[feature_cols], valid_data['燃料消耗量(吨)'] X_test, Y_test = test_data[feature_cols], test_data['燃料消耗量(吨)']
In [13]:
lgb_train = lgb.Dataset(X_train, Y_train) lgb_eval = lgb.Dataset(X_valid, Y_valid) lgb_test = lgb.Dataset(X_test, Y_test)
In [14]:
params = { 'task': 'train', 'boosting_type': 'gbdt', # 设置提升类型 'objective': 'regression_l2', # 目标函数 'metric': {'rmse'}, # 评估函数 'max_depth': 10, 'num_leaves': 31, # 叶子节点数 'learning_rate': 0.005, # 学习速率 'feature_fraction': 0.9, # 建树的特征选择比例 'bagging_fraction': 0.8, # 建树的样本采样比例 'bagging_freq': 5, # k 意味着每 k 次迭代执行bagging 'verbose': -1 # <0 显示致命的, =0 显示错误 (警告), >0 显示信息 }
In [15]:
gbm = lgb.train(params, lgb_train, num_boost_round=2000, valid_sets=lgb_eval, early_stopping_rounds=100)
[1] valid_0's rmse: 0.619783 Training until validation scores don't improve for 100 rounds [2] valid_0's rmse: 0.617031 [3] valid_0's rmse: 0.614294 [4] valid_0's rmse: 0.611572 [5] valid_0's rmse: 0.608865 [6] valid_0's rmse: 0.606158 [7] valid_0's rmse: 0.603466 [8] valid_0's rmse: 0.600814 [9] valid_0's rmse: 0.598151 [10] valid_0's rmse: 0.595503 [11] valid_0's rmse: 0.592866 [12] valid_0's rmse: 0.590287 [13] valid_0's rmse: 0.587678 [14] valid_0's rmse: 0.585082 [15] valid_0's rmse: 0.582545 [16] valid_0's rmse: 0.579979 [17] valid_0's rmse: 0.577427 [18] valid_0's rmse: 0.574889 [19] valid_0's rmse: 0.572365 [20] valid_0's rmse: 0.569854 [21] valid_0's rmse: 0.567376 [22] valid_0's rmse: 0.564911 [23] valid_0's rmse: 0.562463 [24] valid_0's rmse: 0.560027 [25] valid_0's rmse: 0.557602 [26] valid_0's rmse: 0.555143 [27] valid_0's rmse: 0.552698 [28] valid_0's rmse: 0.550265 [29] valid_0's rmse: 0.547893 [30] valid_0's rmse: 0.545487 [31] valid_0's rmse: 0.543116 [32] valid_0's rmse: 0.54079 [33] valid_0's rmse: 0.538434 [34] valid_0's rmse: 0.536101 [35] valid_0's rmse: 0.533775 [36] valid_0's rmse: 0.531488 [37] valid_0's rmse: 0.529221 [38] valid_0's rmse: 0.52696 [39] valid_0's rmse: 0.524734 [40] valid_0's rmse: 0.522497 [41] valid_0's rmse: 0.52024 [42] valid_0's rmse: 0.517995 [43] valid_0's rmse: 0.515746 [44] valid_0's rmse: 0.513525 [45] valid_0's rmse: 0.511317 [46] valid_0's rmse: 0.509117 [47] valid_0's rmse: 0.50695 [48] valid_0's rmse: 0.504751 [49] valid_0's rmse: 0.502583 [50] valid_0's rmse: 0.500458 [51] valid_0's rmse: 0.498381 [52] valid_0's rmse: 0.496333 [53] valid_0's rmse: 0.494242 [54] valid_0's rmse: 0.492194 [55] valid_0's rmse: 0.49018 [56] valid_0's rmse: 0.488205 [57] valid_0's rmse: 0.486212 [58] valid_0's rmse: 0.484243 [59] valid_0's rmse: 0.48227 [60] valid_0's rmse: 0.48031 [61] valid_0's rmse: 0.478283 [62] valid_0's rmse: 0.476267 [63] valid_0's rmse: 0.474262 [64] valid_0's rmse: 0.472269 [65] valid_0's rmse: 0.470281 [66] valid_0's rmse: 0.468313 [67] valid_0's rmse: 0.466414 [68] valid_0's rmse: 0.464465 [69] valid_0's rmse: 0.462515 [70] valid_0's rmse: 0.460588 [71] valid_0's rmse: 0.458701 [72] valid_0's rmse: 0.45682 [73] valid_0's rmse: 0.454947 [74] valid_0's rmse: 0.453091 [75] valid_0's rmse: 0.451269 [76] valid_0's rmse: 0.449393 [77] valid_0's rmse: 0.447497 [78] valid_0's rmse: 0.445613 [79] valid_0's rmse: 0.443803 [80] valid_0's rmse: 0.442004 [81] valid_0's rmse: 0.440201 [82] valid_0's rmse: 0.438408 [83] valid_0's rmse: 0.436629 [84] valid_0's rmse: 0.43486 [85] valid_0's rmse: 0.433098 [86] valid_0's rmse: 0.431378 [87] valid_0's rmse: 0.429625 [88] valid_0's rmse: 0.427891 [89] valid_0's rmse: 0.426163 [90] valid_0's rmse: 0.424432 [91] valid_0's rmse: 0.422746 [92] valid_0's rmse: 0.421041 [93] valid_0's rmse: 0.419345 [94] valid_0's rmse: 0.41765 [95] valid_0's rmse: 0.415965 [96] valid_0's rmse: 0.414284 [97] valid_0's rmse: 0.412607 [98] valid_0's rmse: 0.410945 [99] valid_0's rmse: 0.409287 [100] valid_0's rmse: 0.407644 [101] valid_0's rmse: 0.405998 [102] valid_0's rmse: 0.404362 [103] valid_0's rmse: 0.402735 [104] valid_0's rmse: 0.40113 [105] valid_0's rmse: 0.399534 [106] valid_0's rmse: 0.397949 [107] valid_0's rmse: 0.396416 [108] valid_0's rmse: 0.394846 [109] valid_0's rmse: 0.393286 [110] valid_0's rmse: 0.391743 [111] valid_0's rmse: 0.390222 [112] valid_0's rmse: 0.38871 [113] valid_0's rmse: 0.387208 [114] valid_0's rmse: 0.385714 [115] valid_0's rmse: 0.384217 [116] valid_0's rmse: 0.382661 [117] valid_0's rmse: 0.381114 [118] valid_0's rmse: 0.379577 [119] valid_0's rmse: 0.378049 [120] valid_0's rmse: 0.376538 [121] valid_0's rmse: 0.375084 [122] valid_0's rmse: 0.373638 [123] valid_0's rmse: 0.372202 [124] valid_0's rmse: 0.370773 [125] valid_0's rmse: 0.369354 [126] valid_0's rmse: 0.36794 [127] valid_0's rmse: 0.366524 [128] valid_0's rmse: 0.365117 [129] valid_0's rmse: 0.363727 [130] valid_0's rmse: 0.36234 [131] valid_0's rmse: 0.36101 [132] valid_0's rmse: 0.359689 [133] valid_0's rmse: 0.358416 [134] valid_0's rmse: 0.357111 [135] valid_0's rmse: 0.355822 [136] valid_0's rmse: 0.35454 [137] valid_0's rmse: 0.353265 [138] valid_0's rmse: 0.351998 [139] valid_0's rmse: 0.350739 [140] valid_0's rmse: 0.349487 [141] valid_0's rmse: 0.348259 [142] valid_0's rmse: 0.347038 [143] valid_0's rmse: 0.345869 [144] valid_0's rmse: 0.344681 [145] valid_0's rmse: 0.343526 [146] valid_0's rmse: 0.342256 [147] valid_0's rmse: 0.341045 [148] valid_0's rmse: 0.339791 [149] valid_0's rmse: 0.338543 [150] valid_0's rmse: 0.337329 [151] valid_0's rmse: 0.336155 [152] valid_0's rmse: 0.334988 [153] valid_0's rmse: 0.333828 [154] valid_0's rmse: 0.332673 [155] valid_0's rmse: 0.331528 [156] valid_0's rmse: 0.330367 [157] valid_0's rmse: 0.329181 [158] valid_0's rmse: 0.328009 [159] valid_0's rmse: 0.326837 [160] valid_0's rmse: 0.325674 [161] valid_0's rmse: 0.324545 [162] valid_0's rmse: 0.32341 [163] valid_0's rmse: 0.322245 [164] valid_0's rmse: 0.321128 [165] valid_0's rmse: 0.320027 [166] valid_0's rmse: 0.318917 [167] valid_0's rmse: 0.31785 [168] valid_0's rmse: 0.316779 [169] valid_0's rmse: 0.315706 [170] valid_0's rmse: 0.314629 [171] valid_0's rmse: 0.313557 [172] valid_0's rmse: 0.31248 [173] valid_0's rmse: 0.311406 [174] valid_0's rmse: 0.310324 [175] valid_0's rmse: 0.30925 [176] valid_0's rmse: 0.308202 [177] valid_0's rmse: 0.30716 [178] valid_0's rmse: 0.306122 [179] valid_0's rmse: 0.305093 [180] valid_0's rmse: 0.304074 [181] valid_0's rmse: 0.303092 [182] valid_0's rmse: 0.302127 [183] valid_0's rmse: 0.301168 [184] valid_0's rmse: 0.300216 [185] valid_0's rmse: 0.29927 [186] valid_0's rmse: 0.298222 [187] valid_0's rmse: 0.29718 [188] valid_0's rmse: 0.296147 [189] valid_0's rmse: 0.295143 [190] valid_0's rmse: 0.294134 [191] valid_0's rmse: 0.293147 [192] valid_0's rmse: 0.292167 [193] valid_0's rmse: 0.291193 [194] valid_0's rmse: 0.290286 [195] valid_0's rmse: 0.28937 [196] valid_0's rmse: 0.288437 [197] valid_0's rmse: 0.287519 [198] valid_0's rmse: 0.286579 [199] valid_0's rmse: 0.285642 [200] valid_0's rmse: 0.284734 [201] valid_0's rmse: 0.283841 [202] valid_0's rmse: 0.282962 [203] valid_0's rmse: 0.28209 [204] valid_0's rmse: 0.281222 [205] valid_0's rmse: 0.280369 [206] valid_0's rmse: 0.279506 [207] valid_0's rmse: 0.278653 [208] valid_0's rmse: 0.277802 [209] valid_0's rmse: 0.276953 [210] valid_0's rmse: 0.276114 [211] valid_0's rmse: 0.275285 [212] valid_0's rmse: 0.274473 [213] valid_0's rmse: 0.273674 [214] valid_0's rmse: 0.272856 [215] valid_0's rmse: 0.272068 [216] valid_0's rmse: 0.271275 [217] valid_0's rmse: 0.27047 [218] valid_0's rmse: 0.269669 [219] valid_0's rmse: 0.268874 [220] valid_0's rmse: 0.268084 [221] valid_0's rmse: 0.267302 [222] valid_0's rmse: 0.266539 [223] valid_0's rmse: 0.265767 [224] valid_0's rmse: 0.265001 [225] valid_0's rmse: 0.264239 [226] valid_0's rmse: 0.26344 [227] valid_0's rmse: 0.262706 [228] valid_0's rmse: 0.261917 [229] valid_0's rmse: 0.261132 [230] valid_0's rmse: 0.260357 [231] valid_0's rmse: 0.259586 [232] valid_0's rmse: 0.258825 [233] valid_0's rmse: 0.258087 [234] valid_0's rmse: 0.257355 [235] valid_0's rmse: 0.256589 [236] valid_0's rmse: 0.255878 [237] valid_0's rmse: 0.25519 [238] valid_0's rmse: 0.254488 [239] valid_0's rmse: 0.25381 [240] valid_0's rmse: 0.253118 [241] valid_0's rmse: 0.252457 [242] valid_0's rmse: 0.251815 [243] valid_0's rmse: 0.251124 [244] valid_0's rmse: 0.250478 [245] valid_0's rmse: 0.249796 [246] valid_0's rmse: 0.249153 [247] valid_0's rmse: 0.248502 [248] valid_0's rmse: 0.247847 [249] valid_0's rmse: 0.247176 [250] valid_0's rmse: 0.246527 [251] valid_0's rmse: 0.245838 [252] valid_0's rmse: 0.245198 [253] valid_0's rmse: 0.24455 [254] valid_0's rmse: 0.243906 [255] valid_0's rmse: 0.243267 [256] valid_0's rmse: 0.242641 [257] valid_0's rmse: 0.24202 [258] valid_0's rmse: 0.2414 [259] valid_0's rmse: 0.240788 [260] valid_0's rmse: 0.240177 [261] valid_0's rmse: 0.239581 [262] valid_0's rmse: 0.23892 [263] valid_0's rmse: 0.238264 [264] valid_0's rmse: 0.237611 [265] valid_0's rmse: 0.236964 [266] valid_0's rmse: 0.236425 [267] valid_0's rmse: 0.235845 [268] valid_0's rmse: 0.235212 [269] valid_0's rmse: 0.234584 [270] valid_0's rmse: 0.23396 [271] valid_0's rmse: 0.233365 [272] valid_0's rmse: 0.23277 [273] valid_0's rmse: 0.232181 [274] valid_0's rmse: 0.231669 [275] valid_0's rmse: 0.231094 [276] valid_0's rmse: 0.230545 [277] valid_0's rmse: 0.229999 [278] valid_0's rmse: 0.229457 [279] valid_0's rmse: 0.228919 [280] valid_0's rmse: 0.228369 [281] valid_0's rmse: 0.227856 [282] valid_0's rmse: 0.227374 [283] valid_0's rmse: 0.226837 [284] valid_0's rmse: 0.226334 [285] valid_0's rmse: 0.225805 [286] valid_0's rmse: 0.225299 [287] valid_0's rmse: 0.224793 [288] valid_0's rmse: 0.224287 [289] valid_0's rmse: 0.223792 [290] valid_0's rmse: 0.223301 [291] valid_0's rmse: 0.222791 [292] valid_0's rmse: 0.222286 [293] valid_0's rmse: 0.221828 [294] valid_0's rmse: 0.221345 [295] valid_0's rmse: 0.220867 [296] valid_0's rmse: 0.220366 [297] valid_0's rmse: 0.219868 [298] valid_0's rmse: 0.219369 [299] valid_0's rmse: 0.21892 [300] valid_0's rmse: 0.218451 [301] valid_0's rmse: 0.217973 [302] valid_0's rmse: 0.217498 [303] valid_0's rmse: 0.217026 [304] valid_0's rmse: 0.216558 [305] valid_0's rmse: 0.216093 [306] valid_0's rmse: 0.21558 [307] valid_0's rmse: 0.215071 [308] valid_0's rmse: 0.214565 [309] valid_0's rmse: 0.214063 [310] valid_0's rmse: 0.213564 [311] valid_0's rmse: 0.213094 [312] valid_0's rmse: 0.212612 [313] valid_0's rmse: 0.212136 [314] valid_0's rmse: 0.211661 [315] valid_0's rmse: 0.211191 [316] valid_0's rmse: 0.21075 [317] valid_0's rmse: 0.2103 [318] valid_0's rmse: 0.209865 [319] valid_0's rmse: 0.209421 [320] valid_0's rmse: 0.209008 [321] valid_0's rmse: 0.208552 [322] valid_0's rmse: 0.208116 [323] valid_0's rmse: 0.207668 [324] valid_0's rmse: 0.207213 [325] valid_0's rmse: 0.206771 [326] valid_0's rmse: 0.206379 [327] valid_0's rmse: 0.205998 [328] valid_0's rmse: 0.205628 [329] valid_0's rmse: 0.205268 [330] valid_0's rmse: 0.204885 [331] valid_0's rmse: 0.204505 [332] valid_0's rmse: 0.204119 [333] valid_0's rmse: 0.20374 [334] valid_0's rmse: 0.203344 [335] valid_0's rmse: 0.202957 [336] valid_0's rmse: 0.20259 [337] valid_0's rmse: 0.202226 [338] valid_0's rmse: 0.201864 [339] valid_0's rmse: 0.201506 [340] valid_0's rmse: 0.20115 [341] valid_0's rmse: 0.200774 [342] valid_0's rmse: 0.200405 [343] valid_0's rmse: 0.200039 [344] valid_0's rmse: 0.199675 [345] valid_0's rmse: 0.199315 [346] valid_0's rmse: 0.198938 [347] valid_0's rmse: 0.198563 [348] valid_0's rmse: 0.198191 [349] valid_0's rmse: 0.197823 [350] valid_0's rmse: 0.197457 [351] valid_0's rmse: 0.197116 [352] valid_0's rmse: 0.196775 [353] valid_0's rmse: 0.196428 [354] valid_0's rmse: 0.196089 [355] valid_0's rmse: 0.195754 [356] valid_0's rmse: 0.195476 [357] valid_0's rmse: 0.195165 [358] valid_0's rmse: 0.194848 [359] valid_0's rmse: 0.194578 [360] valid_0's rmse: 0.194265 [361] valid_0's rmse: 0.193964 [362] valid_0's rmse: 0.193665 [363] valid_0's rmse: 0.193355 [364] valid_0's rmse: 0.193027 [365] valid_0's rmse: 0.192736 [366] valid_0's rmse: 0.192424 [367] valid_0's rmse: 0.192154 [368] valid_0's rmse: 0.191886 [369] valid_0's rmse: 0.191645 [370] valid_0's rmse: 0.191379 [371] valid_0's rmse: 0.191069 [372] valid_0's rmse: 0.190752 [373] valid_0's rmse: 0.190382 [374] valid_0's rmse: 0.190016 [375] valid_0's rmse: 0.189714 [376] valid_0's rmse: 0.189433 [377] valid_0's rmse: 0.189196 [378] valid_0's rmse: 0.188975 [379] valid_0's rmse: 0.188741 [380] valid_0's rmse: 0.188509 [381] valid_0's rmse: 0.188247 [382] valid_0's rmse: 0.187967 [383] valid_0's rmse: 0.187689 [384] valid_0's rmse: 0.187433 [385] valid_0's rmse: 0.187179 [386] valid_0's rmse: 0.186922 [387] valid_0's rmse: 0.186674 [388] valid_0's rmse: 0.186428 [389] valid_0's rmse: 0.186182 [390] valid_0's rmse: 0.185937 [391] valid_0's rmse: 0.185662 [392] valid_0's rmse: 0.185401 [393] valid_0's rmse: 0.185129 [394] valid_0's rmse: 0.184858 [395] valid_0's rmse: 0.184597 [396] valid_0's rmse: 0.184356 [397] valid_0's rmse: 0.184062 [398] valid_0's rmse: 0.183829 [399] valid_0's rmse: 0.18354 [400] valid_0's rmse: 0.183307 [401] valid_0's rmse: 0.183066 [402] valid_0's rmse: 0.182836 [403] valid_0's rmse: 0.18258 [404] valid_0's rmse: 0.182325 [405] valid_0's rmse: 0.1821 [406] valid_0's rmse: 0.181845 [407] valid_0's rmse: 0.18161 [408] valid_0's rmse: 0.181358 [409] valid_0's rmse: 0.181108 [410] valid_0's rmse: 0.180853 [411] valid_0's rmse: 0.180626 [412] valid_0's rmse: 0.180408 [413] valid_0's rmse: 0.180192 [414] valid_0's rmse: 0.179978 [415] valid_0's rmse: 0.179733 [416] valid_0's rmse: 0.179496 [417] valid_0's rmse: 0.179264 [418] valid_0's rmse: 0.179013 [419] valid_0's rmse: 0.178782 [420] valid_0's rmse: 0.178538 [421] valid_0's rmse: 0.178333 [422] valid_0's rmse: 0.17813 [423] valid_0's rmse: 0.177934 [424] valid_0's rmse: 0.177734 [425] valid_0's rmse: 0.177535 [426] valid_0's rmse: 0.177367 [427] valid_0's rmse: 0.177148 [428] valid_0's rmse: 0.176931 [429] valid_0's rmse: 0.176715 [430] valid_0's rmse: 0.176499 [431] valid_0's rmse: 0.176319 [432] valid_0's rmse: 0.176141 [433] valid_0's rmse: 0.175955 [434] valid_0's rmse: 0.175762 [435] valid_0's rmse: 0.175613 [436] valid_0's rmse: 0.175437 [437] valid_0's rmse: 0.175248 [438] valid_0's rmse: 0.17505 [439] valid_0's rmse: 0.174853 [440] valid_0's rmse: 0.174673 [441] valid_0's rmse: 0.174474 [442] valid_0's rmse: 0.174273 [443] valid_0's rmse: 0.174106 [444] valid_0's rmse: 0.173908 [445] valid_0's rmse: 0.173716 [446] valid_0's rmse: 0.173561 [447] valid_0's rmse: 0.173408 [448] valid_0's rmse: 0.173249 [449] valid_0's rmse: 0.173107 [450] valid_0's rmse: 0.172955 [451] valid_0's rmse: 0.172746 [452] valid_0's rmse: 0.172535 [453] valid_0's rmse: 0.17233 [454] valid_0's rmse: 0.172121 [455] valid_0's rmse: 0.171919 [456] valid_0's rmse: 0.171761 [457] valid_0's rmse: 0.171602 [458] valid_0's rmse: 0.171454 [459] valid_0's rmse: 0.171307 [460] valid_0's rmse: 0.171153 [461] valid_0's rmse: 0.170961 [462] valid_0's rmse: 0.170759 [463] valid_0's rmse: 0.170558 [464] valid_0's rmse: 0.17036 [465] valid_0's rmse: 0.170163 [466] valid_0's rmse: 0.169965 [467] valid_0's rmse: 0.169769 [468] valid_0's rmse: 0.169574 [469] valid_0's rmse: 0.169381 [470] valid_0's rmse: 0.169172 [471] valid_0's rmse: 0.169051 [472] valid_0's rmse: 0.168918 [473] valid_0's rmse: 0.168822 [474] valid_0's rmse: 0.168698 [475] valid_0's rmse: 0.168575 [476] valid_0's rmse: 0.168457 [477] valid_0's rmse: 0.168306 [478] valid_0's rmse: 0.16819 [479] valid_0's rmse: 0.168027 [480] valid_0's rmse: 0.167848 [481] valid_0's rmse: 0.167696 [482] valid_0's rmse: 0.167583 [483] valid_0's rmse: 0.167468 [484] valid_0's rmse: 0.167319 [485] valid_0's rmse: 0.167172 [486] valid_0's rmse: 0.167056 [487] valid_0's rmse: 0.166944 [488] valid_0's rmse: 0.166833 [489] valid_0's rmse: 0.166736 [490] valid_0's rmse: 0.166625 [491] valid_0's rmse: 0.16646 [492] valid_0's rmse: 0.166296 [493] valid_0's rmse: 0.166178 [494] valid_0's rmse: 0.166029 [495] valid_0's rmse: 0.165943 [496] valid_0's rmse: 0.165823 [497] valid_0's rmse: 0.165704 [498] valid_0's rmse: 0.165587 [499] valid_0's rmse: 0.165474 [500] valid_0's rmse: 0.16536 [501] valid_0's rmse: 0.165277 [502] valid_0's rmse: 0.165201 [503] valid_0's rmse: 0.165125 [504] valid_0's rmse: 0.165051 [505] valid_0's rmse: 0.164976 [506] valid_0's rmse: 0.164822 [507] valid_0's rmse: 0.164701 [508] valid_0's rmse: 0.164615 [509] valid_0's rmse: 0.164525 [510] valid_0's rmse: 0.164436 [511] valid_0's rmse: 0.164322 [512] valid_0's rmse: 0.16421 [513] valid_0's rmse: 0.164099 [514] valid_0's rmse: 0.163985 [515] valid_0's rmse: 0.163903 [516] valid_0's rmse: 0.163774 [517] valid_0's rmse: 0.163648 [518] valid_0's rmse: 0.163522 [519] valid_0's rmse: 0.163399 [520] valid_0's rmse: 0.163288 [521] valid_0's rmse: 0.16316 [522] valid_0's rmse: 0.163048 [523] valid_0's rmse: 0.162938 [524] valid_0's rmse: 0.162834 [525] valid_0's rmse: 0.162771 [526] valid_0's rmse: 0.162658 [527] valid_0's rmse: 0.162548 [528] valid_0's rmse: 0.162427 [529] valid_0's rmse: 0.162331 [530] valid_0's rmse: 0.162224 [531] valid_0's rmse: 0.162099 [532] valid_0's rmse: 0.162019 [533] valid_0's rmse: 0.161896 [534] valid_0's rmse: 0.161772 [535] valid_0's rmse: 0.16165 [536] valid_0's rmse: 0.161567 [537] valid_0's rmse: 0.161483 [538] valid_0's rmse: 0.161378 [539] valid_0's rmse: 0.161269 [540] valid_0's rmse: 0.16119 [541] valid_0's rmse: 0.161061 [542] valid_0's rmse: 0.160941 [543] valid_0's rmse: 0.160814 [544] valid_0's rmse: 0.160693 [545] valid_0's rmse: 0.160582 [546] valid_0's rmse: 0.160462 [547] valid_0's rmse: 0.160407 [548] valid_0's rmse: 0.160333 [549] valid_0's rmse: 0.16026 [550] valid_0's rmse: 0.160179 [551] valid_0's rmse: 0.160086 [552] valid_0's rmse: 0.159994 [553] valid_0's rmse: 0.159903 [554] valid_0's rmse: 0.159816 [555] valid_0's rmse: 0.159729 [556] valid_0's rmse: 0.159657 [557] valid_0's rmse: 0.159583 [558] valid_0's rmse: 0.159512 [559] valid_0's rmse: 0.159431 [560] valid_0's rmse: 0.159363 [561] valid_0's rmse: 0.15929 [562] valid_0's rmse: 0.159201 [563] valid_0's rmse: 0.15913 [564] valid_0's rmse: 0.159059 [565] valid_0's rmse: 0.158994 [566] valid_0's rmse: 0.158926 [567] valid_0's rmse: 0.158859 [568] valid_0's rmse: 0.158784 [569] valid_0's rmse: 0.158718 [570] valid_0's rmse: 0.15864 [571] valid_0's rmse: 0.15854 [572] valid_0's rmse: 0.158466 [573] valid_0's rmse: 0.158377 [574] valid_0's rmse: 0.158279 [575] valid_0's rmse: 0.158175 [576] valid_0's rmse: 0.158108 [577] valid_0's rmse: 0.158043 [578] valid_0's rmse: 0.157987 [579] valid_0's rmse: 0.157923 [580] valid_0's rmse: 0.157859 [581] valid_0's rmse: 0.157801 [582] valid_0's rmse: 0.157766 [583] valid_0's rmse: 0.157713 [584] valid_0's rmse: 0.157656 [585] valid_0's rmse: 0.157601 [586] valid_0's rmse: 0.157536 [587] valid_0's rmse: 0.157471 [588] valid_0's rmse: 0.157411 [589] valid_0's rmse: 0.157344 [590] valid_0's rmse: 0.157278 [591] valid_0's rmse: 0.157254 [592] valid_0's rmse: 0.157224 [593] valid_0's rmse: 0.157201 [594] valid_0's rmse: 0.157166 [595] valid_0's rmse: 0.157144 [596] valid_0's rmse: 0.157069 [597] valid_0's rmse: 0.156995 [598] valid_0's rmse: 0.156921 [599] valid_0's rmse: 0.156846 [600] valid_0's rmse: 0.156775 [601] valid_0's rmse: 0.156688 [602] valid_0's rmse: 0.156607 [603] valid_0's rmse: 0.156525 [604] valid_0's rmse: 0.156432 [605] valid_0's rmse: 0.156355 [606] valid_0's rmse: 0.156329 [607] valid_0's rmse: 0.156249 [608] valid_0's rmse: 0.156157 [609] valid_0's rmse: 0.156061 [610] valid_0's rmse: 0.155983 [611] valid_0's rmse: 0.155912 [612] valid_0's rmse: 0.155841 [613] valid_0's rmse: 0.155761 [614] valid_0's rmse: 0.155703 [615] valid_0's rmse: 0.155649 [616] valid_0's rmse: 0.155608 [617] valid_0's rmse: 0.155591 [618] valid_0's rmse: 0.155552 [619] valid_0's rmse: 0.155526 [620] valid_0's rmse: 0.155487 [621] valid_0's rmse: 0.155432 [622] valid_0's rmse: 0.155367 [623] valid_0's rmse: 0.15532 [624] valid_0's rmse: 0.155265 [625] valid_0's rmse: 0.155232 [626] valid_0's rmse: 0.155182 [627] valid_0's rmse: 0.155132 [628] valid_0's rmse: 0.155115 [629] valid_0's rmse: 0.155051 [630] valid_0's rmse: 0.155003 [631] valid_0's rmse: 0.154952 [632] valid_0's rmse: 0.154903 [633] valid_0's rmse: 0.154854 [634] valid_0's rmse: 0.154807 [635] valid_0's rmse: 0.154764 [636] valid_0's rmse: 0.154671 [637] valid_0's rmse: 0.154588 [638] valid_0's rmse: 0.154506 [639] valid_0's rmse: 0.154425 [640] valid_0's rmse: 0.154347 [641] valid_0's rmse: 0.154288 [642] valid_0's rmse: 0.154227 [643] valid_0's rmse: 0.154169 [644] valid_0's rmse: 0.154108 [645] valid_0's rmse: 0.154048 [646] valid_0's rmse: 0.154007 [647] valid_0's rmse: 0.153966 [648] valid_0's rmse: 0.153926 [649] valid_0's rmse: 0.153923 [650] valid_0's rmse: 0.153883 [651] valid_0's rmse: 0.153857 [652] valid_0's rmse: 0.153794 [653] valid_0's rmse: 0.153768 [654] valid_0's rmse: 0.153743 [655] valid_0's rmse: 0.153685 [656] valid_0's rmse: 0.153635 [657] valid_0's rmse: 0.153615 [658] valid_0's rmse: 0.153595 [659] valid_0's rmse: 0.153569 [660] valid_0's rmse: 0.153539 [661] valid_0's rmse: 0.153494 [662] valid_0's rmse: 0.153472 [663] valid_0's rmse: 0.153427 [664] valid_0's rmse: 0.15341 [665] valid_0's rmse: 0.153373 [666] valid_0's rmse: 0.153329 [667] valid_0's rmse: 0.153287 [668] valid_0's rmse: 0.153239 [669] valid_0's rmse: 0.153198 [670] valid_0's rmse: 0.153157 [671] valid_0's rmse: 0.153097 [672] valid_0's rmse: 0.153048 [673] valid_0's rmse: 0.152994 [674] valid_0's rmse: 0.152932 [675] valid_0's rmse: 0.152884 [676] valid_0's rmse: 0.152847 [677] valid_0's rmse: 0.152817 [678] valid_0's rmse: 0.152766 [679] valid_0's rmse: 0.152716 [680] valid_0's rmse: 0.152667 [681] valid_0's rmse: 0.152594 [682] valid_0's rmse: 0.152523 [683] valid_0's rmse: 0.152434 [684] valid_0's rmse: 0.15238 [685] valid_0's rmse: 0.152307 [686] valid_0's rmse: 0.152271 [687] valid_0's rmse: 0.152279 [688] valid_0's rmse: 0.152222 [689] valid_0's rmse: 0.1522 [690] valid_0's rmse: 0.152185 [691] valid_0's rmse: 0.152157 [692] valid_0's rmse: 0.152129 [693] valid_0's rmse: 0.152099 [694] valid_0's rmse: 0.152073 [695] valid_0's rmse: 0.152044 [696] valid_0's rmse: 0.151981 [697] valid_0's rmse: 0.151922 [698] valid_0's rmse: 0.151867 [699] valid_0's rmse: 0.151799 [700] valid_0's rmse: 0.151729 [701] valid_0's rmse: 0.151686 [702] valid_0's rmse: 0.15171 [703] valid_0's rmse: 0.151691 [704] valid_0's rmse: 0.151706 [705] valid_0's rmse: 0.151722 [706] valid_0's rmse: 0.151679 [707] valid_0's rmse: 0.15163 [708] valid_0's rmse: 0.151596 [709] valid_0's rmse: 0.151555 [710] valid_0's rmse: 0.15151 [711] valid_0's rmse: 0.151444 [712] valid_0's rmse: 0.151413 [713] valid_0's rmse: 0.151383 [714] valid_0's rmse: 0.151317 [715] valid_0's rmse: 0.151253 [716] valid_0's rmse: 0.151228 [717] valid_0's rmse: 0.15119 [718] valid_0's rmse: 0.151166 [719] valid_0's rmse: 0.151113 [720] valid_0's rmse: 0.151077 [721] valid_0's rmse: 0.151058 [722] valid_0's rmse: 0.15104 [723] valid_0's rmse: 0.150994 [724] valid_0's rmse: 0.150972 [725] valid_0's rmse: 0.150956 [726] valid_0's rmse: 0.150933 [727] valid_0's rmse: 0.1509 [728] valid_0's rmse: 0.150878 [729] valid_0's rmse: 0.150858 [730] valid_0's rmse: 0.150836 [731] valid_0's rmse: 0.150799 [732] valid_0's rmse: 0.150742 [733] valid_0's rmse: 0.150679 [734] valid_0's rmse: 0.150623 [735] valid_0's rmse: 0.150563 [736] valid_0's rmse: 0.150528 [737] valid_0's rmse: 0.150481 [738] valid_0's rmse: 0.150439 [739] valid_0's rmse: 0.150397 [740] valid_0's rmse: 0.150356 [741] valid_0's rmse: 0.15036 [742] valid_0's rmse: 0.150374 [743] valid_0's rmse: 0.150396 [744] valid_0's rmse: 0.150401 [745] valid_0's rmse: 0.150429 [746] valid_0's rmse: 0.150402 [747] valid_0's rmse: 0.150365 [748] valid_0's rmse: 0.150307 [749] valid_0's rmse: 0.150285 [750] valid_0's rmse: 0.150228 [751] valid_0's rmse: 0.150187 [752] valid_0's rmse: 0.150151 [753] valid_0's rmse: 0.150093 [754] valid_0's rmse: 0.150037 [755] valid_0's rmse: 0.149979 [756] valid_0's rmse: 0.149932 [757] valid_0's rmse: 0.149904 [758] valid_0's rmse: 0.149876 [759] valid_0's rmse: 0.149846 [760] valid_0's rmse: 0.149817 [761] valid_0's rmse: 0.149764 [762] valid_0's rmse: 0.149712 [763] valid_0's rmse: 0.149656 [764] valid_0's rmse: 0.149671 [765] valid_0's rmse: 0.149688 [766] valid_0's rmse: 0.149645 [767] valid_0's rmse: 0.149606 [768] valid_0's rmse: 0.14957 [769] valid_0's rmse: 0.149524 [770] valid_0's rmse: 0.149478 [771] valid_0's rmse: 0.149489 [772] valid_0's rmse: 0.149491 [773] valid_0's rmse: 0.149503 [774] valid_0's rmse: 0.149514 [775] valid_0's rmse: 0.149529 [776] valid_0's rmse: 0.149512 [777] valid_0's rmse: 0.149499 [778] valid_0's rmse: 0.149513 [779] valid_0's rmse: 0.149507 [780] valid_0's rmse: 0.149502 [781] valid_0's rmse: 0.149483 [782] valid_0's rmse: 0.149466 [783] valid_0's rmse: 0.149445 [784] valid_0's rmse: 0.149428 [785] valid_0's rmse: 0.149411 [786] valid_0's rmse: 0.149423 [787] valid_0's rmse: 0.149401 [788] valid_0's rmse: 0.149415 [789] valid_0's rmse: 0.149426 [790] valid_0's rmse: 0.149446 [791] valid_0's rmse: 0.149456 [792] valid_0's rmse: 0.149466 [793] valid_0's rmse: 0.149472 [794] valid_0's rmse: 0.149478 [795] valid_0's rmse: 0.149483 [796] valid_0's rmse: 0.149452 [797] valid_0's rmse: 0.149422 [798] valid_0's rmse: 0.149392 [799] valid_0's rmse: 0.149367 [800] valid_0's rmse: 0.149338 [801] valid_0's rmse: 0.149311 [802] valid_0's rmse: 0.149289 [803] valid_0's rmse: 0.149268 [804] valid_0's rmse: 0.149246 [805] valid_0's rmse: 0.149224 [806] valid_0's rmse: 0.149191 [807] valid_0's rmse: 0.14917 [808] valid_0's rmse: 0.149138 [809] valid_0's rmse: 0.14913 [810] valid_0's rmse: 0.149099 [811] valid_0's rmse: 0.149082 [812] valid_0's rmse: 0.149065 [813] valid_0's rmse: 0.149055 [814] valid_0's rmse: 0.149038 [815] valid_0's rmse: 0.149023 [816] valid_0's rmse: 0.149 [817] valid_0's rmse: 0.148979 [818] valid_0's rmse: 0.148949 [819] valid_0's rmse: 0.148928 [820] valid_0's rmse: 0.148906 [821] valid_0's rmse: 0.14892 [822] valid_0's rmse: 0.148933 [823] valid_0's rmse: 0.14894 [824] valid_0's rmse: 0.148946 [825] valid_0's rmse: 0.148956 [826] valid_0's rmse: 0.148908 [827] valid_0's rmse: 0.148863 [828] valid_0's rmse: 0.148817 [829] valid_0's rmse: 0.148771 [830] valid_0's rmse: 0.148692 [831] valid_0's rmse: 0.148667 [832] valid_0's rmse: 0.148652 [833] valid_0's rmse: 0.148627 [834] valid_0's rmse: 0.148592 [835] valid_0's rmse: 0.14859 [836] valid_0's rmse: 0.148583 [837] valid_0's rmse: 0.148577 [838] valid_0's rmse: 0.148574 [839] valid_0's rmse: 0.148575 [840] valid_0's rmse: 0.14857 [841] valid_0's rmse: 0.148544 [842] valid_0's rmse: 0.148519 [843] valid_0's rmse: 0.148509 [844] valid_0's rmse: 0.148501 [845] valid_0's rmse: 0.148474 [846] valid_0's rmse: 0.148464 [847] valid_0's rmse: 0.148453 [848] valid_0's rmse: 0.148443 [849] valid_0's rmse: 0.148433 [850] valid_0's rmse: 0.148424 [851] valid_0's rmse: 0.148388 [852] valid_0's rmse: 0.148354 [853] valid_0's rmse: 0.148321 [854] valid_0's rmse: 0.148289 [855] valid_0's rmse: 0.148257 [856] valid_0's rmse: 0.148274 [857] valid_0's rmse: 0.148271 [858] valid_0's rmse: 0.148268 [859] valid_0's rmse: 0.148266 [860] valid_0's rmse: 0.148264 [861] valid_0's rmse: 0.148254 [862] valid_0's rmse: 0.148246 [863] valid_0's rmse: 0.148237 [864] valid_0's rmse: 0.148221 [865] valid_0's rmse: 0.148207 [866] valid_0's rmse: 0.148203 [867] valid_0's rmse: 0.148203 [868] valid_0's rmse: 0.148201 [869] valid_0's rmse: 0.148176 [870] valid_0's rmse: 0.148165 [871] valid_0's rmse: 0.148155 [872] valid_0's rmse: 0.148146 [873] valid_0's rmse: 0.148122 [874] valid_0's rmse: 0.148113 [875] valid_0's rmse: 0.148095 [876] valid_0's rmse: 0.148086 [877] valid_0's rmse: 0.14807 [878] valid_0's rmse: 0.148057 [879] valid_0's rmse: 0.148048 [880] valid_0's rmse: 0.148025 [881] valid_0's rmse: 0.14802 [882] valid_0's rmse: 0.148022 [883] valid_0's rmse: 0.14804 [884] valid_0's rmse: 0.148051 [885] valid_0's rmse: 0.14807 [886] valid_0's rmse: 0.148063 [887] valid_0's rmse: 0.148049 [888] valid_0's rmse: 0.148035 [889] valid_0's rmse: 0.148021 [890] valid_0's rmse: 0.148008 [891] valid_0's rmse: 0.14801 [892] valid_0's rmse: 0.14801 [893] valid_0's rmse: 0.148005 [894] valid_0's rmse: 0.147981 [895] valid_0's rmse: 0.147984 [896] valid_0's rmse: 0.147978 [897] valid_0's rmse: 0.147973 [898] valid_0's rmse: 0.147958 [899] valid_0's rmse: 0.147943 [900] valid_0's rmse: 0.147929 [901] valid_0's rmse: 0.147911 [902] valid_0's rmse: 0.147888 [903] valid_0's rmse: 0.147867 [904] valid_0's rmse: 0.147821 [905] valid_0's rmse: 0.147813 [906] valid_0's rmse: 0.147808 [907] valid_0's rmse: 0.147787 [908] valid_0's rmse: 0.147781 [909] valid_0's rmse: 0.147805 [910] valid_0's rmse: 0.147801 [911] valid_0's rmse: 0.147776 [912] valid_0's rmse: 0.14778 [913] valid_0's rmse: 0.147763 [914] valid_0's rmse: 0.147766 [915] valid_0's rmse: 0.14775 [916] valid_0's rmse: 0.147762 [917] valid_0's rmse: 0.147776 [918] valid_0's rmse: 0.147789 [919] valid_0's rmse: 0.147782 [920] valid_0's rmse: 0.147784 [921] valid_0's rmse: 0.147774 [922] valid_0's rmse: 0.14777 [923] valid_0's rmse: 0.14776 [924] valid_0's rmse: 0.147757 [925] valid_0's rmse: 0.147754 [926] valid_0's rmse: 0.147698 [927] valid_0's rmse: 0.147643 [928] valid_0's rmse: 0.147595 [929] valid_0's rmse: 0.147578 [930] valid_0's rmse: 0.147524 [931] valid_0's rmse: 0.14752 [932] valid_0's rmse: 0.147516 [933] valid_0's rmse: 0.147515 [934] valid_0's rmse: 0.147512 [935] valid_0's rmse: 0.147509 [936] valid_0's rmse: 0.1475 [937] valid_0's rmse: 0.147489 [938] valid_0's rmse: 0.147463 [939] valid_0's rmse: 0.147455 [940] valid_0's rmse: 0.147445 [941] valid_0's rmse: 0.147443 [942] valid_0's rmse: 0.147442 [943] valid_0's rmse: 0.147437 [944] valid_0's rmse: 0.147436 [945] valid_0's rmse: 0.147429 [946] valid_0's rmse: 0.147407 [947] valid_0's rmse: 0.147385 [948] valid_0's rmse: 0.147361 [949] valid_0's rmse: 0.14734 [950] valid_0's rmse: 0.147312 [951] valid_0's rmse: 0.147274 [952] valid_0's rmse: 0.147266 [953] valid_0's rmse: 0.147228 [954] valid_0's rmse: 0.147191 [955] valid_0's rmse: 0.147153 [956] valid_0's rmse: 0.14713 [957] valid_0's rmse: 0.147107 [958] valid_0's rmse: 0.147054 [959] valid_0's rmse: 0.147032 [960] valid_0's rmse: 0.146991 [961] valid_0's rmse: 0.146988 [962] valid_0's rmse: 0.146978 [963] valid_0's rmse: 0.146976 [964] valid_0's rmse: 0.146966 [965] valid_0's rmse: 0.146956 [966] valid_0's rmse: 0.146962 [967] valid_0's rmse: 0.146959 [968] valid_0's rmse: 0.146945 [969] valid_0's rmse: 0.146948 [970] valid_0's rmse: 0.146947 [971] valid_0's rmse: 0.14694 [972] valid_0's rmse: 0.146949 [973] valid_0's rmse: 0.14694 [974] valid_0's rmse: 0.146936 [975] valid_0's rmse: 0.146931 [976] valid_0's rmse: 0.146911 [977] valid_0's rmse: 0.146895 [978] valid_0's rmse: 0.146861 [979] valid_0's rmse: 0.146845 [980] valid_0's rmse: 0.14683 [981] valid_0's rmse: 0.146822 [982] valid_0's rmse: 0.146801 [983] valid_0's rmse: 0.146795 [984] valid_0's rmse: 0.146788 [985] valid_0's rmse: 0.146776 [986] valid_0's rmse: 0.146783 [987] valid_0's rmse: 0.146789 [988] valid_0's rmse: 0.146796 [989] valid_0's rmse: 0.146797 [990] valid_0's rmse: 0.146804 [991] valid_0's rmse: 0.14678 [992] valid_0's rmse: 0.146741 [993] valid_0's rmse: 0.146719 [994] valid_0's rmse: 0.14668 [995] valid_0's rmse: 0.146653 [996] valid_0's rmse: 0.146669 [997] valid_0's rmse: 0.146679 [998] valid_0's rmse: 0.146678 [999] valid_0's rmse: 0.146662 [1000] valid_0's rmse: 0.146662 [1001] valid_0's rmse: 0.146678 [1002] valid_0's rmse: 0.146694 [1003] valid_0's rmse: 0.146694 [1004] valid_0's rmse: 0.14671 [1005] valid_0's rmse: 0.146715 [1006] valid_0's rmse: 0.146716 [1007] valid_0's rmse: 0.146703 [1008] valid_0's rmse: 0.14668 [1009] valid_0's rmse: 0.146655 [1010] valid_0's rmse: 0.146641 [1011] valid_0's rmse: 0.146648 [1012] valid_0's rmse: 0.146627 [1013] valid_0's rmse: 0.146618 [1014] valid_0's rmse: 0.146598 [1015] valid_0's rmse: 0.146577 [1016] valid_0's rmse: 0.146538 [1017] valid_0's rmse: 0.146499 [1018] valid_0's rmse: 0.146461 [1019] valid_0's rmse: 0.146429 [1020] valid_0's rmse: 0.146409 [1021] valid_0's rmse: 0.146412 [1022] valid_0's rmse: 0.146427 [1023] valid_0's rmse: 0.146425 [1024] valid_0's rmse: 0.146441 [1025] valid_0's rmse: 0.146457 [1026] valid_0's rmse: 0.146421 [1027] valid_0's rmse: 0.146425 [1028] valid_0's rmse: 0.146412 [1029] valid_0's rmse: 0.14641 [1030] valid_0's rmse: 0.146412 [1031] valid_0's rmse: 0.146394 [1032] valid_0's rmse: 0.146406 [1033] valid_0's rmse: 0.146391 [1034] valid_0's rmse: 0.146375 [1035] valid_0's rmse: 0.146362 [1036] valid_0's rmse: 0.146356 [1037] valid_0's rmse: 0.146357 [1038] valid_0's rmse: 0.146358 [1039] valid_0's rmse: 0.146359 [1040] valid_0's rmse: 0.146361 [1041] valid_0's rmse: 0.146354 [1042] valid_0's rmse: 0.146347 [1043] valid_0's rmse: 0.14634 [1044] valid_0's rmse: 0.146324 [1045] valid_0's rmse: 0.146302 [1046] valid_0's rmse: 0.146291 [1047] valid_0's rmse: 0.146277 [1048] valid_0's rmse: 0.14626 [1049] valid_0's rmse: 0.146244 [1050] valid_0's rmse: 0.146231 [1051] valid_0's rmse: 0.146227 [1052] valid_0's rmse: 0.146208 [1053] valid_0's rmse: 0.146189 [1054] valid_0's rmse: 0.146173 [1055] valid_0's rmse: 0.146152 [1056] valid_0's rmse: 0.146152 [1057] valid_0's rmse: 0.146167 [1058] valid_0's rmse: 0.146168 [1059] valid_0's rmse: 0.146163 [1060] valid_0's rmse: 0.146159 [1061] valid_0's rmse: 0.146169 [1062] valid_0's rmse: 0.146179 [1063] valid_0's rmse: 0.146189 [1064] valid_0's rmse: 0.146196 [1065] valid_0's rmse: 0.146207 [1066] valid_0's rmse: 0.146199 [1067] valid_0's rmse: 0.146204 [1068] valid_0's rmse: 0.146209 [1069] valid_0's rmse: 0.146212 [1070] valid_0's rmse: 0.146216 [1071] valid_0's rmse: 0.146191 [1072] valid_0's rmse: 0.146175 [1073] valid_0's rmse: 0.146162 [1074] valid_0's rmse: 0.146146 [1075] valid_0's rmse: 0.146136 [1076] valid_0's rmse: 0.146116 [1077] valid_0's rmse: 0.146097 [1078] valid_0's rmse: 0.146073 [1079] valid_0's rmse: 0.146055 [1080] valid_0's rmse: 0.146036 [1081] valid_0's rmse: 0.146056 [1082] valid_0's rmse: 0.146086 [1083] valid_0's rmse: 0.146115 [1084] valid_0's rmse: 0.146145 [1085] valid_0's rmse: 0.146165 [1086] valid_0's rmse: 0.146145 [1087] valid_0's rmse: 0.14614 [1088] valid_0's rmse: 0.146117 [1089] valid_0's rmse: 0.146137 [1090] valid_0's rmse: 0.146113 [1091] valid_0's rmse: 0.146099 [1092] valid_0's rmse: 0.146091 [1093] valid_0's rmse: 0.146081 [1094] valid_0's rmse: 0.146057 [1095] valid_0's rmse: 0.146033 [1096] valid_0's rmse: 0.146009 [1097] valid_0's rmse: 0.145993 [1098] valid_0's rmse: 0.145964 [1099] valid_0's rmse: 0.145941 [1100] valid_0's rmse: 0.145926 [1101] valid_0's rmse: 0.145928 [1102] valid_0's rmse: 0.145882 [1103] valid_0's rmse: 0.145863 [1104] valid_0's rmse: 0.145824 [1105] valid_0's rmse: 0.14581 [1106] valid_0's rmse: 0.145787 [1107] valid_0's rmse: 0.145791 [1108] valid_0's rmse: 0.145811 [1109] valid_0's rmse: 0.145814 [1110] valid_0's rmse: 0.145793 [1111] valid_0's rmse: 0.145801 [1112] valid_0's rmse: 0.145802 [1113] valid_0's rmse: 0.145811 [1114] valid_0's rmse: 0.145811 [1115] valid_0's rmse: 0.145822 [1116] valid_0's rmse: 0.145806 [1117] valid_0's rmse: 0.145791 [1118] valid_0's rmse: 0.145777 [1119] valid_0's rmse: 0.145792 [1120] valid_0's rmse: 0.145778 [1121] valid_0's rmse: 0.145792 [1122] valid_0's rmse: 0.14577 [1123] valid_0's rmse: 0.145749 [1124] valid_0's rmse: 0.145727 [1125] valid_0's rmse: 0.145706 [1126] valid_0's rmse: 0.145681 [1127] valid_0's rmse: 0.145657 [1128] valid_0's rmse: 0.145649 [1129] valid_0's rmse: 0.145625 [1130] valid_0's rmse: 0.145602 [1131] valid_0's rmse: 0.14559 [1132] valid_0's rmse: 0.145585 [1133] valid_0's rmse: 0.14558 [1134] valid_0's rmse: 0.145575 [1135] valid_0's rmse: 0.14557 [1136] valid_0's rmse: 0.145549 [1137] valid_0's rmse: 0.145536 [1138] valid_0's rmse: 0.145521 [1139] valid_0's rmse: 0.145519 [1140] valid_0's rmse: 0.1455 [1141] valid_0's rmse: 0.145503 [1142] valid_0's rmse: 0.145501 [1143] valid_0's rmse: 0.145463 [1144] valid_0's rmse: 0.145473 [1145] valid_0's rmse: 0.145472 [1146] valid_0's rmse: 0.145466 [1147] valid_0's rmse: 0.14546 [1148] valid_0's rmse: 0.145455 [1149] valid_0's rmse: 0.145449 [1150] valid_0's rmse: 0.145437 [1151] valid_0's rmse: 0.145413 [1152] valid_0's rmse: 0.145386 [1153] valid_0's rmse: 0.145361 [1154] valid_0's rmse: 0.145366 [1155] valid_0's rmse: 0.145343 [1156] valid_0's rmse: 0.145344 [1157] valid_0's rmse: 0.145346 [1158] valid_0's rmse: 0.145348 [1159] valid_0's rmse: 0.145351 [1160] valid_0's rmse: 0.145354 [1161] valid_0's rmse: 0.145326 [1162] valid_0's rmse: 0.1453 [1163] valid_0's rmse: 0.145295 [1164] valid_0's rmse: 0.145304 [1165] valid_0's rmse: 0.145279 [1166] valid_0's rmse: 0.145267 [1167] valid_0's rmse: 0.145225 [1168] valid_0's rmse: 0.145217 [1169] valid_0's rmse: 0.145233 [1170] valid_0's rmse: 0.14525 [1171] valid_0's rmse: 0.14524 [1172] valid_0's rmse: 0.145241 [1173] valid_0's rmse: 0.14523 [1174] valid_0's rmse: 0.14522 [1175] valid_0's rmse: 0.145201 [1176] valid_0's rmse: 0.145181 [1177] valid_0's rmse: 0.145188 [1178] valid_0's rmse: 0.145194 [1179] valid_0's rmse: 0.145201 [1180] valid_0's rmse: 0.145201 [1181] valid_0's rmse: 0.145194 [1182] valid_0's rmse: 0.145175 [1183] valid_0's rmse: 0.145161 [1184] valid_0's rmse: 0.145145 [1185] valid_0's rmse: 0.145119 [1186] valid_0's rmse: 0.145115 [1187] valid_0's rmse: 0.145112 [1188] valid_0's rmse: 0.145139 [1189] valid_0's rmse: 0.145167 [1190] valid_0's rmse: 0.145195 [1191] valid_0's rmse: 0.145197 [1192] valid_0's rmse: 0.145199 [1193] valid_0's rmse: 0.145202 [1194] valid_0's rmse: 0.145205 [1195] valid_0's rmse: 0.145215 [1196] valid_0's rmse: 0.145211 [1197] valid_0's rmse: 0.145198 [1198] valid_0's rmse: 0.145174 [1199] valid_0's rmse: 0.145155 [1200] valid_0's rmse: 0.145154 [1201] valid_0's rmse: 0.145154 [1202] valid_0's rmse: 0.145148 [1203] valid_0's rmse: 0.145146 [1204] valid_0's rmse: 0.145139 [1205] valid_0's rmse: 0.145133 [1206] valid_0's rmse: 0.14512 [1207] valid_0's rmse: 0.145098 [1208] valid_0's rmse: 0.145101 [1209] valid_0's rmse: 0.145078 [1210] valid_0's rmse: 0.145083 [1211] valid_0's rmse: 0.145073 [1212] valid_0's rmse: 0.145056 [1213] valid_0's rmse: 0.145033 [1214] valid_0's rmse: 0.145016 [1215] valid_0's rmse: 0.144999 [1216] valid_0's rmse: 0.145006 [1217] valid_0's rmse: 0.144994 [1218] valid_0's rmse: 0.144999 [1219] valid_0's rmse: 0.145004 [1220] valid_0's rmse: 0.145005 [1221] valid_0's rmse: 0.144999 [1222] valid_0's rmse: 0.144964 [1223] valid_0's rmse: 0.144958 [1224] valid_0's rmse: 0.144952 [1225] valid_0's rmse: 0.144926 [1226] valid_0's rmse: 0.144926 [1227] valid_0's rmse: 0.144924 [1228] valid_0's rmse: 0.14494 [1229] valid_0's rmse: 0.144968 [1230] valid_0's rmse: 0.144992 [1231] valid_0's rmse: 0.144984 [1232] valid_0's rmse: 0.144979 [1233] valid_0's rmse: 0.144995 [1234] valid_0's rmse: 0.144976 [1235] valid_0's rmse: 0.144958 [1236] valid_0's rmse: 0.144964 [1237] valid_0's rmse: 0.144964 [1238] valid_0's rmse: 0.14496 [1239] valid_0's rmse: 0.144966 [1240] valid_0's rmse: 0.144962 [1241] valid_0's rmse: 0.144973 [1242] valid_0's rmse: 0.14495 [1243] valid_0's rmse: 0.144955 [1244] valid_0's rmse: 0.144955 [1245] valid_0's rmse: 0.144955 [1246] valid_0's rmse: 0.144929 [1247] valid_0's rmse: 0.144896 [1248] valid_0's rmse: 0.144874 [1249] valid_0's rmse: 0.144852 [1250] valid_0's rmse: 0.144869 [1251] valid_0's rmse: 0.144882 [1252] valid_0's rmse: 0.144905 [1253] valid_0's rmse: 0.144917 [1254] valid_0's rmse: 0.144935 [1255] valid_0's rmse: 0.144945 [1256] valid_0's rmse: 0.144947 [1257] valid_0's rmse: 0.144944 [1258] valid_0's rmse: 0.144951 [1259] valid_0's rmse: 0.144954 [1260] valid_0's rmse: 0.144945 [1261] valid_0's rmse: 0.14496 [1262] valid_0's rmse: 0.144975 [1263] valid_0's rmse: 0.14499 [1264] valid_0's rmse: 0.144997 [1265] valid_0's rmse: 0.145012 [1266] valid_0's rmse: 0.145021 [1267] valid_0's rmse: 0.145031 [1268] valid_0's rmse: 0.145052 [1269] valid_0's rmse: 0.145071 [1270] valid_0's rmse: 0.145079 [1271] valid_0's rmse: 0.145054 [1272] valid_0's rmse: 0.145067 [1273] valid_0's rmse: 0.145042 [1274] valid_0's rmse: 0.14502 [1275] valid_0's rmse: 0.145004 [1276] valid_0's rmse: 0.145021 [1277] valid_0's rmse: 0.145038 [1278] valid_0's rmse: 0.145055 [1279] valid_0's rmse: 0.145072 [1280] valid_0's rmse: 0.145072 [1281] valid_0's rmse: 0.145041 [1282] valid_0's rmse: 0.145004 [1283] valid_0's rmse: 0.144975 [1284] valid_0's rmse: 0.144938 [1285] valid_0's rmse: 0.144955 [1286] valid_0's rmse: 0.144984 [1287] valid_0's rmse: 0.145009 [1288] valid_0's rmse: 0.145037 [1289] valid_0's rmse: 0.145046 [1290] valid_0's rmse: 0.145071 [1291] valid_0's rmse: 0.145041 [1292] valid_0's rmse: 0.145012 [1293] valid_0's rmse: 0.144983 [1294] valid_0's rmse: 0.14497 [1295] valid_0's rmse: 0.144942 [1296] valid_0's rmse: 0.144919 [1297] valid_0's rmse: 0.144891 [1298] valid_0's rmse: 0.144877 [1299] valid_0's rmse: 0.144864 [1300] valid_0's rmse: 0.14485 [1301] valid_0's rmse: 0.144828 [1302] valid_0's rmse: 0.144782 [1303] valid_0's rmse: 0.144736 [1304] valid_0's rmse: 0.144727 [1305] valid_0's rmse: 0.144682 [1306] valid_0's rmse: 0.144676 [1307] valid_0's rmse: 0.14467 [1308] valid_0's rmse: 0.144665 [1309] valid_0's rmse: 0.14465 [1310] valid_0's rmse: 0.144624 [1311] valid_0's rmse: 0.144618 [1312] valid_0's rmse: 0.144613 [1313] valid_0's rmse: 0.144611 [1314] valid_0's rmse: 0.144602 [1315] valid_0's rmse: 0.144597 [1316] valid_0's rmse: 0.14457 [1317] valid_0's rmse: 0.14454 [1318] valid_0's rmse: 0.14451 [1319] valid_0's rmse: 0.144493 [1320] valid_0's rmse: 0.144463 [1321] valid_0's rmse: 0.144465 [1322] valid_0's rmse: 0.144465 [1323] valid_0's rmse: 0.144466 [1324] valid_0's rmse: 0.144475 [1325] valid_0's rmse: 0.144474 [1326] valid_0's rmse: 0.144456 [1327] valid_0's rmse: 0.144439 [1328] valid_0's rmse: 0.144422 [1329] valid_0's rmse: 0.144406 [1330] valid_0's rmse: 0.144403 [1331] valid_0's rmse: 0.144416 [1332] valid_0's rmse: 0.14443 [1333] valid_0's rmse: 0.144438 [1334] valid_0's rmse: 0.144451 [1335] valid_0's rmse: 0.144464 [1336] valid_0's rmse: 0.144441 [1337] valid_0's rmse: 0.144462 [1338] valid_0's rmse: 0.144437 [1339] valid_0's rmse: 0.144414 [1340] valid_0's rmse: 0.14439 [1341] valid_0's rmse: 0.144388 [1342] valid_0's rmse: 0.144385 [1343] valid_0's rmse: 0.144382 [1344] valid_0's rmse: 0.144379 [1345] valid_0's rmse: 0.144364 [1346] valid_0's rmse: 0.144367 [1347] valid_0's rmse: 0.144367 [1348] valid_0's rmse: 0.144351 [1349] valid_0's rmse: 0.144344 [1350] valid_0's rmse: 0.14434 [1351] valid_0's rmse: 0.144308 [1352] valid_0's rmse: 0.144282 [1353] valid_0's rmse: 0.144283 [1354] valid_0's rmse: 0.144251 [1355] valid_0's rmse: 0.144227 [1356] valid_0's rmse: 0.14421 [1357] valid_0's rmse: 0.144195 [1358] valid_0's rmse: 0.144169 [1359] valid_0's rmse: 0.144149 [1360] valid_0's rmse: 0.144124 [1361] valid_0's rmse: 0.144112 [1362] valid_0's rmse: 0.144073 [1363] valid_0's rmse: 0.144061 [1364] valid_0's rmse: 0.144049 [1365] valid_0's rmse: 0.144037 [1366] valid_0's rmse: 0.144027 [1367] valid_0's rmse: 0.144036 [1368] valid_0's rmse: 0.144028 [1369] valid_0's rmse: 0.14403 [1370] valid_0's rmse: 0.144018 [1371] valid_0's rmse: 0.14401 [1372] valid_0's rmse: 0.144003 [1373] valid_0's rmse: 0.143978 [1374] valid_0's rmse: 0.143972 [1375] valid_0's rmse: 0.143966 [1376] valid_0's rmse: 0.143954 [1377] valid_0's rmse: 0.143926 [1378] valid_0's rmse: 0.143911 [1379] valid_0's rmse: 0.143903 [1380] valid_0's rmse: 0.143895 [1381] valid_0's rmse: 0.143884 [1382] valid_0's rmse: 0.143874 [1383] valid_0's rmse: 0.143863 [1384] valid_0's rmse: 0.143849 [1385] valid_0's rmse: 0.143835 [1386] valid_0's rmse: 0.143832 [1387] valid_0's rmse: 0.143855 [1388] valid_0's rmse: 0.143857 [1389] valid_0's rmse: 0.143855 [1390] valid_0's rmse: 0.143855 [1391] valid_0's rmse: 0.143854 [1392] valid_0's rmse: 0.143854 [1393] valid_0's rmse: 0.143854 [1394] valid_0's rmse: 0.143884 [1395] valid_0's rmse: 0.1439 [1396] valid_0's rmse: 0.143914 [1397] valid_0's rmse: 0.143926 [1398] valid_0's rmse: 0.143939 [1399] valid_0's rmse: 0.143945 [1400] valid_0's rmse: 0.143966 [1401] valid_0's rmse: 0.143975 [1402] valid_0's rmse: 0.14398 [1403] valid_0's rmse: 0.143975 [1404] valid_0's rmse: 0.143984 [1405] valid_0's rmse: 0.143988 [1406] valid_0's rmse: 0.14399 [1407] valid_0's rmse: 0.143987 [1408] valid_0's rmse: 0.14399 [1409] valid_0's rmse: 0.14399 [1410] valid_0's rmse: 0.143983 [1411] valid_0's rmse: 0.143977 [1412] valid_0's rmse: 0.14397 [1413] valid_0's rmse: 0.143969 [1414] valid_0's rmse: 0.143964 [1415] valid_0's rmse: 0.143957 [1416] valid_0's rmse: 0.143946 [1417] valid_0's rmse: 0.143936 [1418] valid_0's rmse: 0.143918 [1419] valid_0's rmse: 0.143909 [1420] valid_0's rmse: 0.143883 [1421] valid_0's rmse: 0.143869 [1422] valid_0's rmse: 0.143865 [1423] valid_0's rmse: 0.143851 [1424] valid_0's rmse: 0.143837 [1425] valid_0's rmse: 0.143833 [1426] valid_0's rmse: 0.143827 [1427] valid_0's rmse: 0.14382 [1428] valid_0's rmse: 0.143814 [1429] valid_0's rmse: 0.143808 [1430] valid_0's rmse: 0.143787 [1431] valid_0's rmse: 0.143764 [1432] valid_0's rmse: 0.143742 [1433] valid_0's rmse: 0.14372 [1434] valid_0's rmse: 0.143698 [1435] valid_0's rmse: 0.143675 [1436] valid_0's rmse: 0.14369 [1437] valid_0's rmse: 0.143684 [1438] valid_0's rmse: 0.143688 [1439] valid_0's rmse: 0.143699 [1440] valid_0's rmse: 0.143698 [1441] valid_0's rmse: 0.143682 [1442] valid_0's rmse: 0.143672 [1443] valid_0's rmse: 0.143662 [1444] valid_0's rmse: 0.143653 [1445] valid_0's rmse: 0.143643 [1446] valid_0's rmse: 0.143603 [1447] valid_0's rmse: 0.143563 [1448] valid_0's rmse: 0.143524 [1449] valid_0's rmse: 0.143488 [1450] valid_0's rmse: 0.14345 [1451] valid_0's rmse: 0.14346 [1452] valid_0's rmse: 0.143435 [1453] valid_0's rmse: 0.143424 [1454] valid_0's rmse: 0.143401 [1455] valid_0's rmse: 0.143375 [1456] valid_0's rmse: 0.143373 [1457] valid_0's rmse: 0.143388 [1458] valid_0's rmse: 0.143397 [1459] valid_0's rmse: 0.143412 [1460] valid_0's rmse: 0.143426 [1461] valid_0's rmse: 0.143424 [1462] valid_0's rmse: 0.14342 [1463] valid_0's rmse: 0.143417 [1464] valid_0's rmse: 0.143407 [1465] valid_0's rmse: 0.143398 [1466] valid_0's rmse: 0.143389 [1467] valid_0's rmse: 0.143381 [1468] valid_0's rmse: 0.143368 [1469] valid_0's rmse: 0.143358 [1470] valid_0's rmse: 0.14336 [1471] valid_0's rmse: 0.143373 [1472] valid_0's rmse: 0.143387 [1473] valid_0's rmse: 0.143402 [1474] valid_0's rmse: 0.143421 [1475] valid_0's rmse: 0.143434 [1476] valid_0's rmse: 0.143435 [1477] valid_0's rmse: 0.143446 [1478] valid_0's rmse: 0.143447 [1479] valid_0's rmse: 0.143444 [1480] valid_0's rmse: 0.143439 [1481] valid_0's rmse: 0.143435 [1482] valid_0's rmse: 0.143432 [1483] valid_0's rmse: 0.143428 [1484] valid_0's rmse: 0.143426 [1485] valid_0's rmse: 0.143424 [1486] valid_0's rmse: 0.143405 [1487] valid_0's rmse: 0.143387 [1488] valid_0's rmse: 0.143369 [1489] valid_0's rmse: 0.143347 [1490] valid_0's rmse: 0.14333 [1491] valid_0's rmse: 0.143322 [1492] valid_0's rmse: 0.143314 [1493] valid_0's rmse: 0.14331 [1494] valid_0's rmse: 0.143323 [1495] valid_0's rmse: 0.143324 [1496] valid_0's rmse: 0.143314 [1497] valid_0's rmse: 0.143303 [1498] valid_0's rmse: 0.143288 [1499] valid_0's rmse: 0.143278 [1500] valid_0's rmse: 0.143254 [1501] valid_0's rmse: 0.143224 [1502] valid_0's rmse: 0.143206 [1503] valid_0's rmse: 0.143176 [1504] valid_0's rmse: 0.143183 [1505] valid_0's rmse: 0.14317 [1506] valid_0's rmse: 0.143176 [1507] valid_0's rmse: 0.143197 [1508] valid_0's rmse: 0.143203 [1509] valid_0's rmse: 0.14321 [1510] valid_0's rmse: 0.143217 [1511] valid_0's rmse: 0.143191 [1512] valid_0's rmse: 0.143163 [1513] valid_0's rmse: 0.143153 [1514] valid_0's rmse: 0.143125 [1515] valid_0's rmse: 0.143095 [1516] valid_0's rmse: 0.143071 [1517] valid_0's rmse: 0.143047 [1518] valid_0's rmse: 0.143024 [1519] valid_0's rmse: 0.143011 [1520] valid_0's rmse: 0.142988 [1521] valid_0's rmse: 0.142963 [1522] valid_0's rmse: 0.142942 [1523] valid_0's rmse: 0.142917 [1524] valid_0's rmse: 0.142896 [1525] valid_0's rmse: 0.14287 [1526] valid_0's rmse: 0.142861 [1527] valid_0's rmse: 0.142852 [1528] valid_0's rmse: 0.142843 [1529] valid_0's rmse: 0.142827 [1530] valid_0's rmse: 0.14281 [1531] valid_0's rmse: 0.142826 [1532] valid_0's rmse: 0.142834 [1533] valid_0's rmse: 0.142855 [1534] valid_0's rmse: 0.142881 [1535] valid_0's rmse: 0.142908 [1536] valid_0's rmse: 0.142897 [1537] valid_0's rmse: 0.142886 [1538] valid_0's rmse: 0.142878 [1539] valid_0's rmse: 0.142869 [1540] valid_0's rmse: 0.142865 [1541] valid_0's rmse: 0.142872 [1542] valid_0's rmse: 0.142902 [1543] valid_0's rmse: 0.14291 [1544] valid_0's rmse: 0.142918 [1545] valid_0's rmse: 0.142926 [1546] valid_0's rmse: 0.142934 [1547] valid_0's rmse: 0.142935 [1548] valid_0's rmse: 0.142935 [1549] valid_0's rmse: 0.142936 [1550] valid_0's rmse: 0.142936 [1551] valid_0's rmse: 0.142937 [1552] valid_0's rmse: 0.142947 [1553] valid_0's rmse: 0.142947 [1554] valid_0's rmse: 0.14295 [1555] valid_0's rmse: 0.142947 [1556] valid_0's rmse: 0.142939 [1557] valid_0's rmse: 0.142931 [1558] valid_0's rmse: 0.142916 [1559] valid_0's rmse: 0.142886 [1560] valid_0's rmse: 0.142868 [1561] valid_0's rmse: 0.142862 [1562] valid_0's rmse: 0.142856 [1563] valid_0's rmse: 0.142849 [1564] valid_0's rmse: 0.142843 [1565] valid_0's rmse: 0.142837 [1566] valid_0's rmse: 0.142816 [1567] valid_0's rmse: 0.142795 [1568] valid_0's rmse: 0.14281 [1569] valid_0's rmse: 0.142791 [1570] valid_0's rmse: 0.14281 [1571] valid_0's rmse: 0.142804 [1572] valid_0's rmse: 0.142798 [1573] valid_0's rmse: 0.142792 [1574] valid_0's rmse: 0.142774 [1575] valid_0's rmse: 0.142772 [1576] valid_0's rmse: 0.142774 [1577] valid_0's rmse: 0.142776 [1578] valid_0's rmse: 0.142778 [1579] valid_0's rmse: 0.14278 [1580] valid_0's rmse: 0.142765 [1581] valid_0's rmse: 0.142791 [1582] valid_0's rmse: 0.142806 [1583] valid_0's rmse: 0.142832 [1584] valid_0's rmse: 0.142849 [1585] valid_0's rmse: 0.142869 [1586] valid_0's rmse: 0.142892 [1587] valid_0's rmse: 0.142914 [1588] valid_0's rmse: 0.142937 [1589] valid_0's rmse: 0.142959 [1590] valid_0's rmse: 0.142981 [1591] valid_0's rmse: 0.142986 [1592] valid_0's rmse: 0.142997 [1593] valid_0's rmse: 0.143007 [1594] valid_0's rmse: 0.143017 [1595] valid_0's rmse: 0.143023 [1596] valid_0's rmse: 0.143018 [1597] valid_0's rmse: 0.143012 [1598] valid_0's rmse: 0.143 [1599] valid_0's rmse: 0.142994 [1600] valid_0's rmse: 0.14298 [1601] valid_0's rmse: 0.142961 [1602] valid_0's rmse: 0.142939 [1603] valid_0's rmse: 0.14293 [1604] valid_0's rmse: 0.142914 [1605] valid_0's rmse: 0.142897 [1606] valid_0's rmse: 0.142893 [1607] valid_0's rmse: 0.14289 [1608] valid_0's rmse: 0.142875 [1609] valid_0's rmse: 0.142876 [1610] valid_0's rmse: 0.142872 [1611] valid_0's rmse: 0.142878 [1612] valid_0's rmse: 0.142884 [1613] valid_0's rmse: 0.142897 [1614] valid_0's rmse: 0.142905 [1615] valid_0's rmse: 0.142885 [1616] valid_0's rmse: 0.142905 [1617] valid_0's rmse: 0.142924 [1618] valid_0's rmse: 0.142943 [1619] valid_0's rmse: 0.142963 [1620] valid_0's rmse: 0.142982 [1621] valid_0's rmse: 0.143007 [1622] valid_0's rmse: 0.143031 [1623] valid_0's rmse: 0.143056 [1624] valid_0's rmse: 0.143078 [1625] valid_0's rmse: 0.143087 [1626] valid_0's rmse: 0.143085 [1627] valid_0's rmse: 0.143084 [1628] valid_0's rmse: 0.143081 [1629] valid_0's rmse: 0.14308 [1630] valid_0's rmse: 0.143077 [1631] valid_0's rmse: 0.143082 [1632] valid_0's rmse: 0.143088 [1633] valid_0's rmse: 0.143081 [1634] valid_0's rmse: 0.143087 [1635] valid_0's rmse: 0.143089 [1636] valid_0's rmse: 0.143091 [1637] valid_0's rmse: 0.143099 [1638] valid_0's rmse: 0.143104 [1639] valid_0's rmse: 0.143108 [1640] valid_0's rmse: 0.143101 [1641] valid_0's rmse: 0.143104 [1642] valid_0's rmse: 0.143099 [1643] valid_0's rmse: 0.143092 [1644] valid_0's rmse: 0.143089 [1645] valid_0's rmse: 0.143084 [1646] valid_0's rmse: 0.143065 [1647] valid_0's rmse: 0.143047 [1648] valid_0's rmse: 0.14305 [1649] valid_0's rmse: 0.143024 [1650] valid_0's rmse: 0.143006 [1651] valid_0's rmse: 0.142999 [1652] valid_0's rmse: 0.142992 [1653] valid_0's rmse: 0.142985 [1654] valid_0's rmse: 0.142973 [1655] valid_0's rmse: 0.142962 [1656] valid_0's rmse: 0.142952 [1657] valid_0's rmse: 0.14294 [1658] valid_0's rmse: 0.142906 [1659] valid_0's rmse: 0.142891 [1660] valid_0's rmse: 0.142902 [1661] valid_0's rmse: 0.142894 [1662] valid_0's rmse: 0.142888 [1663] valid_0's rmse: 0.142893 [1664] valid_0's rmse: 0.142886 [1665] valid_0's rmse: 0.142882 [1666] valid_0's rmse: 0.1429 [1667] valid_0's rmse: 0.142903 [1668] valid_0's rmse: 0.142921 [1669] valid_0's rmse: 0.142943 [1670] valid_0's rmse: 0.142964 [1671] valid_0's rmse: 0.142938 [1672] valid_0's rmse: 0.142937 [1673] valid_0's rmse: 0.142911 [1674] valid_0's rmse: 0.142916 [1675] valid_0's rmse: 0.14292 [1676] valid_0's rmse: 0.142922 [1677] valid_0's rmse: 0.142918 [1678] valid_0's rmse: 0.142914 [1679] valid_0's rmse: 0.14291 [1680] valid_0's rmse: 0.142914 Early stopping, best iteration is: [1580] valid_0's rmse: 0.142765
In [16]:
y_pred = np.expm1(gbm.predict(X_test)) y_true = np.expm1(Y_test)
In [17]:
MSE = mean_squared_error(y_true, y_pred) RMSE = np.sqrt(mean_squared_error(y_true, y_pred)) MAE = mean_absolute_error(y_true, y_pred) MAPE = mean_absolute_percentage_error(y_true, y_pred) R_2 = r2_score(y_true, y_pred) NMB = sum(y_pred - y_true) / sum(y_true) NME = sum(abs(y_true-y_pred)) / sum(y_true) MFB = sum((y_pred - y_true)/((y_pred+y_true)/2))/len(y_true) MFE = sum(abs((y_pred - y_true))/((y_pred+y_true)/2))/len(y_true) print(f"MSE: {format(MSE, '.2E')}") print(f'RMSE: {round(RMSE, 4)}') print(f'MAE: {round(MAE, 4)}') print(f'MAPE: {round(MAPE*100, 2)}%') print(f'R_2: {round(R_2, 4)}') print(f'NMB: {round(NMB, 4)}') print(f'NME: {round(NME, 4)}') print(f'MFB: {round(MFB, 4)}') print(f'MFE: {round(MFE, 4)}')
MSE: 1.96E+04 RMSE: 140.1415 MAE: 77.1526 MAPE: 10.08% R_2: 0.9768 NMB: -0.0215 NME: 0.0784 MFB: 0.0051 MFE: 0.0953
In [18]:
test_rst = pd.DataFrame(np.array([y_pred, y_true]).T, columns=['y_pred', 'y_true'])
In [19]:
plt.figure(figsize=(22, 9)) smaller_rst = test_rst[test_rst.y_true <= 2000].reset_index(drop=True) plt.plot(smaller_rst.y_pred, 'o-', color='b', label='预测值') plt.plot(smaller_rst.y_true, '*-', color='r', label='真实值') # for index in range(smaller_rst.shape[0]): # tmp_y = smaller_rst.iloc[index].y_true # tmp_yhat = smaller_rst.iloc[index].y_pred # plt.plot([index, index], [tmp_yhat, tmp_y], color='grey') # # print(f"从({index}, {tmp_y}) 到 ({index},{tmp_yhat})") plt.legend(loc='best') plt.title('低煤耗机组预测结果(不添加发电量、供热量)') plt.savefig('./figure/unit_smaller_2.png')
In [20]:
plt.figure(figsize=(22, 9)) larger_rst = test_rst[test_rst.y_true > 2000].reset_index(drop=True) plt.plot(larger_rst.y_pred, 'o-', color='b', label='预测值') plt.plot(larger_rst.y_true, '*-', color='r', label='真实值') # for index in range(larger_rst.shape[0]): # tmp_y = larger_rst.iloc[index].y_true # tmp_yhat = larger_rst.iloc[index].y_pred # plt.plot([index, index], [tmp_yhat, tmp_y], color='grey') # # print(f"从({index}, {tmp_y}) 到 ({index},{tmp_yhat})") plt.legend(loc='best') plt.title('高煤耗机组预测结果(不添加发电量、供热量)') plt.savefig('./figure/unit_larger_2.png')
In [21]:
y_pred_l = test_rst[test_rst.y_true > 2000].y_pred y_true_l = test_rst[test_rst.y_true > 2000].y_true MSE_l = mean_squared_error(y_true_l, y_pred_l) RMSE_l = np.sqrt(mean_squared_error(y_true_l, y_pred_l)) MAE_l = mean_absolute_error(y_true_l, y_pred_l) MAPE_l = mean_absolute_percentage_error(y_true_l, y_pred_l) R_2_l = r2_score(y_true_l, y_pred_l) print('MSE:', format(MSE_l, '.2E')) print('RMSE:', RMSE_l) print('MAE:', MAE_l) print('MAPE:', MAPE_l) print('R_2:', R_2_l)
MSE: 8.76E+04 RMSE: 295.91786010538635 MAE: 195.36140253946826 MAPE: 0.0663623609341966 R_2: 0.5412201459987633
In [22]:
y_pred_s = test_rst[test_rst.y_true <= 2000].y_pred y_true_s = test_rst[test_rst.y_true <= 2000].y_true MSE_s = mean_squared_error(y_true_s, y_pred_s) RMSE_s = np.sqrt(mean_squared_error(y_true_s, y_pred_s)) MAE_s = mean_absolute_error(y_true_s, y_pred_s) MAPE_s = mean_absolute_percentage_error(y_true_s, y_pred_s) R_2_s = r2_score(y_true_s, y_pred_s) print('MSE:', format(MSE_s, '.2E')) print('RMSE:', RMSE_s) print('MAE:', MAE_s) print('MAPE:', MAPE_s) print('R_2:', R_2_s)
MSE: 5.27E+03 RMSE: 72.59700673680008 MAE: 52.1469378966335 MAPE: 0.1081435925002414 R_2: 0.6655229354965604
In [23]:
import seaborn as sns
In [24]:
feature_importance = pd.DataFrame() feature_importance['fea_name'] = feature_cols feature_importance['fea_imp'] = gbm.feature_importance(importance_type='split') feature_importance = feature_importance.sort_values('fea_imp', ascending=False)
In [25]:
import matplotlib.ticker as ticker
In [26]:
plt.figure(figsize=[20, 12]) ax = sns.barplot(x=feature_importance['fea_name'], y=feature_importance['fea_imp']) ax.set_xticklabels(labels=feature_importance['fea_name'], rotation=45, fontsize=12) ax.yaxis.set_major_locator(ticker.MultipleLocator(2000)) # 设置y轴标签间隔 plt.title('特征重要性(使用发电量、供热量)') plt.xlabel('fea_name', fontsize=12) plt.ylabel('fea_imp', fontsize=12) plt.tight_layout() plt.savefig('./figure/机组建模特征重要性_1.png')
In [27]:
dow_imp = feature_importance[feature_importance.fea_name.str.contains('day_of_week')].copy() dow_imp['imp_scale'] = dow_imp.fea_imp / dow_imp.fea_imp.sum() dow_imp
Out[27]:
fea_name | fea_imp | imp_scale | |
---|---|---|---|
8 | day_of_week_1 | 309 | 0.211354 |
2 | day_of_week_6 | 292 | 0.199726 |
12 | day_of_week_4 | 277 | 0.189466 |
7 | day_of_week_7 | 215 | 0.147059 |
9 | day_of_week_2 | 147 | 0.100547 |
3 | day_of_week_5 | 139 | 0.095075 |
0 | day_of_week_3 | 83 | 0.056772 |
In [27]: