emission_detect_ai/使用lightgbm对机组特征建模.ipynb

783 KiB
Raw Permalink Blame History

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')
No description has been provided for this image
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')
No description has been provided for this image
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')
No description has been provided for this image
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')
No description has been provided for this image
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]: