emission_detect_ai/使用lightgbm建模.ipynb

116 KiB
Raw 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 seaborn as sns
import matplotlib.pyplot as plt
#新增加的两行
from pylab import mpl

# 设置显示中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]

mpl.rcParams["axes.unicode_minus"] = False
In [2]:
total_data = pd.read_csv('./data/train_data.csv')
total_data.head()
Out[2]:
days 发电量(千瓦时) 供热量(吉焦) 机组运行时间(小时) 硫分(% 脱硫剂使用量(吨) 脱硫设施运行时间(小时) 脱硝还原剂消耗量(吨) 脱硝运行时间(小时) 燃料消耗量(吨) ... cSO2 cO2 csmoke flow rNOx rO2 temp rSO2 rsmoke day_of_year
0 2018-10-01 156796.0 6536.83 24.0 0.51 5.06 24.0 2.98 24.0 323 ... 2.148473e+07 3.745944e+07 6.519466e+05 162345.192917 28.981417 9.900000 51.250000 5.581667 0.209167 273
1 2018-10-02 133984.0 2484.64 24.0 0.51 5.04 24.0 2.97 24.0 218 ... 1.587722e+07 2.832146e+07 3.656575e+05 140175.330833 22.220750 9.400000 50.679167 4.364167 0.190417 274
2 2018-10-03 134023.0 3020.83 24.0 0.51 5.04 24.0 2.95 24.0 212 ... 2.829086e+07 3.174159e+07 5.181773e+05 154686.184167 24.816708 8.550000 52.808333 7.580000 0.139583 275
3 2018-10-04 124765.0 5599.23 24.0 0.51 5.03 24.0 2.98 24.0 223 ... 1.030569e+07 2.511504e+07 2.299438e+06 120345.545833 21.875125 10.202083 48.854167 2.808958 0.893333 276
4 2018-10-05 134414.0 4702.65 24.0 0.51 5.06 24.0 3.01 24.0 243 ... 1.830254e+06 4.106346e+07 6.230433e+06 162533.103542 25.605917 11.497917 45.783333 0.393333 2.141875 277

5 rows × 165 columns

In [3]:
# 先去掉一些异常值
use_data = total_data[(total_data['机组运行时间(小时)'] == 24) & (total_data['脱硝运行时间(小时)'] == 24)].set_index('days').drop(
    columns=['机组运行时间(小时)', '脱硫设施运行时间(小时)', '脱硝运行时间(小时)'])
use_data['week_of_year'] = use_data.day_of_year / 7
use_data.drop(columns=['day_of_year'], inplace=True)
In [4]:
r_cols = [x for x in use_data.columns if x.startswith('r')]
r_cols
Out[4]:
['rNOx', 'rO2', 'rSO2', 'rsmoke']
In [5]:
for col in use_data.columns:
    if use_data[col].max() > 10:
        use_data[col] = np.log1p(use_data[col])
        if col == '燃料消耗量(吨)':
            use_data[col] = np.log1p(use_data[col])
In [6]:
feature_cols = [x for x in use_data.columns if x != '燃料消耗量(吨)']
feature_cols = [x for x in feature_cols if '' not in x]
feature_cols = use_data.columns[-11:]
feature_cols
Out[6]:
Index(['cNOx', 'cSO2', 'cO2', 'csmoke', 'flow', 'rNOx', 'rO2', 'temp', 'rSO2',
       'rsmoke', 'week_of_year'],
      dtype='object')
In [7]:
train_data, valid_data = train_test_split(use_data, test_size=0.15, shuffle=True, random_state=666)
In [8]:
X_train, Y_train = train_data[feature_cols], train_data['燃料消耗量(吨)']
X_valid, Y_valid = valid_data[feature_cols], valid_data['燃料消耗量(吨)']
X_test, Y_test = valid_data[feature_cols], valid_data['燃料消耗量(吨)']
In [9]:
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 [10]:
params = {
    'task': 'train',
    'boosting_type': 'gbdt',  # 设置提升类型
    'objective': 'regression_l2',  # 目标函数
    'metric': {'rmse'},  # 评估函数
    'max_depth': 10,
    'num_leaves': 31,  # 叶子节点数
    'learning_rate': 0.01,  # 学习速率
    'feature_fraction': 0.9,  # 建树的特征选择比例
    'bagging_fraction': 0.8,  # 建树的样本采样比例
    'bagging_freq': 5,  # k 意味着每 k 次迭代执行bagging
    'verbose': -1  # <0 显示致命的, =0 显示错误 (警告), >0 显示信息
}
In [11]:
gbm = lgb.train(params, lgb_train, num_boost_round=2000, valid_sets=lgb_eval, early_stopping_rounds=100)
[1]	valid_0's rmse: 0.0361047
Training until validation scores don't improve for 100 rounds
[2]	valid_0's rmse: 0.0359398
[3]	valid_0's rmse: 0.0358123
[4]	valid_0's rmse: 0.0356709
[5]	valid_0's rmse: 0.0355485
[6]	valid_0's rmse: 0.035388
[7]	valid_0's rmse: 0.0352781
[8]	valid_0's rmse: 0.0351619
[9]	valid_0's rmse: 0.035026
[10]	valid_0's rmse: 0.0348736
[11]	valid_0's rmse: 0.0347371
[12]	valid_0's rmse: 0.0346186
[13]	valid_0's rmse: 0.0345018
[14]	valid_0's rmse: 0.0343709
[15]	valid_0's rmse: 0.0342329
[16]	valid_0's rmse: 0.0341227
[17]	valid_0's rmse: 0.0340256
[18]	valid_0's rmse: 0.033924
[19]	valid_0's rmse: 0.0338187
[20]	valid_0's rmse: 0.0337153
[21]	valid_0's rmse: 0.033616
[22]	valid_0's rmse: 0.0335067
[23]	valid_0's rmse: 0.0334041
[24]	valid_0's rmse: 0.0332995
[25]	valid_0's rmse: 0.0331921
[26]	valid_0's rmse: 0.0330884
[27]	valid_0's rmse: 0.032978
[28]	valid_0's rmse: 0.0328855
[29]	valid_0's rmse: 0.032781
[30]	valid_0's rmse: 0.032678
[31]	valid_0's rmse: 0.0325855
[32]	valid_0's rmse: 0.0325005
[33]	valid_0's rmse: 0.0324143
[34]	valid_0's rmse: 0.0323269
[35]	valid_0's rmse: 0.0322377
[36]	valid_0's rmse: 0.0321433
[37]	valid_0's rmse: 0.0320294
[38]	valid_0's rmse: 0.0319328
[39]	valid_0's rmse: 0.031826
[40]	valid_0's rmse: 0.0317349
[41]	valid_0's rmse: 0.0316664
[42]	valid_0's rmse: 0.0315913
[43]	valid_0's rmse: 0.0315254
[44]	valid_0's rmse: 0.031468
[45]	valid_0's rmse: 0.0314055
[46]	valid_0's rmse: 0.0313306
[47]	valid_0's rmse: 0.0312563
[48]	valid_0's rmse: 0.0311767
[49]	valid_0's rmse: 0.0311059
[50]	valid_0's rmse: 0.0310381
[51]	valid_0's rmse: 0.0309327
[52]	valid_0's rmse: 0.0308338
[53]	valid_0's rmse: 0.0307449
[54]	valid_0's rmse: 0.030644
[55]	valid_0's rmse: 0.030561
[56]	valid_0's rmse: 0.0304835
[57]	valid_0's rmse: 0.0304175
[58]	valid_0's rmse: 0.0303561
[59]	valid_0's rmse: 0.0302768
[60]	valid_0's rmse: 0.0302058
[61]	valid_0's rmse: 0.0301515
[62]	valid_0's rmse: 0.0301012
[63]	valid_0's rmse: 0.0300401
[64]	valid_0's rmse: 0.0299948
[65]	valid_0's rmse: 0.0299354
[66]	valid_0's rmse: 0.0298821
[67]	valid_0's rmse: 0.0298
[68]	valid_0's rmse: 0.0297534
[69]	valid_0's rmse: 0.0297084
[70]	valid_0's rmse: 0.0296541
[71]	valid_0's rmse: 0.0295918
[72]	valid_0's rmse: 0.0295303
[73]	valid_0's rmse: 0.0294699
[74]	valid_0's rmse: 0.0294088
[75]	valid_0's rmse: 0.0293493
[76]	valid_0's rmse: 0.0293017
[77]	valid_0's rmse: 0.0292553
[78]	valid_0's rmse: 0.0292075
[79]	valid_0's rmse: 0.029159
[80]	valid_0's rmse: 0.0291097
[81]	valid_0's rmse: 0.0290698
[82]	valid_0's rmse: 0.0289998
[83]	valid_0's rmse: 0.0289311
[84]	valid_0's rmse: 0.0288581
[85]	valid_0's rmse: 0.0288186
[86]	valid_0's rmse: 0.0287897
[87]	valid_0's rmse: 0.0287282
[88]	valid_0's rmse: 0.0287014
[89]	valid_0's rmse: 0.0286655
[90]	valid_0's rmse: 0.0286396
[91]	valid_0's rmse: 0.0286062
[92]	valid_0's rmse: 0.0285594
[93]	valid_0's rmse: 0.0285224
[94]	valid_0's rmse: 0.0284815
[95]	valid_0's rmse: 0.0284341
[96]	valid_0's rmse: 0.0283903
[97]	valid_0's rmse: 0.0283466
[98]	valid_0's rmse: 0.0283241
[99]	valid_0's rmse: 0.0282824
[100]	valid_0's rmse: 0.028227
[101]	valid_0's rmse: 0.0281932
[102]	valid_0's rmse: 0.0281535
[103]	valid_0's rmse: 0.0280806
[104]	valid_0's rmse: 0.0280564
[105]	valid_0's rmse: 0.0280251
[106]	valid_0's rmse: 0.0280038
[107]	valid_0's rmse: 0.0279761
[108]	valid_0's rmse: 0.0279315
[109]	valid_0's rmse: 0.0278758
[110]	valid_0's rmse: 0.0278482
[111]	valid_0's rmse: 0.0278085
[112]	valid_0's rmse: 0.0277661
[113]	valid_0's rmse: 0.0277092
[114]	valid_0's rmse: 0.0276904
[115]	valid_0's rmse: 0.0276367
[116]	valid_0's rmse: 0.0276062
[117]	valid_0's rmse: 0.0275664
[118]	valid_0's rmse: 0.0275288
[119]	valid_0's rmse: 0.0274919
[120]	valid_0's rmse: 0.0274641
[121]	valid_0's rmse: 0.0274399
[122]	valid_0's rmse: 0.0274037
[123]	valid_0's rmse: 0.0273689
[124]	valid_0's rmse: 0.0273147
[125]	valid_0's rmse: 0.0272632
[126]	valid_0's rmse: 0.0272447
[127]	valid_0's rmse: 0.0272158
[128]	valid_0's rmse: 0.0271733
[129]	valid_0's rmse: 0.0271393
[130]	valid_0's rmse: 0.0270881
[131]	valid_0's rmse: 0.0270768
[132]	valid_0's rmse: 0.0270641
[133]	valid_0's rmse: 0.0270439
[134]	valid_0's rmse: 0.0270316
[135]	valid_0's rmse: 0.0270212
[136]	valid_0's rmse: 0.0270004
[137]	valid_0's rmse: 0.0269842
[138]	valid_0's rmse: 0.0269647
[139]	valid_0's rmse: 0.0269451
[140]	valid_0's rmse: 0.0269235
[141]	valid_0's rmse: 0.0268934
[142]	valid_0's rmse: 0.0268604
[143]	valid_0's rmse: 0.0268295
[144]	valid_0's rmse: 0.0268063
[145]	valid_0's rmse: 0.0267889
[146]	valid_0's rmse: 0.0267701
[147]	valid_0's rmse: 0.0267576
[148]	valid_0's rmse: 0.026751
[149]	valid_0's rmse: 0.0267348
[150]	valid_0's rmse: 0.0267302
[151]	valid_0's rmse: 0.0266969
[152]	valid_0's rmse: 0.0266743
[153]	valid_0's rmse: 0.0266414
[154]	valid_0's rmse: 0.0265964
[155]	valid_0's rmse: 0.0265676
[156]	valid_0's rmse: 0.0265464
[157]	valid_0's rmse: 0.0265254
[158]	valid_0's rmse: 0.0264972
[159]	valid_0's rmse: 0.0264723
[160]	valid_0's rmse: 0.0264595
[161]	valid_0's rmse: 0.0264331
[162]	valid_0's rmse: 0.0263998
[163]	valid_0's rmse: 0.0263718
[164]	valid_0's rmse: 0.0263317
[165]	valid_0's rmse: 0.0263094
[166]	valid_0's rmse: 0.0262948
[167]	valid_0's rmse: 0.0262666
[168]	valid_0's rmse: 0.0262506
[169]	valid_0's rmse: 0.0262277
[170]	valid_0's rmse: 0.0262051
[171]	valid_0's rmse: 0.0261819
[172]	valid_0's rmse: 0.0261827
[173]	valid_0's rmse: 0.0261831
[174]	valid_0's rmse: 0.0261771
[175]	valid_0's rmse: 0.0261687
[176]	valid_0's rmse: 0.0261259
[177]	valid_0's rmse: 0.026084
[178]	valid_0's rmse: 0.0260451
[179]	valid_0's rmse: 0.0260044
[180]	valid_0's rmse: 0.025966
[181]	valid_0's rmse: 0.0259332
[182]	valid_0's rmse: 0.0259013
[183]	valid_0's rmse: 0.0258755
[184]	valid_0's rmse: 0.0258449
[185]	valid_0's rmse: 0.0258152
[186]	valid_0's rmse: 0.0257944
[187]	valid_0's rmse: 0.025773
[188]	valid_0's rmse: 0.0257526
[189]	valid_0's rmse: 0.0257327
[190]	valid_0's rmse: 0.0257139
[191]	valid_0's rmse: 0.0257102
[192]	valid_0's rmse: 0.025705
[193]	valid_0's rmse: 0.0256997
[194]	valid_0's rmse: 0.0256948
[195]	valid_0's rmse: 0.0256901
[196]	valid_0's rmse: 0.0256608
[197]	valid_0's rmse: 0.0256519
[198]	valid_0's rmse: 0.0256216
[199]	valid_0's rmse: 0.0255974
[200]	valid_0's rmse: 0.0255765
[201]	valid_0's rmse: 0.0255704
[202]	valid_0's rmse: 0.0255596
[203]	valid_0's rmse: 0.0255437
[204]	valid_0's rmse: 0.0255339
[205]	valid_0's rmse: 0.0255164
[206]	valid_0's rmse: 0.025509
[207]	valid_0's rmse: 0.0255068
[208]	valid_0's rmse: 0.0255012
[209]	valid_0's rmse: 0.0254911
[210]	valid_0's rmse: 0.0254842
[211]	valid_0's rmse: 0.0254678
[212]	valid_0's rmse: 0.0254562
[213]	valid_0's rmse: 0.0254432
[214]	valid_0's rmse: 0.0254233
[215]	valid_0's rmse: 0.0254261
[216]	valid_0's rmse: 0.0254124
[217]	valid_0's rmse: 0.0253979
[218]	valid_0's rmse: 0.0253836
[219]	valid_0's rmse: 0.0253722
[220]	valid_0's rmse: 0.0253569
[221]	valid_0's rmse: 0.0253374
[222]	valid_0's rmse: 0.0253137
[223]	valid_0's rmse: 0.025305
[224]	valid_0's rmse: 0.0252874
[225]	valid_0's rmse: 0.0252669
[226]	valid_0's rmse: 0.0252575
[227]	valid_0's rmse: 0.0252475
[228]	valid_0's rmse: 0.0252367
[229]	valid_0's rmse: 0.0252271
[230]	valid_0's rmse: 0.0252202
[231]	valid_0's rmse: 0.0252056
[232]	valid_0's rmse: 0.0251975
[233]	valid_0's rmse: 0.0251836
[234]	valid_0's rmse: 0.0251704
[235]	valid_0's rmse: 0.025157
[236]	valid_0's rmse: 0.0251498
[237]	valid_0's rmse: 0.0251478
[238]	valid_0's rmse: 0.0251482
[239]	valid_0's rmse: 0.0251432
[240]	valid_0's rmse: 0.0251456
[241]	valid_0's rmse: 0.025122
[242]	valid_0's rmse: 0.0250987
[243]	valid_0's rmse: 0.0250986
[244]	valid_0's rmse: 0.0250787
[245]	valid_0's rmse: 0.0250565
[246]	valid_0's rmse: 0.0250366
[247]	valid_0's rmse: 0.0250185
[248]	valid_0's rmse: 0.0250045
[249]	valid_0's rmse: 0.0249908
[250]	valid_0's rmse: 0.0249759
[251]	valid_0's rmse: 0.0249609
[252]	valid_0's rmse: 0.0249443
[253]	valid_0's rmse: 0.0249298
[254]	valid_0's rmse: 0.024917
[255]	valid_0's rmse: 0.0249109
[256]	valid_0's rmse: 0.024898
[257]	valid_0's rmse: 0.0248832
[258]	valid_0's rmse: 0.024868
[259]	valid_0's rmse: 0.0248641
[260]	valid_0's rmse: 0.0248603
[261]	valid_0's rmse: 0.0248412
[262]	valid_0's rmse: 0.0248193
[263]	valid_0's rmse: 0.0247979
[264]	valid_0's rmse: 0.0247795
[265]	valid_0's rmse: 0.0247607
[266]	valid_0's rmse: 0.0247514
[267]	valid_0's rmse: 0.024739
[268]	valid_0's rmse: 0.0247273
[269]	valid_0's rmse: 0.02472
[270]	valid_0's rmse: 0.0247194
[271]	valid_0's rmse: 0.0247061
[272]	valid_0's rmse: 0.0246918
[273]	valid_0's rmse: 0.0246791
[274]	valid_0's rmse: 0.024662
[275]	valid_0's rmse: 0.024653
[276]	valid_0's rmse: 0.0246436
[277]	valid_0's rmse: 0.0246298
[278]	valid_0's rmse: 0.0246208
[279]	valid_0's rmse: 0.0246118
[280]	valid_0's rmse: 0.0245976
[281]	valid_0's rmse: 0.0245997
[282]	valid_0's rmse: 0.0246013
[283]	valid_0's rmse: 0.0245843
[284]	valid_0's rmse: 0.024582
[285]	valid_0's rmse: 0.0245842
[286]	valid_0's rmse: 0.0245838
[287]	valid_0's rmse: 0.0245806
[288]	valid_0's rmse: 0.0245793
[289]	valid_0's rmse: 0.0245811
[290]	valid_0's rmse: 0.0245856
[291]	valid_0's rmse: 0.0245711
[292]	valid_0's rmse: 0.0245609
[293]	valid_0's rmse: 0.0245539
[294]	valid_0's rmse: 0.0245484
[295]	valid_0's rmse: 0.0245374
[296]	valid_0's rmse: 0.0245338
[297]	valid_0's rmse: 0.0245291
[298]	valid_0's rmse: 0.0245297
[299]	valid_0's rmse: 0.0245264
[300]	valid_0's rmse: 0.0245232
[301]	valid_0's rmse: 0.0245121
[302]	valid_0's rmse: 0.0245017
[303]	valid_0's rmse: 0.0244933
[304]	valid_0's rmse: 0.0244827
[305]	valid_0's rmse: 0.0244746
[306]	valid_0's rmse: 0.0244711
[307]	valid_0's rmse: 0.0244666
[308]	valid_0's rmse: 0.0244632
[309]	valid_0's rmse: 0.024459
[310]	valid_0's rmse: 0.0244469
[311]	valid_0's rmse: 0.024441
[312]	valid_0's rmse: 0.0244331
[313]	valid_0's rmse: 0.0244258
[314]	valid_0's rmse: 0.0244196
[315]	valid_0's rmse: 0.0244152
[316]	valid_0's rmse: 0.0244001
[317]	valid_0's rmse: 0.0243892
[318]	valid_0's rmse: 0.0243732
[319]	valid_0's rmse: 0.024361
[320]	valid_0's rmse: 0.0243533
[321]	valid_0's rmse: 0.0243482
[322]	valid_0's rmse: 0.0243482
[323]	valid_0's rmse: 0.0243467
[324]	valid_0's rmse: 0.0243414
[325]	valid_0's rmse: 0.0243344
[326]	valid_0's rmse: 0.0243312
[327]	valid_0's rmse: 0.0243232
[328]	valid_0's rmse: 0.0243171
[329]	valid_0's rmse: 0.0243081
[330]	valid_0's rmse: 0.0243013
[331]	valid_0's rmse: 0.0243076
[332]	valid_0's rmse: 0.0243055
[333]	valid_0's rmse: 0.0243036
[334]	valid_0's rmse: 0.0243086
[335]	valid_0's rmse: 0.0243114
[336]	valid_0's rmse: 0.024314
[337]	valid_0's rmse: 0.0243133
[338]	valid_0's rmse: 0.0243138
[339]	valid_0's rmse: 0.0243095
[340]	valid_0's rmse: 0.024309
[341]	valid_0's rmse: 0.0242939
[342]	valid_0's rmse: 0.0242814
[343]	valid_0's rmse: 0.0242711
[344]	valid_0's rmse: 0.02426
[345]	valid_0's rmse: 0.0242457
[346]	valid_0's rmse: 0.0242411
[347]	valid_0's rmse: 0.024246
[348]	valid_0's rmse: 0.0242413
[349]	valid_0's rmse: 0.0242367
[350]	valid_0's rmse: 0.024233
[351]	valid_0's rmse: 0.0242264
[352]	valid_0's rmse: 0.0242207
[353]	valid_0's rmse: 0.0242034
[354]	valid_0's rmse: 0.0241972
[355]	valid_0's rmse: 0.0241909
[356]	valid_0's rmse: 0.0241854
[357]	valid_0's rmse: 0.0241721
[358]	valid_0's rmse: 0.024171
[359]	valid_0's rmse: 0.0241659
[360]	valid_0's rmse: 0.0241622
[361]	valid_0's rmse: 0.0241609
[362]	valid_0's rmse: 0.0241598
[363]	valid_0's rmse: 0.0241542
[364]	valid_0's rmse: 0.024147
[365]	valid_0's rmse: 0.0241429
[366]	valid_0's rmse: 0.0241384
[367]	valid_0's rmse: 0.0241319
[368]	valid_0's rmse: 0.0241298
[369]	valid_0's rmse: 0.0241277
[370]	valid_0's rmse: 0.0241209
[371]	valid_0's rmse: 0.0241138
[372]	valid_0's rmse: 0.0241083
[373]	valid_0's rmse: 0.0241056
[374]	valid_0's rmse: 0.0240979
[375]	valid_0's rmse: 0.0240917
[376]	valid_0's rmse: 0.0240815
[377]	valid_0's rmse: 0.0240701
[378]	valid_0's rmse: 0.0240618
[379]	valid_0's rmse: 0.0240512
[380]	valid_0's rmse: 0.0240431
[381]	valid_0's rmse: 0.0240451
[382]	valid_0's rmse: 0.0240391
[383]	valid_0's rmse: 0.0240355
[384]	valid_0's rmse: 0.0240338
[385]	valid_0's rmse: 0.0240274
[386]	valid_0's rmse: 0.0240288
[387]	valid_0's rmse: 0.0240293
[388]	valid_0's rmse: 0.0240304
[389]	valid_0's rmse: 0.0240307
[390]	valid_0's rmse: 0.0240326
[391]	valid_0's rmse: 0.0240365
[392]	valid_0's rmse: 0.0240393
[393]	valid_0's rmse: 0.0240363
[394]	valid_0's rmse: 0.0240391
[395]	valid_0's rmse: 0.0240362
[396]	valid_0's rmse: 0.024031
[397]	valid_0's rmse: 0.0240299
[398]	valid_0's rmse: 0.0240285
[399]	valid_0's rmse: 0.0240235
[400]	valid_0's rmse: 0.0240225
[401]	valid_0's rmse: 0.0240136
[402]	valid_0's rmse: 0.0240105
[403]	valid_0's rmse: 0.0240043
[404]	valid_0's rmse: 0.0239983
[405]	valid_0's rmse: 0.0239935
[406]	valid_0's rmse: 0.0239919
[407]	valid_0's rmse: 0.0239874
[408]	valid_0's rmse: 0.0239845
[409]	valid_0's rmse: 0.0239855
[410]	valid_0's rmse: 0.0239827
[411]	valid_0's rmse: 0.023985
[412]	valid_0's rmse: 0.0239874
[413]	valid_0's rmse: 0.0239847
[414]	valid_0's rmse: 0.0239744
[415]	valid_0's rmse: 0.0239761
[416]	valid_0's rmse: 0.0239762
[417]	valid_0's rmse: 0.0239748
[418]	valid_0's rmse: 0.0239737
[419]	valid_0's rmse: 0.0239707
[420]	valid_0's rmse: 0.0239652
[421]	valid_0's rmse: 0.023964
[422]	valid_0's rmse: 0.0239644
[423]	valid_0's rmse: 0.0239657
[424]	valid_0's rmse: 0.0239646
[425]	valid_0's rmse: 0.0239603
[426]	valid_0's rmse: 0.0239571
[427]	valid_0's rmse: 0.0239556
[428]	valid_0's rmse: 0.023954
[429]	valid_0's rmse: 0.0239533
[430]	valid_0's rmse: 0.0239492
[431]	valid_0's rmse: 0.023952
[432]	valid_0's rmse: 0.0239514
[433]	valid_0's rmse: 0.0239484
[434]	valid_0's rmse: 0.0239519
[435]	valid_0's rmse: 0.0239532
[436]	valid_0's rmse: 0.023957
[437]	valid_0's rmse: 0.0239521
[438]	valid_0's rmse: 0.023949
[439]	valid_0's rmse: 0.023945
[440]	valid_0's rmse: 0.0239412
[441]	valid_0's rmse: 0.0239376
[442]	valid_0's rmse: 0.0239317
[443]	valid_0's rmse: 0.0239337
[444]	valid_0's rmse: 0.0239286
[445]	valid_0's rmse: 0.0239233
[446]	valid_0's rmse: 0.0239192
[447]	valid_0's rmse: 0.0239162
[448]	valid_0's rmse: 0.0239115
[449]	valid_0's rmse: 0.0239118
[450]	valid_0's rmse: 0.0239079
[451]	valid_0's rmse: 0.0239096
[452]	valid_0's rmse: 0.0239117
[453]	valid_0's rmse: 0.0239158
[454]	valid_0's rmse: 0.023916
[455]	valid_0's rmse: 0.0239156
[456]	valid_0's rmse: 0.0239162
[457]	valid_0's rmse: 0.0239135
[458]	valid_0's rmse: 0.0239121
[459]	valid_0's rmse: 0.0239084
[460]	valid_0's rmse: 0.0239069
[461]	valid_0's rmse: 0.0239055
[462]	valid_0's rmse: 0.0239052
[463]	valid_0's rmse: 0.0239013
[464]	valid_0's rmse: 0.0239009
[465]	valid_0's rmse: 0.0239033
[466]	valid_0's rmse: 0.0239029
[467]	valid_0's rmse: 0.0239066
[468]	valid_0's rmse: 0.0239107
[469]	valid_0's rmse: 0.023904
[470]	valid_0's rmse: 0.0239081
[471]	valid_0's rmse: 0.0239038
[472]	valid_0's rmse: 0.0238995
[473]	valid_0's rmse: 0.0238995
[474]	valid_0's rmse: 0.0238973
[475]	valid_0's rmse: 0.0238976
[476]	valid_0's rmse: 0.0238905
[477]	valid_0's rmse: 0.0238839
[478]	valid_0's rmse: 0.0238772
[479]	valid_0's rmse: 0.0238707
[480]	valid_0's rmse: 0.0238649
[481]	valid_0's rmse: 0.0238679
[482]	valid_0's rmse: 0.0238709
[483]	valid_0's rmse: 0.023873
[484]	valid_0's rmse: 0.0238779
[485]	valid_0's rmse: 0.0238804
[486]	valid_0's rmse: 0.0238815
[487]	valid_0's rmse: 0.023884
[488]	valid_0's rmse: 0.023886
[489]	valid_0's rmse: 0.0238828
[490]	valid_0's rmse: 0.0238858
[491]	valid_0's rmse: 0.0238856
[492]	valid_0's rmse: 0.0238792
[493]	valid_0's rmse: 0.0238776
[494]	valid_0's rmse: 0.023879
[495]	valid_0's rmse: 0.0238802
[496]	valid_0's rmse: 0.0238852
[497]	valid_0's rmse: 0.0238801
[498]	valid_0's rmse: 0.0238723
[499]	valid_0's rmse: 0.0238779
[500]	valid_0's rmse: 0.0238718
[501]	valid_0's rmse: 0.0238677
[502]	valid_0's rmse: 0.0238637
[503]	valid_0's rmse: 0.0238597
[504]	valid_0's rmse: 0.0238519
[505]	valid_0's rmse: 0.0238441
[506]	valid_0's rmse: 0.0238405
[507]	valid_0's rmse: 0.0238425
[508]	valid_0's rmse: 0.0238443
[509]	valid_0's rmse: 0.0238466
[510]	valid_0's rmse: 0.0238484
[511]	valid_0's rmse: 0.0238456
[512]	valid_0's rmse: 0.0238436
[513]	valid_0's rmse: 0.0238409
[514]	valid_0's rmse: 0.0238361
[515]	valid_0's rmse: 0.0238312
[516]	valid_0's rmse: 0.0238255
[517]	valid_0's rmse: 0.0238274
[518]	valid_0's rmse: 0.0238291
[519]	valid_0's rmse: 0.0238299
[520]	valid_0's rmse: 0.023826
[521]	valid_0's rmse: 0.023821
[522]	valid_0's rmse: 0.0238205
[523]	valid_0's rmse: 0.0238157
[524]	valid_0's rmse: 0.0238112
[525]	valid_0's rmse: 0.0238057
[526]	valid_0's rmse: 0.0237963
[527]	valid_0's rmse: 0.0237898
[528]	valid_0's rmse: 0.0237887
[529]	valid_0's rmse: 0.0237883
[530]	valid_0's rmse: 0.0237876
[531]	valid_0's rmse: 0.0237791
[532]	valid_0's rmse: 0.0237714
[533]	valid_0's rmse: 0.0237664
[534]	valid_0's rmse: 0.0237582
[535]	valid_0's rmse: 0.0237576
[536]	valid_0's rmse: 0.0237524
[537]	valid_0's rmse: 0.0237463
[538]	valid_0's rmse: 0.023739
[539]	valid_0's rmse: 0.0237339
[540]	valid_0's rmse: 0.0237297
[541]	valid_0's rmse: 0.0237259
[542]	valid_0's rmse: 0.0237235
[543]	valid_0's rmse: 0.0237196
[544]	valid_0's rmse: 0.023717
[545]	valid_0's rmse: 0.0237148
[546]	valid_0's rmse: 0.0237126
[547]	valid_0's rmse: 0.0237099
[548]	valid_0's rmse: 0.0237077
[549]	valid_0's rmse: 0.0237091
[550]	valid_0's rmse: 0.0237079
[551]	valid_0's rmse: 0.0237111
[552]	valid_0's rmse: 0.0237143
[553]	valid_0's rmse: 0.0237081
[554]	valid_0's rmse: 0.0237075
[555]	valid_0's rmse: 0.0237112
[556]	valid_0's rmse: 0.0237092
[557]	valid_0's rmse: 0.0237085
[558]	valid_0's rmse: 0.0237046
[559]	valid_0's rmse: 0.0237071
[560]	valid_0's rmse: 0.0237038
[561]	valid_0's rmse: 0.0237053
[562]	valid_0's rmse: 0.0237058
[563]	valid_0's rmse: 0.0237081
[564]	valid_0's rmse: 0.0237097
[565]	valid_0's rmse: 0.0237125
[566]	valid_0's rmse: 0.02371
[567]	valid_0's rmse: 0.0237057
[568]	valid_0's rmse: 0.0237037
[569]	valid_0's rmse: 0.0236994
[570]	valid_0's rmse: 0.0236973
[571]	valid_0's rmse: 0.0237007
[572]	valid_0's rmse: 0.0237056
[573]	valid_0's rmse: 0.0237081
[574]	valid_0's rmse: 0.0237099
[575]	valid_0's rmse: 0.0237144
[576]	valid_0's rmse: 0.0237134
[577]	valid_0's rmse: 0.0237125
[578]	valid_0's rmse: 0.023717
[579]	valid_0's rmse: 0.0237166
[580]	valid_0's rmse: 0.023721
[581]	valid_0's rmse: 0.0237188
[582]	valid_0's rmse: 0.0237185
[583]	valid_0's rmse: 0.0237182
[584]	valid_0's rmse: 0.0237154
[585]	valid_0's rmse: 0.0237144
[586]	valid_0's rmse: 0.0237223
[587]	valid_0's rmse: 0.0237258
[588]	valid_0's rmse: 0.0237284
[589]	valid_0's rmse: 0.0237351
[590]	valid_0's rmse: 0.0237396
[591]	valid_0's rmse: 0.0237399
[592]	valid_0's rmse: 0.0237394
[593]	valid_0's rmse: 0.0237347
[594]	valid_0's rmse: 0.0237336
[595]	valid_0's rmse: 0.0237299
[596]	valid_0's rmse: 0.0237252
[597]	valid_0's rmse: 0.0237205
[598]	valid_0's rmse: 0.0237181
[599]	valid_0's rmse: 0.0237155
[600]	valid_0's rmse: 0.0237113
[601]	valid_0's rmse: 0.0237135
[602]	valid_0's rmse: 0.0237156
[603]	valid_0's rmse: 0.0237178
[604]	valid_0's rmse: 0.0237191
[605]	valid_0's rmse: 0.0237146
[606]	valid_0's rmse: 0.0237114
[607]	valid_0's rmse: 0.0237142
[608]	valid_0's rmse: 0.023715
[609]	valid_0's rmse: 0.0237133
[610]	valid_0's rmse: 0.0237139
[611]	valid_0's rmse: 0.0237155
[612]	valid_0's rmse: 0.0237169
[613]	valid_0's rmse: 0.0237189
[614]	valid_0's rmse: 0.0237202
[615]	valid_0's rmse: 0.0237216
[616]	valid_0's rmse: 0.0237216
[617]	valid_0's rmse: 0.0237165
[618]	valid_0's rmse: 0.0237185
[619]	valid_0's rmse: 0.0237152
[620]	valid_0's rmse: 0.0237125
[621]	valid_0's rmse: 0.0237107
[622]	valid_0's rmse: 0.0237079
[623]	valid_0's rmse: 0.0237081
[624]	valid_0's rmse: 0.0237024
[625]	valid_0's rmse: 0.0237027
[626]	valid_0's rmse: 0.0237078
[627]	valid_0's rmse: 0.0237062
[628]	valid_0's rmse: 0.0237076
[629]	valid_0's rmse: 0.0237107
[630]	valid_0's rmse: 0.0237141
[631]	valid_0's rmse: 0.02372
[632]	valid_0's rmse: 0.0237201
[633]	valid_0's rmse: 0.0237182
[634]	valid_0's rmse: 0.023717
[635]	valid_0's rmse: 0.023711
[636]	valid_0's rmse: 0.0237045
[637]	valid_0's rmse: 0.0237
[638]	valid_0's rmse: 0.0236946
[639]	valid_0's rmse: 0.0236963
[640]	valid_0's rmse: 0.023692
[641]	valid_0's rmse: 0.0236891
[642]	valid_0's rmse: 0.0236864
[643]	valid_0's rmse: 0.0236813
[644]	valid_0's rmse: 0.0236781
[645]	valid_0's rmse: 0.0236752
[646]	valid_0's rmse: 0.0236743
[647]	valid_0's rmse: 0.0236729
[648]	valid_0's rmse: 0.0236707
[649]	valid_0's rmse: 0.0236687
[650]	valid_0's rmse: 0.0236681
[651]	valid_0's rmse: 0.0236664
[652]	valid_0's rmse: 0.0236637
[653]	valid_0's rmse: 0.0236597
[654]	valid_0's rmse: 0.0236582
[655]	valid_0's rmse: 0.0236561
[656]	valid_0's rmse: 0.0236593
[657]	valid_0's rmse: 0.0236551
[658]	valid_0's rmse: 0.0236587
[659]	valid_0's rmse: 0.0236519
[660]	valid_0's rmse: 0.0236453
[661]	valid_0's rmse: 0.0236416
[662]	valid_0's rmse: 0.023636
[663]	valid_0's rmse: 0.0236345
[664]	valid_0's rmse: 0.0236303
[665]	valid_0's rmse: 0.0236267
[666]	valid_0's rmse: 0.0236234
[667]	valid_0's rmse: 0.0236212
[668]	valid_0's rmse: 0.0236192
[669]	valid_0's rmse: 0.023616
[670]	valid_0's rmse: 0.0236154
[671]	valid_0's rmse: 0.0236192
[672]	valid_0's rmse: 0.0236205
[673]	valid_0's rmse: 0.0236209
[674]	valid_0's rmse: 0.0236217
[675]	valid_0's rmse: 0.0236231
[676]	valid_0's rmse: 0.0236199
[677]	valid_0's rmse: 0.0236168
[678]	valid_0's rmse: 0.0236158
[679]	valid_0's rmse: 0.0236132
[680]	valid_0's rmse: 0.023615
[681]	valid_0's rmse: 0.0236104
[682]	valid_0's rmse: 0.0236094
[683]	valid_0's rmse: 0.023608
[684]	valid_0's rmse: 0.0236061
[685]	valid_0's rmse: 0.0236054
[686]	valid_0's rmse: 0.0236006
[687]	valid_0's rmse: 0.0235964
[688]	valid_0's rmse: 0.0235926
[689]	valid_0's rmse: 0.0235928
[690]	valid_0's rmse: 0.0235919
[691]	valid_0's rmse: 0.0235965
[692]	valid_0's rmse: 0.023596
[693]	valid_0's rmse: 0.0235979
[694]	valid_0's rmse: 0.0235969
[695]	valid_0's rmse: 0.0235965
[696]	valid_0's rmse: 0.0235954
[697]	valid_0's rmse: 0.0235889
[698]	valid_0's rmse: 0.0235825
[699]	valid_0's rmse: 0.0235817
[700]	valid_0's rmse: 0.0235755
[701]	valid_0's rmse: 0.0235773
[702]	valid_0's rmse: 0.0235708
[703]	valid_0's rmse: 0.0235742
[704]	valid_0's rmse: 0.0235722
[705]	valid_0's rmse: 0.0235752
[706]	valid_0's rmse: 0.0235732
[707]	valid_0's rmse: 0.0235712
[708]	valid_0's rmse: 0.023572
[709]	valid_0's rmse: 0.0235776
[710]	valid_0's rmse: 0.0235757
[711]	valid_0's rmse: 0.0235846
[712]	valid_0's rmse: 0.0235865
[713]	valid_0's rmse: 0.0235889
[714]	valid_0's rmse: 0.0235902
[715]	valid_0's rmse: 0.0235915
[716]	valid_0's rmse: 0.0235899
[717]	valid_0's rmse: 0.0235843
[718]	valid_0's rmse: 0.0235871
[719]	valid_0's rmse: 0.0235815
[720]	valid_0's rmse: 0.0235834
[721]	valid_0's rmse: 0.0235796
[722]	valid_0's rmse: 0.0235709
[723]	valid_0's rmse: 0.0235679
[724]	valid_0's rmse: 0.0235597
[725]	valid_0's rmse: 0.023558
[726]	valid_0's rmse: 0.0235521
[727]	valid_0's rmse: 0.0235506
[728]	valid_0's rmse: 0.0235456
[729]	valid_0's rmse: 0.0235434
[730]	valid_0's rmse: 0.023542
[731]	valid_0's rmse: 0.0235465
[732]	valid_0's rmse: 0.0235518
[733]	valid_0's rmse: 0.0235577
[734]	valid_0's rmse: 0.0235628
[735]	valid_0's rmse: 0.023568
[736]	valid_0's rmse: 0.023567
[737]	valid_0's rmse: 0.0235687
[738]	valid_0's rmse: 0.023567
[739]	valid_0's rmse: 0.0235689
[740]	valid_0's rmse: 0.0235683
[741]	valid_0's rmse: 0.0235687
[742]	valid_0's rmse: 0.0235667
[743]	valid_0's rmse: 0.023565
[744]	valid_0's rmse: 0.0235647
[745]	valid_0's rmse: 0.0235639
[746]	valid_0's rmse: 0.0235626
[747]	valid_0's rmse: 0.0235621
[748]	valid_0's rmse: 0.0235655
[749]	valid_0's rmse: 0.0235651
[750]	valid_0's rmse: 0.0235626
[751]	valid_0's rmse: 0.0235604
[752]	valid_0's rmse: 0.0235554
[753]	valid_0's rmse: 0.023553
[754]	valid_0's rmse: 0.0235507
[755]	valid_0's rmse: 0.0235485
[756]	valid_0's rmse: 0.0235475
[757]	valid_0's rmse: 0.0235471
[758]	valid_0's rmse: 0.023547
[759]	valid_0's rmse: 0.023546
[760]	valid_0's rmse: 0.023548
[761]	valid_0's rmse: 0.0235404
[762]	valid_0's rmse: 0.0235322
[763]	valid_0's rmse: 0.0235255
[764]	valid_0's rmse: 0.0235206
[765]	valid_0's rmse: 0.0235189
[766]	valid_0's rmse: 0.0235161
[767]	valid_0's rmse: 0.0235131
[768]	valid_0's rmse: 0.0235113
[769]	valid_0's rmse: 0.0235116
[770]	valid_0's rmse: 0.0235096
[771]	valid_0's rmse: 0.0235095
[772]	valid_0's rmse: 0.0235065
[773]	valid_0's rmse: 0.0235049
[774]	valid_0's rmse: 0.023504
[775]	valid_0's rmse: 0.0235031
[776]	valid_0's rmse: 0.0235041
[777]	valid_0's rmse: 0.0235034
[778]	valid_0's rmse: 0.0235044
[779]	valid_0's rmse: 0.0235023
[780]	valid_0's rmse: 0.0235033
[781]	valid_0's rmse: 0.023505
[782]	valid_0's rmse: 0.0235067
[783]	valid_0's rmse: 0.0235069
[784]	valid_0's rmse: 0.023507
[785]	valid_0's rmse: 0.0235084
[786]	valid_0's rmse: 0.0235073
[787]	valid_0's rmse: 0.0235103
[788]	valid_0's rmse: 0.0235107
[789]	valid_0's rmse: 0.0235102
[790]	valid_0's rmse: 0.0235127
[791]	valid_0's rmse: 0.0235112
[792]	valid_0's rmse: 0.0235102
[793]	valid_0's rmse: 0.0235093
[794]	valid_0's rmse: 0.0235079
[795]	valid_0's rmse: 0.0235067
[796]	valid_0's rmse: 0.0235103
[797]	valid_0's rmse: 0.0235153
[798]	valid_0's rmse: 0.0235183
[799]	valid_0's rmse: 0.0235219
[800]	valid_0's rmse: 0.0235219
[801]	valid_0's rmse: 0.0235216
[802]	valid_0's rmse: 0.0235214
[803]	valid_0's rmse: 0.0235148
[804]	valid_0's rmse: 0.0235062
[805]	valid_0's rmse: 0.0235034
[806]	valid_0's rmse: 0.0235047
[807]	valid_0's rmse: 0.0235054
[808]	valid_0's rmse: 0.0235062
[809]	valid_0's rmse: 0.023506
[810]	valid_0's rmse: 0.0235021
[811]	valid_0's rmse: 0.0235045
[812]	valid_0's rmse: 0.0235052
[813]	valid_0's rmse: 0.023506
[814]	valid_0's rmse: 0.0235077
[815]	valid_0's rmse: 0.0235097
[816]	valid_0's rmse: 0.0235131
[817]	valid_0's rmse: 0.0235155
[818]	valid_0's rmse: 0.0235176
[819]	valid_0's rmse: 0.0235196
[820]	valid_0's rmse: 0.0235238
[821]	valid_0's rmse: 0.0235239
[822]	valid_0's rmse: 0.0235244
[823]	valid_0's rmse: 0.0235239
[824]	valid_0's rmse: 0.0235241
[825]	valid_0's rmse: 0.0235212
[826]	valid_0's rmse: 0.0235226
[827]	valid_0's rmse: 0.023523
[828]	valid_0's rmse: 0.023524
[829]	valid_0's rmse: 0.0235217
[830]	valid_0's rmse: 0.0235221
[831]	valid_0's rmse: 0.023523
[832]	valid_0's rmse: 0.023519
[833]	valid_0's rmse: 0.0235185
[834]	valid_0's rmse: 0.0235189
[835]	valid_0's rmse: 0.0235118
[836]	valid_0's rmse: 0.0235092
[837]	valid_0's rmse: 0.0235095
[838]	valid_0's rmse: 0.0235097
[839]	valid_0's rmse: 0.02351
[840]	valid_0's rmse: 0.0235108
[841]	valid_0's rmse: 0.0235141
[842]	valid_0's rmse: 0.0235179
[843]	valid_0's rmse: 0.0235229
[844]	valid_0's rmse: 0.0235268
[845]	valid_0's rmse: 0.0235272
[846]	valid_0's rmse: 0.0235265
[847]	valid_0's rmse: 0.0235274
[848]	valid_0's rmse: 0.0235266
[849]	valid_0's rmse: 0.0235251
[850]	valid_0's rmse: 0.0235253
[851]	valid_0's rmse: 0.0235213
[852]	valid_0's rmse: 0.023517
[853]	valid_0's rmse: 0.0235131
[854]	valid_0's rmse: 0.0235091
[855]	valid_0's rmse: 0.0235049
[856]	valid_0's rmse: 0.0235052
[857]	valid_0's rmse: 0.0235
[858]	valid_0's rmse: 0.0235013
[859]	valid_0's rmse: 0.0235023
[860]	valid_0's rmse: 0.0235047
[861]	valid_0's rmse: 0.023503
[862]	valid_0's rmse: 0.0234994
[863]	valid_0's rmse: 0.0234981
[864]	valid_0's rmse: 0.0234936
[865]	valid_0's rmse: 0.0234924
[866]	valid_0's rmse: 0.0234934
[867]	valid_0's rmse: 0.0234969
[868]	valid_0's rmse: 0.0234978
[869]	valid_0's rmse: 0.0235012
[870]	valid_0's rmse: 0.0235047
[871]	valid_0's rmse: 0.0235039
[872]	valid_0's rmse: 0.0235025
[873]	valid_0's rmse: 0.0235049
[874]	valid_0's rmse: 0.0235041
[875]	valid_0's rmse: 0.0235059
[876]	valid_0's rmse: 0.0235107
[877]	valid_0's rmse: 0.0235122
[878]	valid_0's rmse: 0.0235171
[879]	valid_0's rmse: 0.0235214
[880]	valid_0's rmse: 0.0235213
[881]	valid_0's rmse: 0.023521
[882]	valid_0's rmse: 0.0235209
[883]	valid_0's rmse: 0.0235202
[884]	valid_0's rmse: 0.0235197
[885]	valid_0's rmse: 0.0235206
[886]	valid_0's rmse: 0.0235238
[887]	valid_0's rmse: 0.0235254
[888]	valid_0's rmse: 0.0235276
[889]	valid_0's rmse: 0.0235311
[890]	valid_0's rmse: 0.0235339
[891]	valid_0's rmse: 0.0235356
[892]	valid_0's rmse: 0.0235324
[893]	valid_0's rmse: 0.0235339
[894]	valid_0's rmse: 0.0235337
[895]	valid_0's rmse: 0.0235358
[896]	valid_0's rmse: 0.0235353
[897]	valid_0's rmse: 0.0235357
[898]	valid_0's rmse: 0.0235341
[899]	valid_0's rmse: 0.0235337
[900]	valid_0's rmse: 0.023535
[901]	valid_0's rmse: 0.0235356
[902]	valid_0's rmse: 0.0235366
[903]	valid_0's rmse: 0.0235374
[904]	valid_0's rmse: 0.023538
[905]	valid_0's rmse: 0.0235402
[906]	valid_0's rmse: 0.023542
[907]	valid_0's rmse: 0.0235439
[908]	valid_0's rmse: 0.0235459
[909]	valid_0's rmse: 0.0235494
[910]	valid_0's rmse: 0.0235523
[911]	valid_0's rmse: 0.0235503
[912]	valid_0's rmse: 0.0235494
[913]	valid_0's rmse: 0.0235473
[914]	valid_0's rmse: 0.0235462
[915]	valid_0's rmse: 0.0235449
[916]	valid_0's rmse: 0.0235459
[917]	valid_0's rmse: 0.023544
[918]	valid_0's rmse: 0.0235448
[919]	valid_0's rmse: 0.023543
[920]	valid_0's rmse: 0.0235422
[921]	valid_0's rmse: 0.0235431
[922]	valid_0's rmse: 0.023542
[923]	valid_0's rmse: 0.0235415
[924]	valid_0's rmse: 0.0235385
[925]	valid_0's rmse: 0.0235385
[926]	valid_0's rmse: 0.0235357
[927]	valid_0's rmse: 0.0235344
[928]	valid_0's rmse: 0.0235349
[929]	valid_0's rmse: 0.0235341
[930]	valid_0's rmse: 0.0235303
[931]	valid_0's rmse: 0.0235341
[932]	valid_0's rmse: 0.023536
[933]	valid_0's rmse: 0.0235349
[934]	valid_0's rmse: 0.0235368
[935]	valid_0's rmse: 0.0235389
[936]	valid_0's rmse: 0.0235382
[937]	valid_0's rmse: 0.0235344
[938]	valid_0's rmse: 0.0235317
[939]	valid_0's rmse: 0.0235276
[940]	valid_0's rmse: 0.0235269
[941]	valid_0's rmse: 0.0235273
[942]	valid_0's rmse: 0.0235316
[943]	valid_0's rmse: 0.0235336
[944]	valid_0's rmse: 0.0235346
[945]	valid_0's rmse: 0.0235367
[946]	valid_0's rmse: 0.023537
[947]	valid_0's rmse: 0.023538
[948]	valid_0's rmse: 0.023539
[949]	valid_0's rmse: 0.0235394
[950]	valid_0's rmse: 0.0235403
[951]	valid_0's rmse: 0.0235336
[952]	valid_0's rmse: 0.0235269
[953]	valid_0's rmse: 0.0235204
[954]	valid_0's rmse: 0.0235217
[955]	valid_0's rmse: 0.0235153
[956]	valid_0's rmse: 0.0235105
[957]	valid_0's rmse: 0.023508
[958]	valid_0's rmse: 0.0235124
[959]	valid_0's rmse: 0.023517
[960]	valid_0's rmse: 0.0235178
[961]	valid_0's rmse: 0.0235156
[962]	valid_0's rmse: 0.0235136
[963]	valid_0's rmse: 0.0235115
[964]	valid_0's rmse: 0.023511
[965]	valid_0's rmse: 0.023509
Early stopping, best iteration is:
[865]	valid_0's rmse: 0.0234924
In [12]:
y_pred = np.expm1(np.expm1(gbm.predict(X_test)))
y_true = np.expm1(np.expm1(Y_test))
In [13]:
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)
print('MSE:', format(MSE, '.2E'))
print('RMSE:', RMSE)
print('MAE:', MAE)
print('MAPE:', MAPE)
print('R_2:', R_2)  #R方为负就说明拟合效果比平均值差
MSE: 5.74E+03
RMSE: 75.76181372320752
MAE: 54.761485656796516
MAPE: 0.11813067374720394
R_2: 0.6942490637163895
In [14]:
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)
print('MSE:', format(MSE, '.2E'))
print('RMSE:', RMSE)
print('MAE:', MAE)
print('MAPE:', MAPE)
print('R_2:', R_2)  #R方为负就说明拟合效果比平均值差
MSE: 5.74E+03
RMSE: 75.76181372320752
MAE: 54.761485656796516
MAPE: 0.11813067374720394
R_2: 0.6942490637163895
In [15]:
import seaborn as sns
In [20]:
feature_importance = pd.DataFrame()
feature_importance['fea_name'] = feature_cols
feature_importance['fea_imp'] = gbm.feature_importance()
feature_importance = feature_importance.sort_values('fea_imp', ascending=False)

plt.figure(figsize=[20, 10])
ax = sns.barplot(x=feature_importance['fea_name'], y=feature_importance['fea_imp'])
ax.set_xticklabels(labels=feature_importance['fea_name'], rotation=45, fontsize=18)
ax.set_yticklabels(labels=[0, 2000, 4000, 6000, 8000, 10000, 12000, 14000, 16000], fontsize=6)
plt.xlabel('fea_name', fontsize=18)
plt.ylabel('fea_imp', fontsize=18)
plt.tight_layout()
plt.savefig('./figure/特征重要性.png')
C:\Users\zhaojh\AppData\Local\Temp\ipykernel_26460\3712314790.py:9: UserWarning: FixedFormatter should only be used together with FixedLocator
  ax.set_yticklabels(labels=[0, 2000, 4000, 6000, 8000, 10000, 12000, 14000, 16000], fontsize=6)
No description has been provided for this image
In [17]:
import seaborn as sns
In [18]:
from sklearn.preprocessing import MinMaxScaler
In [18]: