emission_detect_ai/使用lightgbm对所有特征建模.ipynb

1755 lines
893 KiB
Plaintext
Raw Permalink Normal View History

2022-10-25 15:11:12 +08:00
{
"cells": [
{
"cell_type": "code",
2022-10-31 14:20:50 +08:00
"execution_count": 7,
2022-10-25 15:11:12 +08:00
"outputs": [],
"source": [
"import pandas as pd\n",
"import lightgbm as lgb\n",
"import numpy as np\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.metrics import mean_absolute_error, mean_squared_error, mean_absolute_percentage_error, r2_score\n",
2022-10-31 14:20:50 +08:00
"import datetime as dt\n",
2022-10-25 15:11:12 +08:00
"import matplotlib.pyplot as plt\n",
"#新增加的两行\n",
"from pylab import mpl\n",
"# 设置显示中文字体\n",
"mpl.rcParams[\"font.sans-serif\"] = [\"SimHei\"]\n",
"\n",
"mpl.rcParams[\"axes.unicode_minus\"] = False"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
2022-10-31 14:20:50 +08:00
"execution_count": 8,
"outputs": [],
"source": [
"data = pd.read_csv('data/factory_train_data.csv')\n",
"data = data[data['燃料消耗量(吨)'] > 0].copy()"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 9,
"outputs": [],
"source": [
"data['week_of_years'] = data.day_of_year // 7\n",
"data['day_of_week'] = data.days.apply(lambda x: dt.datetime.strptime(x, '%Y-%m-%d').weekday() + 1)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 10,
"outputs": [
{
"data": {
"text/plain": "浙江秀舟热电有限公司 1087\n武乡西山发电有限责任公司 112\n国电电力邯郸东郊热电有限责任公司 59\n建投遵化热电有限责任公司 25\nName: 企业名称, dtype: int64"
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data['企业名称'].value_counts()"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 11,
"outputs": [],
"source": [
"data.drop(columns=['days', 'day_of_year', '企业名称'], inplace=True)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 12,
"outputs": [],
"source": [
"object_cols = ['生产设备类型', '燃料类型', '汽轮机类型', '冷却方式', '压力参数', 'day_of_week']\n",
"num_cols = [x for x in data.columns if x not in object_cols]"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 13,
"outputs": [],
"source": [
"for col in num_cols:\n",
" if col != 'num_workers':\n",
" data[col] = np.log1p(data[col])"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 14,
"outputs": [
{
"data": {
"text/plain": " r_O2 temperature 发电量(万千瓦时) 供热量(吉焦) c_smoke c_NO2 \\\nr_O2 1.000000 -0.316186 -0.319038 0.068471 -0.417281 -0.560829 \ntemperature -0.316186 1.000000 -0.003006 0.117038 0.133293 0.288824 \n发电量万千瓦时 -0.319038 -0.003006 1.000000 -0.251193 0.704215 0.682388 \n供热量吉焦 0.068471 0.117038 -0.251193 1.000000 -0.174803 -0.164987 \nc_smoke -0.417281 0.133293 0.704215 -0.174803 1.000000 0.909606 \nc_NO2 -0.560829 0.288824 0.682388 -0.164987 0.909606 1.000000 \nc_SO2 -0.272416 0.046211 0.532251 -0.174050 0.488700 0.468403 \nflow -0.427438 0.194207 0.673315 -0.180025 0.963711 0.925927 \nnum_workers 0.157706 0.076302 -0.422639 0.498720 -0.342271 -0.344105 \n燃料消耗量 -0.541179 0.044031 0.864512 -0.208610 0.791680 0.769341 \n低位发热量GJ/t 0.317284 0.098987 -0.681444 0.707886 -0.581977 -0.549735 \n额定蒸发量 -0.391598 -0.105596 0.880452 -0.338254 0.794106 0.754143 \n总容量 -0.391399 -0.105362 0.882626 -0.337874 0.793466 0.753368 \nweek_of_years 0.056489 0.141038 -0.289343 -0.056148 -0.313741 -0.246944 \nday_of_week 0.015395 0.030817 0.008199 0.014397 0.014961 0.011258 \n\n c_SO2 flow num_workers 燃料消耗量(吨) 低位发热量GJ/t \\\nr_O2 -0.272416 -0.427438 0.157706 -0.541179 0.317284 \ntemperature 0.046211 0.194207 0.076302 0.044031 0.098987 \n发电量万千瓦时 0.532251 0.673315 -0.422639 0.864512 -0.681444 \n供热量吉焦 -0.174050 -0.180025 0.498720 -0.208610 0.707886 \nc_smoke 0.488700 0.963711 -0.342271 0.791680 -0.581977 \nc_NO2 0.468403 0.925927 -0.344105 0.769341 -0.549735 \nc_SO2 1.000000 0.473151 -0.276540 0.590084 -0.462104 \nflow 0.473151 1.000000 -0.320692 0.762291 -0.581641 \nnum_workers -0.276540 -0.320692 1.000000 -0.482223 0.479269 \n燃料消耗量 0.590084 0.762291 -0.482223 1.000000 -0.682627 \n低位发热量GJ/t -0.462104 -0.581641 0.479269 -0.682627 1.000000 \n额定蒸发量 0.594941 0.767429 -0.539560 0.945291 -0.770206 \n总容量 0.596513 0.769066 -0.529737 0.941232 -0.777893 \nweek_of_years -0.188307 -0.253597 0.119964 -0.430310 0.247530 \nday_of_week 0.001653 0.017986 0.018464 -0.003100 -0.000316 \n\n 额定蒸发量 总容量 week_of_years day_of_week \nr_O2 -0.391598 -0.391399 0.056489 0.015395 \ntemperature -0.105596 -0.105362 0.141038 0.030817 \n发电量万千瓦时 0.880452 0.882626 -0.289343 0.008199 \n供热量吉焦 -0.338254 -0.337874 -0.056148 0.014397 \nc_smoke 0.794106 0.793466 -0.313741 0.014961 \nc_NO2 0.754143 0.753368 -0.246944 0.011258 \nc_SO2 0.594941 0.596513 -0.188307 0.001653 \nflow 0.767429 0.769066 -0.253597 0.017986 \nnum_workers -0.539560 -0.529737 0.119964 0.018464 \n燃料消耗量 0.945291 0.941232 -0.430310 -0.003100 \n低位发热量GJ/t -0.770206 -0.777893 0.247530 -0.000316 \n额定蒸发量 1.000000 0.999263 -0.442480 0.000319 \n总容量 0.999263 1.000000 -0.445768 0.000484 \nweek_of_years -0.442480 -0.445768 1.000000 0.007419 \nday_of_week 0.000319 0.000484 0.007419 1.000000 ",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>r_O2</th>\n <th>temperature</th>\n <th>发电量(万千瓦时)</th>\n <th>供热量(吉焦)</th>\n <th>c_smoke</th>\n <th>c_NO2</th>\n <th>c_SO2</th>\n <th>flow</th>\n <th>num_workers</th>\n <th>燃料消耗量(吨)</th>\n <th>低位发热量GJ/t</th>\n <th>额定蒸发量</th>\n <th>总容量</th>\n <th>week_of_years</th>\n <th>day_of_week</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>r_O2</th>\n <td>1.000000</td>\n <td>-0.316186</td>\n <td>-0.319038</td>\n <td>0.068471</td>\n <td>-0.417281</td>\n <td>-0.560829</td>\n <td>-0.272416</td>\n <td>-0.427438</td>\n <td>0.157706</td>\n <td>-0.541179</td>\n <td>0.317284</td>\n <td>-0.391598</td>\n <td>-0.391399</td>\n <td>0.056489</td>\n <td>0.015395</td>\n </tr>\n <tr>\n <th>temperature</th>\n <td>-0.316186</td>\n <td>1.000000</td>\n <td>-0.003006</td>\n <td>0.117038</td>\n <td>0.133293</td>\n <td>0.288824</td>\n <td>0.046211</td>\n <td>0.194207</td>\n <td>0.076302</td>\n <td>0.044031</td>\n <td>0.098987</td>\n <td>-0.105596</td>\n <td>-0.105362</td>\n <td>0.141038</td>\n <td>0.030817</td>\n </tr>\n <tr>\n <th>发电量(万千瓦时)</th>\n <td>-0.319038</td>\n <td>-0.003006</td>\n <td>1.000000</td>\n <td>-0.251193</td>\n <td>0.704215</td>\n <td>0.682388</td>\n <td>0.532251</td>\n <td>0.673315</td>\n <td>-0.422639</td>\n <td>0.864512</td>\n <td>-0.681444</td>\n <td>0.880452</td>\n <td>0.882626</td>\n <td>-0.289343</td>\n <td>0.008199</td>\n </tr>\n <tr>\n <th>供热量(吉焦)</th>\n <td>0.068471</td>\n <td>0.117038</td>\n <td>-0.251193</td>\n <td>1.000000</td>\n <td>-0.174803</td>\n <td>-0.164987</td>\n <td>-0.174050</td>\n <td>-0.180025</td>\n <td>0.498720</td>\n <td>-0.208610</td>\n <td>0.707886</td>\n <td>-0.338254</td>\n <td>-0.337874</td>\n <td>-0.056148</td>\n <td>0.014397</td>\n </tr>\n <tr>\n <th>c_smoke</th>\n <td>-0.417281</td>\n <td>0.133293</td>\n <td>0.704215</td>\n <td>-0.174803</td>\n <td>1.000000</td>\n <td>0.909606</td>\n <td>0.488700</td>\n <td>0.963711</td>\n <td>-0.342271</td>\n <td>0.791680</td>\n <td>-0.581977</td>\n <td>0.794106</td>\n <td>0.793466</td>\n <td>-0.313741</td>\n <td>0.014961</td>\n </tr>\n <tr>\n <th>c_NO2</th>\n <td>-0.560829</td>\n <td>0.288824</td>\n <td>0.682388</td>\n <td>-0.164987</td>\n <td>0.909606</td>\n <td>1.000000</td>\n <td>0.468403</td>\n <td>0.925927</td>\n <td>-0.344105</td>\n <td>0.769341</td>\n <td>-0.549735</td>\n <td>0.754143</td>\n <td>0.753368</td>\n <td>-0.246944</td>\n <td>0.011258</td>\n </tr>\n <tr>\n <th>c_SO2</th>\n <td>-0.272416</td>\n <td>0.046211</td>\n <td>0.532251</td>\n <td>-0.174050</td>\n <td>0.488700</td>\n <td>0.468403</td>\n <td>1.000000</td>\n <td>0.473151</td>\n <td>-0.276540</td>\n <td>0.590084</td>\n <td>-0.462104</td>\n <td>0.594941</td>\n <td>0.596513</td>\n <td>-0.188307</td>\n <td>0.001653</td>\n </tr>\n <tr>\n <th>flow</th>\n <td>-0.427438</td>\n <td>0.194207</td>\n <td>0.673315</td>\n <td>-0.180025</td>\n <td>0.963711</td>\n <td>0.925927</td>\n <td>0.473151</td>\n <td>1.00
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.corr()"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 9,
"outputs": [
{
"data": {
"text/plain": "6"
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(object_cols)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 10,
"outputs": [
{
"data": {
"text/plain": "中高挥发分烟煤 1087\n褐煤 112\n低挥发分烟煤 59\n一般烟煤 25\nName: 燃料类型, dtype: int64"
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data['燃料类型'].value_counts()"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 11,
"outputs": [
{
"data": {
"text/plain": "<Figure size 2000x2000 with 20 Axes>",
"image/png": "iVBORw0KGgoAAAANSUhEUgAABmoAAAZECAYAAADi4l+oAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdf3zN9f//8fvZOdsMNSST/KioiebHMkQlv1Lkd4r0QyhTCkNahD5+hBQiMSpKiFkTRZLy611KifmxYZHfv5lttp3tnPP9w3evnPbDZjhnO7fr5eJycV7P13m9nue583qc5+v1eL2eT5PD4XAIAAAAAAAAAAAAN5yXqysAAAAAAAAAAADgqUjUAAAAAAAAAAAAuAiJGgAAAAAAAAAAABchUQMAAAAAAAAAAOAiJGoAAAAAAAAAAABchEQNAAAAAAAAAACAi5CoAQAAAAAAAAAAcBESNQAAAAAAAAAAAC5CogZFks1mc3UVAAAAAAAAAAC4IhI1cLn09HSn10uXLlXjxo2VkpJyVdubNGmSmjVrlqd1//jjD8XGxl7VfrKzatUqjRkzRhcvXsz3e61Wq9PrP//8U3/88Yfx+uzZs4qPjy9wHS9cuKBJkybpzJkzBd4WAPdw6tQppwT1mTNnnGJKcnKyIiMjdeHChetWh//GsDVr1ujAgQPG67i4OCUmJhZ4Pzt37tSMGTMKvB0AhdNXX32lmTNn5nn9H374wSkWZdq7d68+++wzJSUl5fr+48ePa/369Vn6q/l1eYw8efKkvv32W2VkZBjLtmzZUqDtZ1q8eLHWrVt3TbYFoPA6cOBAlr5Zdo4fP66IiAgdOXLkmux369at2rNnT4G3s3z5cn366afG67x8FgDIicPhUGpqaq7r/PXXX3r++ee1c+fOq97PiRMnrup9u3fv1vbt27MsvxbXAFG4WFxdAXg2h8OhFi1aqHPnznr99deNZadPn5avr+8V32+1WmUymeTt7W0sq1atmo4fP674+HhVrVrVaV273a5ixYoZy5YuXaq1a9dqwYIFuuuuuyRJ06dP17Rp05z24+vrm23QvFxqaqree+89PfrooypevPiVP/x/9OnTR/fee6/eeOMNSdKSJUtktVp1//33S5L+7//+T1u2bNGqVatUsmRJ430pKSmKiIiQr6+vvLycc6/p6emqVq2aWrRooeTkZN18881KTU3V7Nmz1aVLF91yyy35ricA99O9e3c99dRT6t27tyTpvffe0+HDhzV//nxJl+LEsGHDdP/996tEiRIym81O7x81apTS0tL07rvv5riP559/Xh06dFCnTp2ylJ09e1ZPPvmkwsPD1bJlS0nSuHHj1KdPH91xxx26ePGiXn31VVWtWlWzZs1yem9cXJxWr14tHx8fmUwmpzKr1aqmTZvq7rvvVnp6ukqUKKH9+/dr0aJFeuWVV/LfUAAKDZvNptDQUFWrVk1hYWFGX2/+/Plq0KBBlvXtdrvS0tLk5+fntHzs2LF69tlnjfiYadmyZZo9e7YaNmyoe++9N8d6bNy4UcOGDdOuXbuMZQkJCVluKCpRooRuuummbLexbNkyzZkzR5999pnKli2rAwcOKCwsTDExMZKkdevW6eWXX9bUqVP12GOPOb03OjpaR48elcXifNqW+Xn79++vpKQk+fj4yMfHR99//73uu+8+NWnSJMfPBKDoGzBggMqXL3/FxHZCQoLef/99Pfzww07Lk5OTs03e3HnnnU7n3v81YsQI3XTTTVqwYMHVVfz/27hxo37++Wf17NlTw4YN09GjRxUREZHrvgF4lgEDBmjlypV5Xr948eLaunVrjuUZGRnavHmz0400+XHq1Cl16tRJHTp00JAhQ2S1WuXj45Pj+uvWrdPChQs1bdo0LVy4UImJiZo8ebK6dOmioUOHKjg4WJ06ddKQIUP07LPPXlWdUPiQqIFL/f333zp+/LiqVatmLMtMNvw36ZCdESNG6Ouvv862rHXr1lmW1a9fX1988YXxetSoUfrnn3/Up08fRUZGyt/fXxkZGWrUqJGmT58u6dLdPB988MEV6zJhwgQdPnxYUVFRioqKylJ+8803KyoqKseT+NDQUIWGhiojI0NvvfWWvLy8jI7onDlztG7dOs2bN88pSSNdupCxe/dupaWl6ZdfftHjjz8uSVq5cqVCQkJUokQJ7dq1S08++aS2b99u/FDk9oMBoHAxmUwqVaqU8Xr79u1OCZXMWLJmzRpt2bJFM2fO1IEDB7R48WK98cYbslgsxp2KU6dOVdeuXRUXF6dy5cqpevXqki7dHZTTXUhlypTRM888owEDBmjSpEl6/PHHZTab5e3tLZvNpkGDBsnHxyfbRFBiYqJ27dqlo0eP6vTp06pfv77OnTunX375Ra1atVJwcLC++OILff/991q8eLFxMRJA0WY2m9WmTRuNHDlSu3fv1vTp07V//37t2bNHe/bscerPXW779u1KTk5Wenq6Tp48qRMnTqhJkyY6e/as0tPTVbJkSVksFn399dfy9/fXzJkzNXXq1Bzr4evrK29vb6cE98SJExUZGem0Xs+ePTV06NBst9GsWTMtXLhQzz33nObNm2f0cX18fBQfH6833nhDPXv2zJKkkaTDhw8rNjZWv/76q6pWraoKFSooJiZGdrvdiM9du3ZV9+7d1a1bN3l7exMjAQ+wcuVKxcTEGDf5XW737t3avXu3Tp8+rbNnz6pMmTJZ1klNTZWPj49xc2Rmn81qtcrPz0/bt29Xjx49jDhz8eJFHTx4UJs2bVLZsmVzrNfAgQPVt29f/fDDD8bNO1ejZMmSxg08nTp10osvvqixY8dq1KhRV71NAEVLyZIlFRQUpAkTJlxxXbvdfsWnozNvirn85u68Onv2rHr27Kl7771Xffv21ZEjR/TUU0/plVdeUffu3bN9T4MGDTR9+nR9+umn8vHxkbe3t9atW6eTJ0+qVq1aio+PV2pqqpo2bZrv+qDwIlEDl1q7dq3KlSunVq1a5bpeZqfRx8fH6UR58ODBev3112U2mxUdHa3WrVtnCaozZ85Uly5ddNNNN2W5i9zHx0cffPCB+vTpo7Nnz8rf31+nTp2Sv7+/SpQoYazz37u8/2vRokVasGCBHnjgAc2aNcvpaaADBw6oS5cuevnll7NN0hw6dEhms1l33XWXhg4dql9++UWnTp1SamqqbDabTp48qXXr1mno0KG67bbbdOzYMdntdt1+++2SLv04zZw5U9u3b9fWrVs1efJkSdL333+vfv36qUGDBoqLizM+S1pamiRd8TMBKDxMJpO8vLzkcDh08uRJ/f333/rggw80adIkvfzyy3rppZckSS1bttTKlSu1du1a1a1bV5GRkbrrrrtkMplkMpm0bt06LViwQM8++6z++usvffHFF5o9e7bq1KljrHM5q9Wq48ePy8fHR+3bt9e+fft04sQJYyi2xMRE7d27V//884/Gjh2rjIwMHTlyRL6+vsZJfr169VSvXj3NmTNHv/32myZPnqwtW7bol19+0Ycffijp0iPfmRcevby8iF+Ah+jQoYNuu+02zZgxQz4+Pvr000/VpEkTo69zucwnTHx9ffXmm2/q+++/l8PhkHTpIp/dbldGRobeffddHTx4UFarVUuXLtULL7ygOXPmZHniJjk5WSaTSTabTSaTSWlpaUpPT5evr698fX312GOPGQme9u3bZ5scOXv2rC5evChvb2+NGTNGQ4YM0enTp5WQkCDp0p2Xv/76q2rUqKEXX3xRJ06ckNVq1a233mr0Z/v16ydJatOmjXr06KHHH39cw4YNk81m0/jx4yXJKYFNjAQ8g8Ph0Ny5c1WyZMksTxmPGzfOSPwOHTpUM2fOzHIeXLt2baP/KElPPPGE7Ha7ccd5ZkxZunSpLBaLNm/erOeff944zz148KAR3y5XpUoVhYWF6Y477sgyZI/dbpck3X333UpLS9OxY8fk4+OT4w2aNptNx48f1+23366hQ4fq7rvvVnx8vO64444snweA5ylRooT8/PycRtKRpO+++07ffPNNrk8UpqWlyWQyyWKxZIlB/32K+Uq
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(20, 20))\n",
"for index, col in enumerate(object_cols+num_cols):\n",
" plt.subplot(4,5,index+1)\n",
" plt.title(col)\n",
" # if col in object_cols:\n",
" # plt.bar(data['燃料类型'].value_counts().index, data['燃料类型'].value_counts().values)\n",
" # else:\n",
" plt.hist(data[col])\n",
"# plt.savefig('figure/特征分析.png')"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 12,
"outputs": [],
"source": [
"use_data = pd.get_dummies(data.drop(columns=['r_O2', 'temperature']), columns=object_cols)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 13,
"outputs": [
{
"data": {
"text/plain": "['day_of_week_5',\n '燃料类型_一般烟煤',\n '燃料类型_褐煤',\n '燃料类型_低挥发分烟煤',\n 'day_of_week_7',\n 'day_of_week_1',\n '压力参数_高压',\n 'day_of_week_4',\n 'flow',\n 'num_workers',\n '额定蒸发量',\n '低位发热量GJ/t',\n '冷却方式_水冷-闭式循环',\n '汽轮机类型_抽凝式',\n '汽轮机类型_背压式',\n '燃料类型_中高挥发分烟煤',\n 'day_of_week_3',\n 'c_NO2',\n '压力参数_超超临界',\n '压力参数_超临界',\n 'day_of_week_6',\n '压力参数_亚临界',\n '生产设备类型_高温高压循环流化床锅炉',\n '冷却方式_空冷-直接空冷',\n 'c_smoke',\n '生产设备类型_煤粉锅炉',\n 'day_of_week_2',\n '供热量(吉焦)',\n '发电量(万千瓦时)',\n '总容量',\n 'week_of_years',\n 'c_SO2']"
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"feature_cols = [x for x in use_data.columns if x != '燃料消耗量(吨)']\n",
"# feature_cols = [x for x in use_data.columns if x not in ['发电量(万千瓦时)', '供热量(吉焦)', '燃料消耗量(吨)']]\n",
"np.random.shuffle(feature_cols)\n",
"feature_cols"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 14,
"outputs": [],
"source": [
"train_data, valid = train_test_split(use_data, test_size=0.2, shuffle=True, random_state=666)\n",
"valid_data, test_data = train_test_split(valid, test_size=0.5, shuffle=True, random_state=666)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 15,
"outputs": [],
"source": [
"X_train, Y_train = train_data[feature_cols], train_data['燃料消耗量(吨)']\n",
"X_valid, Y_valid = valid_data[feature_cols], valid_data['燃料消耗量(吨)']\n",
"X_test, Y_test = test_data[feature_cols], test_data['燃料消耗量(吨)']"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 16,
"outputs": [],
"source": [
"lgb_train = lgb.Dataset(X_train, Y_train)\n",
"lgb_eval = lgb.Dataset(X_valid, Y_valid)\n",
"lgb_test = lgb.Dataset(X_test, Y_test)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 17,
"outputs": [],
"source": [
"params = {\n",
" 'task': 'train',\n",
" 'boosting_type': 'gbdt', # 设置提升类型\n",
" 'objective': 'regression_l2', # 目标函数\n",
" 'metric': {'rmse'}, # 评估函数\n",
" 'max_depth': 10,\n",
" 'num_leaves': 31, # 叶子节点数\n",
" 'learning_rate': 0.005, # 学习速率\n",
" 'feature_fraction': 0.9, # 建树的特征选择比例\n",
" 'bagging_fraction': 0.8, # 建树的样本采样比例\n",
" 'bagging_freq': 5, # k 意味着每 k 次迭代执行bagging\n",
" 'verbose': -1 # <0 显示致命的, =0 显示错误 (警告), >0 显示信息\n",
"}"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 18,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[1]\tvalid_0's rmse: 0.791089\n",
"Training until validation scores don't improve for 100 rounds\n",
"[2]\tvalid_0's rmse: 0.787271\n",
"[3]\tvalid_0's rmse: 0.78351\n",
"[4]\tvalid_0's rmse: 0.779729\n",
"[5]\tvalid_0's rmse: 0.775969\n",
"[6]\tvalid_0's rmse: 0.772221\n",
"[7]\tvalid_0's rmse: 0.768495\n",
"[8]\tvalid_0's rmse: 0.764799\n",
"[9]\tvalid_0's rmse: 0.761119\n",
"[10]\tvalid_0's rmse: 0.757458\n",
"[11]\tvalid_0's rmse: 0.75382\n",
"[12]\tvalid_0's rmse: 0.750205\n",
"[13]\tvalid_0's rmse: 0.746608\n",
"[14]\tvalid_0's rmse: 0.743049\n",
"[15]\tvalid_0's rmse: 0.73949\n",
"[16]\tvalid_0's rmse: 0.735968\n",
"[17]\tvalid_0's rmse: 0.732466\n",
"[18]\tvalid_0's rmse: 0.728982\n",
"[19]\tvalid_0's rmse: 0.725517\n",
"[20]\tvalid_0's rmse: 0.72207\n",
"[21]\tvalid_0's rmse: 0.718638\n",
"[22]\tvalid_0's rmse: 0.715222\n",
"[23]\tvalid_0's rmse: 0.711775\n",
"[24]\tvalid_0's rmse: 0.708395\n",
"[25]\tvalid_0's rmse: 0.705036\n",
"[26]\tvalid_0's rmse: 0.701685\n",
"[27]\tvalid_0's rmse: 0.698352\n",
"[28]\tvalid_0's rmse: 0.695038\n",
"[29]\tvalid_0's rmse: 0.691743\n",
"[30]\tvalid_0's rmse: 0.688472\n",
"[31]\tvalid_0's rmse: 0.685206\n",
"[32]\tvalid_0's rmse: 0.681959\n",
"[33]\tvalid_0's rmse: 0.678739\n",
"[34]\tvalid_0's rmse: 0.675526\n",
"[35]\tvalid_0's rmse: 0.672341\n",
"[36]\tvalid_0's rmse: 0.669171\n",
"[37]\tvalid_0's rmse: 0.666044\n",
"[38]\tvalid_0's rmse: 0.662925\n",
"[39]\tvalid_0's rmse: 0.659891\n",
"[40]\tvalid_0's rmse: 0.656781\n",
"[41]\tvalid_0's rmse: 0.653696\n",
"[42]\tvalid_0's rmse: 0.650626\n",
"[43]\tvalid_0's rmse: 0.647574\n",
"[44]\tvalid_0's rmse: 0.644538\n",
"[45]\tvalid_0's rmse: 0.641518\n",
"[46]\tvalid_0's rmse: 0.638482\n",
"[47]\tvalid_0's rmse: 0.635482\n",
"[48]\tvalid_0's rmse: 0.632471\n",
"[49]\tvalid_0's rmse: 0.629502\n",
"[50]\tvalid_0's rmse: 0.62655\n",
"[51]\tvalid_0's rmse: 0.623609\n",
"[52]\tvalid_0's rmse: 0.62071\n",
"[53]\tvalid_0's rmse: 0.617806\n",
"[54]\tvalid_0's rmse: 0.614918\n",
"[55]\tvalid_0's rmse: 0.61204\n",
"[56]\tvalid_0's rmse: 0.609199\n",
"[57]\tvalid_0's rmse: 0.606373\n",
"[58]\tvalid_0's rmse: 0.603566\n",
"[59]\tvalid_0's rmse: 0.60077\n",
"[60]\tvalid_0's rmse: 0.59793\n",
"[61]\tvalid_0's rmse: 0.595155\n",
"[62]\tvalid_0's rmse: 0.592395\n",
"[63]\tvalid_0's rmse: 0.589647\n",
"[64]\tvalid_0's rmse: 0.586914\n",
"[65]\tvalid_0's rmse: 0.584196\n",
"[66]\tvalid_0's rmse: 0.581501\n",
"[67]\tvalid_0's rmse: 0.578822\n",
"[68]\tvalid_0's rmse: 0.576158\n",
"[69]\tvalid_0's rmse: 0.573656\n",
"[70]\tvalid_0's rmse: 0.57102\n",
"[71]\tvalid_0's rmse: 0.5684\n",
"[72]\tvalid_0's rmse: 0.565795\n",
"[73]\tvalid_0's rmse: 0.5632\n",
"[74]\tvalid_0's rmse: 0.560578\n",
"[75]\tvalid_0's rmse: 0.558009\n",
"[76]\tvalid_0's rmse: 0.555465\n",
"[77]\tvalid_0's rmse: 0.552937\n",
"[78]\tvalid_0's rmse: 0.550422\n",
"[79]\tvalid_0's rmse: 0.547964\n",
"[80]\tvalid_0's rmse: 0.545476\n",
"[81]\tvalid_0's rmse: 0.542974\n",
"[82]\tvalid_0's rmse: 0.540486\n",
"[83]\tvalid_0's rmse: 0.538012\n",
"[84]\tvalid_0's rmse: 0.535616\n",
"[85]\tvalid_0's rmse: 0.533169\n",
"[86]\tvalid_0's rmse: 0.530754\n",
"[87]\tvalid_0's rmse: 0.528353\n",
"[88]\tvalid_0's rmse: 0.525965\n",
"[89]\tvalid_0's rmse: 0.523596\n",
"[90]\tvalid_0's rmse: 0.521235\n",
"[91]\tvalid_0's rmse: 0.518884\n",
"[92]\tvalid_0's rmse: 0.516547\n",
"[93]\tvalid_0's rmse: 0.514223\n",
"[94]\tvalid_0's rmse: 0.511911\n",
"[95]\tvalid_0's rmse: 0.5096\n",
"[96]\tvalid_0's rmse: 0.507304\n",
"[97]\tvalid_0's rmse: 0.50502\n",
"[98]\tvalid_0's rmse: 0.50275\n",
"[99]\tvalid_0's rmse: 0.500492\n",
"[100]\tvalid_0's rmse: 0.498211\n",
"[101]\tvalid_0's rmse: 0.495969\n",
"[102]\tvalid_0's rmse: 0.49374\n",
"[103]\tvalid_0's rmse: 0.491524\n",
"[104]\tvalid_0's rmse: 0.48932\n",
"[105]\tvalid_0's rmse: 0.487183\n",
"[106]\tvalid_0's rmse: 0.485015\n",
"[107]\tvalid_0's rmse: 0.482859\n",
"[108]\tvalid_0's rmse: 0.480717\n",
"[109]\tvalid_0's rmse: 0.478586\n",
"[110]\tvalid_0's rmse: 0.476467\n",
"[111]\tvalid_0's rmse: 0.474371\n",
"[112]\tvalid_0's rmse: 0.472291\n",
"[113]\tvalid_0's rmse: 0.470241\n",
"[114]\tvalid_0's rmse: 0.468176\n",
"[115]\tvalid_0's rmse: 0.466134\n",
"[116]\tvalid_0's rmse: 0.4641\n",
"[117]\tvalid_0's rmse: 0.462079\n",
"[118]\tvalid_0's rmse: 0.460069\n",
"[119]\tvalid_0's rmse: 0.45807\n",
"[120]\tvalid_0's rmse: 0.456083\n",
"[121]\tvalid_0's rmse: 0.454099\n",
"[122]\tvalid_0's rmse: 0.452094\n",
"[123]\tvalid_0's rmse: 0.450135\n",
"[124]\tvalid_0's rmse: 0.448161\n",
"[125]\tvalid_0's rmse: 0.446191\n",
"[126]\tvalid_0's rmse: 0.444307\n",
"[127]\tvalid_0's rmse: 0.442417\n",
"[128]\tvalid_0's rmse: 0.440538\n",
"[129]\tvalid_0's rmse: 0.438617\n",
"[130]\tvalid_0's rmse: 0.436759\n",
"[131]\tvalid_0's rmse: 0.43492\n",
"[132]\tvalid_0's rmse: 0.433091\n",
"[133]\tvalid_0's rmse: 0.431275\n",
"[134]\tvalid_0's rmse: 0.429467\n",
"[135]\tvalid_0's rmse: 0.427674\n",
"[136]\tvalid_0's rmse: 0.425877\n",
"[137]\tvalid_0's rmse: 0.424089\n",
"[138]\tvalid_0's rmse: 0.422309\n",
"[139]\tvalid_0's rmse: 0.420541\n",
"[140]\tvalid_0's rmse: 0.418809\n",
"[141]\tvalid_0's rmse: 0.417017\n",
"[142]\tvalid_0's rmse: 0.415233\n",
"[143]\tvalid_0's rmse: 0.413463\n",
"[144]\tvalid_0's rmse: 0.411721\n",
"[145]\tvalid_0's rmse: 0.409971\n",
"[146]\tvalid_0's rmse: 0.408258\n",
"[147]\tvalid_0's rmse: 0.406538\n",
"[148]\tvalid_0's rmse: 0.404828\n",
"[149]\tvalid_0's rmse: 0.403242\n",
"[150]\tvalid_0's rmse: 0.401559\n",
"[151]\tvalid_0's rmse: 0.399908\n",
"[152]\tvalid_0's rmse: 0.398267\n",
"[153]\tvalid_0's rmse: 0.396668\n",
"[154]\tvalid_0's rmse: 0.395045\n",
"[155]\tvalid_0's rmse: 0.393426\n",
"[156]\tvalid_0's rmse: 0.39179\n",
"[157]\tvalid_0's rmse: 0.39017\n",
"[158]\tvalid_0's rmse: 0.388559\n",
"[159]\tvalid_0's rmse: 0.386958\n",
"[160]\tvalid_0's rmse: 0.385384\n",
"[161]\tvalid_0's rmse: 0.383801\n",
"[162]\tvalid_0's rmse: 0.382229\n",
"[163]\tvalid_0's rmse: 0.380666\n",
"[164]\tvalid_0's rmse: 0.379114\n",
"[165]\tvalid_0's rmse: 0.37757\n",
"[166]\tvalid_0's rmse: 0.376087\n",
"[167]\tvalid_0's rmse: 0.374566\n",
"[168]\tvalid_0's rmse: 0.373056\n",
"[169]\tvalid_0's rmse: 0.37155\n",
"[170]\tvalid_0's rmse: 0.370061\n",
"[171]\tvalid_0's rmse: 0.368599\n",
"[172]\tvalid_0's rmse: 0.367143\n",
"[173]\tvalid_0's rmse: 0.3657\n",
"[174]\tvalid_0's rmse: 0.364264\n",
"[175]\tvalid_0's rmse: 0.362838\n",
"[176]\tvalid_0's rmse: 0.361406\n",
"[177]\tvalid_0's rmse: 0.359975\n",
"[178]\tvalid_0's rmse: 0.358569\n",
"[179]\tvalid_0's rmse: 0.357157\n",
"[180]\tvalid_0's rmse: 0.355761\n",
"[181]\tvalid_0's rmse: 0.354364\n",
"[182]\tvalid_0's rmse: 0.352985\n",
"[183]\tvalid_0's rmse: 0.351615\n",
"[184]\tvalid_0's rmse: 0.350253\n",
"[185]\tvalid_0's rmse: 0.348956\n",
"[186]\tvalid_0's rmse: 0.347575\n",
"[187]\tvalid_0's rmse: 0.346228\n",
"[188]\tvalid_0's rmse: 0.344865\n",
"[189]\tvalid_0's rmse: 0.343516\n",
"[190]\tvalid_0's rmse: 0.342195\n",
"[191]\tvalid_0's rmse: 0.340973\n",
"[192]\tvalid_0's rmse: 0.339695\n",
"[193]\tvalid_0's rmse: 0.338425\n",
"[194]\tvalid_0's rmse: 0.337154\n",
"[195]\tvalid_0's rmse: 0.335891\n",
"[196]\tvalid_0's rmse: 0.334632\n",
"[197]\tvalid_0's rmse: 0.333414\n",
"[198]\tvalid_0's rmse: 0.332171\n",
"[199]\tvalid_0's rmse: 0.330958\n",
"[200]\tvalid_0's rmse: 0.32973\n",
"[201]\tvalid_0's rmse: 0.328485\n",
"[202]\tvalid_0's rmse: 0.327245\n",
"[203]\tvalid_0's rmse: 0.326014\n",
"[204]\tvalid_0's rmse: 0.324791\n",
"[205]\tvalid_0's rmse: 0.323575\n",
"[206]\tvalid_0's rmse: 0.32241\n",
"[207]\tvalid_0's rmse: 0.321255\n",
"[208]\tvalid_0's rmse: 0.320101\n",
"[209]\tvalid_0's rmse: 0.318964\n",
"[210]\tvalid_0's rmse: 0.317822\n",
"[211]\tvalid_0's rmse: 0.316655\n",
"[212]\tvalid_0's rmse: 0.315497\n",
"[213]\tvalid_0's rmse: 0.314346\n",
"[214]\tvalid_0's rmse: 0.313204\n",
"[215]\tvalid_0's rmse: 0.312066\n",
"[216]\tvalid_0's rmse: 0.310985\n",
"[217]\tvalid_0's rmse: 0.309874\n",
"[218]\tvalid_0's rmse: 0.30878\n",
"[219]\tvalid_0's rmse: 0.307692\n",
"[220]\tvalid_0's rmse: 0.306614\n",
"[221]\tvalid_0's rmse: 0.305512\n",
"[222]\tvalid_0's rmse: 0.304451\n",
"[223]\tvalid_0's rmse: 0.303357\n",
"[224]\tvalid_0's rmse: 0.302312\n",
"[225]\tvalid_0's rmse: 0.301231\n",
"[226]\tvalid_0's rmse: 0.300248\n",
"[227]\tvalid_0's rmse: 0.299244\n",
"[228]\tvalid_0's rmse: 0.298216\n",
"[229]\tvalid_0's rmse: 0.297211\n",
"[230]\tvalid_0's rmse: 0.296224\n",
"[231]\tvalid_0's rmse: 0.295211\n",
"[232]\tvalid_0's rmse: 0.294237\n",
"[233]\tvalid_0's rmse: 0.293227\n",
"[234]\tvalid_0's rmse: 0.292224\n",
"[235]\tvalid_0's rmse: 0.291226\n",
"[236]\tvalid_0's rmse: 0.290269\n",
"[237]\tvalid_0's rmse: 0.289326\n",
"[238]\tvalid_0's rmse: 0.288383\n",
"[239]\tvalid_0's rmse: 0.287447\n",
"[240]\tvalid_0's rmse: 0.286519\n",
"[241]\tvalid_0's rmse: 0.285581\n",
"[242]\tvalid_0's rmse: 0.284672\n",
"[243]\tvalid_0's rmse: 0.283748\n",
"[244]\tvalid_0's rmse: 0.282809\n",
"[245]\tvalid_0's rmse: 0.281896\n",
"[246]\tvalid_0's rmse: 0.280999\n",
"[247]\tvalid_0's rmse: 0.280112\n",
"[248]\tvalid_0's rmse: 0.279217\n",
"[249]\tvalid_0's rmse: 0.278338\n",
"[250]\tvalid_0's rmse: 0.277469\n",
"[251]\tvalid_0's rmse: 0.276604\n",
"[252]\tvalid_0's rmse: 0.275735\n",
"[253]\tvalid_0's rmse: 0.274888\n",
"[254]\tvalid_0's rmse: 0.274032\n",
"[255]\tvalid_0's rmse: 0.273203\n",
"[256]\tvalid_0's rmse: 0.272376\n",
"[257]\tvalid_0's rmse: 0.271529\n",
"[258]\tvalid_0's rmse: 0.270689\n",
"[259]\tvalid_0's rmse: 0.269864\n",
"[260]\tvalid_0's rmse: 0.26906\n",
"[261]\tvalid_0's rmse: 0.268234\n",
"[262]\tvalid_0's rmse: 0.267418\n",
"[263]\tvalid_0's rmse: 0.266608\n",
"[264]\tvalid_0's rmse: 0.265804\n",
"[265]\tvalid_0's rmse: 0.265031\n",
"[266]\tvalid_0's rmse: 0.264244\n",
"[267]\tvalid_0's rmse: 0.263479\n",
"[268]\tvalid_0's rmse: 0.26272\n",
"[269]\tvalid_0's rmse: 0.261942\n",
"[270]\tvalid_0's rmse: 0.261192\n",
"[271]\tvalid_0's rmse: 0.260401\n",
"[272]\tvalid_0's rmse: 0.259613\n",
"[273]\tvalid_0's rmse: 0.258842\n",
"[274]\tvalid_0's rmse: 0.258069\n",
"[275]\tvalid_0's rmse: 0.257297\n",
"[276]\tvalid_0's rmse: 0.256554\n",
"[277]\tvalid_0's rmse: 0.255829\n",
"[278]\tvalid_0's rmse: 0.255095\n",
"[279]\tvalid_0's rmse: 0.254369\n",
"[280]\tvalid_0's rmse: 0.253645\n",
"[281]\tvalid_0's rmse: 0.252945\n",
"[282]\tvalid_0's rmse: 0.252243\n",
"[283]\tvalid_0's rmse: 0.251536\n",
"[284]\tvalid_0's rmse: 0.250858\n",
"[285]\tvalid_0's rmse: 0.25018\n",
"[286]\tvalid_0's rmse: 0.249496\n",
"[287]\tvalid_0's rmse: 0.248816\n",
"[288]\tvalid_0's rmse: 0.248143\n",
"[289]\tvalid_0's rmse: 0.247473\n",
"[290]\tvalid_0's rmse: 0.246805\n",
"[291]\tvalid_0's rmse: 0.246201\n",
"[292]\tvalid_0's rmse: 0.245591\n",
"[293]\tvalid_0's rmse: 0.244986\n",
"[294]\tvalid_0's rmse: 0.244381\n",
"[295]\tvalid_0's rmse: 0.24378\n",
"[296]\tvalid_0's rmse: 0.2432\n",
"[297]\tvalid_0's rmse: 0.24262\n",
"[298]\tvalid_0's rmse: 0.242035\n",
"[299]\tvalid_0's rmse: 0.241451\n",
"[300]\tvalid_0's rmse: 0.240888\n",
"[301]\tvalid_0's rmse: 0.240276\n",
"[302]\tvalid_0's rmse: 0.239668\n",
"[303]\tvalid_0's rmse: 0.239072\n",
"[304]\tvalid_0's rmse: 0.238476\n",
"[305]\tvalid_0's rmse: 0.237876\n",
"[306]\tvalid_0's rmse: 0.237299\n",
"[307]\tvalid_0's rmse: 0.236708\n",
"[308]\tvalid_0's rmse: 0.23614\n",
"[309]\tvalid_0's rmse: 0.235559\n",
"[310]\tvalid_0's rmse: 0.235001\n",
"[311]\tvalid_0's rmse: 0.234486\n",
"[312]\tvalid_0's rmse: 0.233957\n",
"[313]\tvalid_0's rmse: 0.233432\n",
"[314]\tvalid_0's rmse: 0.232903\n",
"[315]\tvalid_0's rmse: 0.232386\n",
"[316]\tvalid_0's rmse: 0.23185\n",
"[317]\tvalid_0's rmse: 0.231319\n",
"[318]\tvalid_0's rmse: 0.230816\n",
"[319]\tvalid_0's rmse: 0.230276\n",
"[320]\tvalid_0's rmse: 0.229758\n",
"[321]\tvalid_0's rmse: 0.229246\n",
"[322]\tvalid_0's rmse: 0.22876\n",
"[323]\tvalid_0's rmse: 0.228257\n",
"[324]\tvalid_0's rmse: 0.227737\n",
"[325]\tvalid_0's rmse: 0.227231\n",
"[326]\tvalid_0's rmse: 0.22674\n",
"[327]\tvalid_0's rmse: 0.226252\n",
"[328]\tvalid_0's rmse: 0.225768\n",
"[329]\tvalid_0's rmse: 0.225296\n",
"[330]\tvalid_0's rmse: 0.224806\n",
"[331]\tvalid_0's rmse: 0.224324\n",
"[332]\tvalid_0's rmse: 0.223846\n",
"[333]\tvalid_0's rmse: 0.223372\n",
"[334]\tvalid_0's rmse: 0.222902\n",
"[335]\tvalid_0's rmse: 0.222438\n",
"[336]\tvalid_0's rmse: 0.221952\n",
"[337]\tvalid_0's rmse: 0.221487\n",
"[338]\tvalid_0's rmse: 0.221023\n",
"[339]\tvalid_0's rmse: 0.220566\n",
"[340]\tvalid_0's rmse: 0.220111\n",
"[341]\tvalid_0's rmse: 0.219654\n",
"[342]\tvalid_0's rmse: 0.219203\n",
"[343]\tvalid_0's rmse: 0.218758\n",
"[344]\tvalid_0's rmse: 0.218315\n",
"[345]\tvalid_0's rmse: 0.217876\n",
"[346]\tvalid_0's rmse: 0.217452\n",
"[347]\tvalid_0's rmse: 0.217032\n",
"[348]\tvalid_0's rmse: 0.216615\n",
"[349]\tvalid_0's rmse: 0.216202\n",
"[350]\tvalid_0's rmse: 0.215792\n",
"[351]\tvalid_0's rmse: 0.215384\n",
"[352]\tvalid_0's rmse: 0.214969\n",
"[353]\tvalid_0's rmse: 0.214568\n",
"[354]\tvalid_0's rmse: 0.214161\n",
"[355]\tvalid_0's rmse: 0.213757\n",
"[356]\tvalid_0's rmse: 0.213377\n",
"[357]\tvalid_0's rmse: 0.213\n",
"[358]\tvalid_0's rmse: 0.212629\n",
"[359]\tvalid_0's rmse: 0.21226\n",
"[360]\tvalid_0's rmse: 0.211882\n",
"[361]\tvalid_0's rmse: 0.211515\n",
"[362]\tvalid_0's rmse: 0.211151\n",
"[363]\tvalid_0's rmse: 0.210803\n",
"[364]\tvalid_0's rmse: 0.210446\n",
"[365]\tvalid_0's rmse: 0.210093\n",
"[366]\tvalid_0's rmse: 0.209735\n",
"[367]\tvalid_0's rmse: 0.209381\n",
"[368]\tvalid_0's rmse: 0.20903\n",
"[369]\tvalid_0's rmse: 0.208682\n",
"[370]\tvalid_0's rmse: 0.208337\n",
"[371]\tvalid_0's rmse: 0.207999\n",
"[372]\tvalid_0's rmse: 0.207672\n",
"[373]\tvalid_0's rmse: 0.207332\n",
"[374]\tvalid_0's rmse: 0.207002\n",
"[375]\tvalid_0's rmse: 0.206689\n",
"[376]\tvalid_0's rmse: 0.206394\n",
"[377]\tvalid_0's rmse: 0.206093\n",
"[378]\tvalid_0's rmse: 0.205762\n",
"[379]\tvalid_0's rmse: 0.205475\n",
"[380]\tvalid_0's rmse: 0.205184\n",
"[381]\tvalid_0's rmse: 0.204873\n",
"[382]\tvalid_0's rmse: 0.204574\n",
"[383]\tvalid_0's rmse: 0.204278\n",
"[384]\tvalid_0's rmse: 0.203975\n",
"[385]\tvalid_0's rmse: 0.203675\n",
"[386]\tvalid_0's rmse: 0.20338\n",
"[387]\tvalid_0's rmse: 0.20312\n",
"[388]\tvalid_0's rmse: 0.202845\n",
"[389]\tvalid_0's rmse: 0.202579\n",
"[390]\tvalid_0's rmse: 0.202294\n",
"[391]\tvalid_0's rmse: 0.202018\n",
"[392]\tvalid_0's rmse: 0.201746\n",
"[393]\tvalid_0's rmse: 0.201476\n",
"[394]\tvalid_0's rmse: 0.201209\n",
"[395]\tvalid_0's rmse: 0.200943\n",
"[396]\tvalid_0's rmse: 0.200666\n",
"[397]\tvalid_0's rmse: 0.200402\n",
"[398]\tvalid_0's rmse: 0.20014\n",
"[399]\tvalid_0's rmse: 0.199866\n",
"[400]\tvalid_0's rmse: 0.199609\n",
"[401]\tvalid_0's rmse: 0.199369\n",
"[402]\tvalid_0's rmse: 0.199131\n",
"[403]\tvalid_0's rmse: 0.198877\n",
"[404]\tvalid_0's rmse: 0.198644\n",
"[405]\tvalid_0's rmse: 0.198414\n",
"[406]\tvalid_0's rmse: 0.198175\n",
"[407]\tvalid_0's rmse: 0.197939\n",
"[408]\tvalid_0's rmse: 0.197705\n",
"[409]\tvalid_0's rmse: 0.197451\n",
"[410]\tvalid_0's rmse: 0.197216\n",
"[411]\tvalid_0's rmse: 0.196992\n",
"[412]\tvalid_0's rmse: 0.19677\n",
"[413]\tvalid_0's rmse: 0.196535\n",
"[414]\tvalid_0's rmse: 0.196302\n",
"[415]\tvalid_0's rmse: 0.196072\n",
"[416]\tvalid_0's rmse: 0.195846\n",
"[417]\tvalid_0's rmse: 0.195622\n",
"[418]\tvalid_0's rmse: 0.195385\n",
"[419]\tvalid_0's rmse: 0.195166\n",
"[420]\tvalid_0's rmse: 0.194947\n",
"[421]\tvalid_0's rmse: 0.194724\n",
"[422]\tvalid_0's rmse: 0.194502\n",
"[423]\tvalid_0's rmse: 0.194284\n",
"[424]\tvalid_0's rmse: 0.194066\n",
"[425]\tvalid_0's rmse: 0.193852\n",
"[426]\tvalid_0's rmse: 0.193654\n",
"[427]\tvalid_0's rmse: 0.19345\n",
"[428]\tvalid_0's rmse: 0.19325\n",
"[429]\tvalid_0's rmse: 0.193057\n",
"[430]\tvalid_0's rmse: 0.192865\n",
"[431]\tvalid_0's rmse: 0.192628\n",
"[432]\tvalid_0's rmse: 0.192417\n",
"[433]\tvalid_0's rmse: 0.192183\n",
"[434]\tvalid_0's rmse: 0.191952\n",
"[435]\tvalid_0's rmse: 0.191746\n",
"[436]\tvalid_0's rmse: 0.191549\n",
"[437]\tvalid_0's rmse: 0.191362\n",
"[438]\tvalid_0's rmse: 0.191169\n",
"[439]\tvalid_0's rmse: 0.190974\n",
"[440]\tvalid_0's rmse: 0.190784\n",
"[441]\tvalid_0's rmse: 0.190603\n",
"[442]\tvalid_0's rmse: 0.190423\n",
"[443]\tvalid_0's rmse: 0.190244\n",
"[444]\tvalid_0's rmse: 0.190061\n",
"[445]\tvalid_0's rmse: 0.189879\n",
"[446]\tvalid_0's rmse: 0.189708\n",
"[447]\tvalid_0's rmse: 0.189521\n",
"[448]\tvalid_0's rmse: 0.189338\n",
"[449]\tvalid_0's rmse: 0.189152\n",
"[450]\tvalid_0's rmse: 0.188969\n",
"[451]\tvalid_0's rmse: 0.188799\n",
"[452]\tvalid_0's rmse: 0.188651\n",
"[453]\tvalid_0's rmse: 0.188505\n",
"[454]\tvalid_0's rmse: 0.188358\n",
"[455]\tvalid_0's rmse: 0.188213\n",
"[456]\tvalid_0's rmse: 0.188052\n",
"[457]\tvalid_0's rmse: 0.187909\n",
"[458]\tvalid_0's rmse: 0.187779\n",
"[459]\tvalid_0's rmse: 0.187639\n",
"[460]\tvalid_0's rmse: 0.187477\n",
"[461]\tvalid_0's rmse: 0.187331\n",
"[462]\tvalid_0's rmse: 0.187205\n",
"[463]\tvalid_0's rmse: 0.18708\n",
"[464]\tvalid_0's rmse: 0.186957\n",
"[465]\tvalid_0's rmse: 0.186832\n",
"[466]\tvalid_0's rmse: 0.186676\n",
"[467]\tvalid_0's rmse: 0.186538\n",
"[468]\tvalid_0's rmse: 0.186402\n",
"[469]\tvalid_0's rmse: 0.186251\n",
"[470]\tvalid_0's rmse: 0.186102\n",
"[471]\tvalid_0's rmse: 0.185945\n",
"[472]\tvalid_0's rmse: 0.185772\n",
"[473]\tvalid_0's rmse: 0.1856\n",
"[474]\tvalid_0's rmse: 0.18543\n",
"[475]\tvalid_0's rmse: 0.185261\n",
"[476]\tvalid_0's rmse: 0.185119\n",
"[477]\tvalid_0's rmse: 0.184995\n",
"[478]\tvalid_0's rmse: 0.184875\n",
"[479]\tvalid_0's rmse: 0.184753\n",
"[480]\tvalid_0's rmse: 0.184635\n",
"[481]\tvalid_0's rmse: 0.184496\n",
"[482]\tvalid_0's rmse: 0.184357\n",
"[483]\tvalid_0's rmse: 0.184232\n",
"[484]\tvalid_0's rmse: 0.184095\n",
"[485]\tvalid_0's rmse: 0.18396\n",
"[486]\tvalid_0's rmse: 0.183827\n",
"[487]\tvalid_0's rmse: 0.183696\n",
"[488]\tvalid_0's rmse: 0.183566\n",
"[489]\tvalid_0's rmse: 0.183434\n",
"[490]\tvalid_0's rmse: 0.183307\n",
"[491]\tvalid_0's rmse: 0.183191\n",
"[492]\tvalid_0's rmse: 0.183076\n",
"[493]\tvalid_0's rmse: 0.182949\n",
"[494]\tvalid_0's rmse: 0.182835\n",
"[495]\tvalid_0's rmse: 0.182721\n",
"[496]\tvalid_0's rmse: 0.182602\n",
"[497]\tvalid_0's rmse: 0.182476\n",
"[498]\tvalid_0's rmse: 0.182384\n",
"[499]\tvalid_0's rmse: 0.18226\n",
"[500]\tvalid_0's rmse: 0.182169\n",
"[501]\tvalid_0's rmse: 0.182029\n",
"[502]\tvalid_0's rmse: 0.181891\n",
"[503]\tvalid_0's rmse: 0.181755\n",
"[504]\tvalid_0's rmse: 0.181618\n",
"[505]\tvalid_0's rmse: 0.181485\n",
"[506]\tvalid_0's rmse: 0.181404\n",
"[507]\tvalid_0's rmse: 0.181303\n",
"[508]\tvalid_0's rmse: 0.181202\n",
"[509]\tvalid_0's rmse: 0.181096\n",
"[510]\tvalid_0's rmse: 0.181006\n",
"[511]\tvalid_0's rmse: 0.180921\n",
"[512]\tvalid_0's rmse: 0.180834\n",
"[513]\tvalid_0's rmse: 0.180747\n",
"[514]\tvalid_0's rmse: 0.180662\n",
"[515]\tvalid_0's rmse: 0.18058\n",
"[516]\tvalid_0's rmse: 0.180506\n",
"[517]\tvalid_0's rmse: 0.180432\n",
"[518]\tvalid_0's rmse: 0.180363\n",
"[519]\tvalid_0's rmse: 0.180291\n",
"[520]\tvalid_0's rmse: 0.18022\n",
"[521]\tvalid_0's rmse: 0.180165\n",
"[522]\tvalid_0's rmse: 0.18009\n",
"[523]\tvalid_0's rmse: 0.180024\n",
"[524]\tvalid_0's rmse: 0.179963\n",
"[525]\tvalid_0's rmse: 0.179911\n",
"[526]\tvalid_0's rmse: 0.179847\n",
"[527]\tvalid_0's rmse: 0.179779\n",
"[528]\tvalid_0's rmse: 0.179711\n",
"[529]\tvalid_0's rmse: 0.179649\n",
"[530]\tvalid_0's rmse: 0.179583\n",
"[531]\tvalid_0's rmse: 0.179516\n",
"[532]\tvalid_0's rmse: 0.179451\n",
"[533]\tvalid_0's rmse: 0.179388\n",
"[534]\tvalid_0's rmse: 0.179325\n",
"[535]\tvalid_0's rmse: 0.179262\n",
"[536]\tvalid_0's rmse: 0.179183\n",
"[537]\tvalid_0's rmse: 0.179104\n",
"[538]\tvalid_0's rmse: 0.179028\n",
"[539]\tvalid_0's rmse: 0.178951\n",
"[540]\tvalid_0's rmse: 0.178868\n",
"[541]\tvalid_0's rmse: 0.178798\n",
"[542]\tvalid_0's rmse: 0.17873\n",
"[543]\tvalid_0's rmse: 0.178649\n",
"[544]\tvalid_0's rmse: 0.17857\n",
"[545]\tvalid_0's rmse: 0.17849\n",
"[546]\tvalid_0's rmse: 0.178444\n",
"[547]\tvalid_0's rmse: 0.178371\n",
"[548]\tvalid_0's rmse: 0.178298\n",
"[549]\tvalid_0's rmse: 0.178226\n",
"[550]\tvalid_0's rmse: 0.178181\n",
"[551]\tvalid_0's rmse: 0.178134\n",
"[552]\tvalid_0's rmse: 0.178055\n",
"[553]\tvalid_0's rmse: 0.178009\n",
"[554]\tvalid_0's rmse: 0.177963\n",
"[555]\tvalid_0's rmse: 0.177919\n",
"[556]\tvalid_0's rmse: 0.177865\n",
"[557]\tvalid_0's rmse: 0.177811\n",
"[558]\tvalid_0's rmse: 0.177757\n",
"[559]\tvalid_0's rmse: 0.1777\n",
"[560]\tvalid_0's rmse: 0.177653\n",
"[561]\tvalid_0's rmse: 0.177599\n",
"[562]\tvalid_0's rmse: 0.17754\n",
"[563]\tvalid_0's rmse: 0.177487\n",
"[564]\tvalid_0's rmse: 0.177456\n",
"[565]\tvalid_0's rmse: 0.177398\n",
"[566]\tvalid_0's rmse: 0.177338\n",
"[567]\tvalid_0's rmse: 0.177272\n",
"[568]\tvalid_0's rmse: 0.177206\n",
"[569]\tvalid_0's rmse: 0.17714\n",
"[570]\tvalid_0's rmse: 0.177108\n",
"[571]\tvalid_0's rmse: 0.177067\n",
"[572]\tvalid_0's rmse: 0.177017\n",
"[573]\tvalid_0's rmse: 0.176977\n",
"[574]\tvalid_0's rmse: 0.176929\n",
"[575]\tvalid_0's rmse: 0.176892\n",
"[576]\tvalid_0's rmse: 0.17686\n",
"[577]\tvalid_0's rmse: 0.176828\n",
"[578]\tvalid_0's rmse: 0.176796\n",
"[579]\tvalid_0's rmse: 0.176765\n",
"[580]\tvalid_0's rmse: 0.17673\n",
"[581]\tvalid_0's rmse: 0.17669\n",
"[582]\tvalid_0's rmse: 0.176658\n",
"[583]\tvalid_0's rmse: 0.176618\n",
"[584]\tvalid_0's rmse: 0.176576\n",
"[585]\tvalid_0's rmse: 0.176541\n",
"[586]\tvalid_0's rmse: 0.176519\n",
"[587]\tvalid_0's rmse: 0.176487\n",
"[588]\tvalid_0's rmse: 0.176464\n",
"[589]\tvalid_0's rmse: 0.176442\n",
"[590]\tvalid_0's rmse: 0.17642\n",
"[591]\tvalid_0's rmse: 0.176398\n",
"[592]\tvalid_0's rmse: 0.176374\n",
"[593]\tvalid_0's rmse: 0.176351\n",
"[594]\tvalid_0's rmse: 0.176324\n",
"[595]\tvalid_0's rmse: 0.1763\n",
"[596]\tvalid_0's rmse: 0.176264\n",
"[597]\tvalid_0's rmse: 0.176224\n",
"[598]\tvalid_0's rmse: 0.17619\n",
"[599]\tvalid_0's rmse: 0.176157\n",
"[600]\tvalid_0's rmse: 0.176138\n",
"[601]\tvalid_0's rmse: 0.176118\n",
"[602]\tvalid_0's rmse: 0.176098\n",
"[603]\tvalid_0's rmse: 0.176072\n",
"[604]\tvalid_0's rmse: 0.176052\n",
"[605]\tvalid_0's rmse: 0.17603\n",
"[606]\tvalid_0's rmse: 0.176001\n",
"[607]\tvalid_0's rmse: 0.175975\n",
"[608]\tvalid_0's rmse: 0.175947\n",
"[609]\tvalid_0's rmse: 0.17592\n",
"[610]\tvalid_0's rmse: 0.175893\n",
"[611]\tvalid_0's rmse: 0.175847\n",
"[612]\tvalid_0's rmse: 0.1758\n",
"[613]\tvalid_0's rmse: 0.175756\n",
"[614]\tvalid_0's rmse: 0.175708\n",
"[615]\tvalid_0's rmse: 0.175664\n",
"[616]\tvalid_0's rmse: 0.175627\n",
"[617]\tvalid_0's rmse: 0.175591\n",
"[618]\tvalid_0's rmse: 0.175555\n",
"[619]\tvalid_0's rmse: 0.175519\n",
"[620]\tvalid_0's rmse: 0.175485\n",
"[621]\tvalid_0's rmse: 0.175473\n",
"[622]\tvalid_0's rmse: 0.175462\n",
"[623]\tvalid_0's rmse: 0.175451\n",
"[624]\tvalid_0's rmse: 0.175411\n",
"[625]\tvalid_0's rmse: 0.175401\n",
"[626]\tvalid_0's rmse: 0.175348\n",
"[627]\tvalid_0's rmse: 0.175304\n",
"[628]\tvalid_0's rmse: 0.175261\n",
"[629]\tvalid_0's rmse: 0.175215\n",
"[630]\tvalid_0's rmse: 0.17517\n",
"[631]\tvalid_0's rmse: 0.175135\n",
"[632]\tvalid_0's rmse: 0.175114\n",
"[633]\tvalid_0's rmse: 0.175093\n",
"[634]\tvalid_0's rmse: 0.175078\n",
"[635]\tvalid_0's rmse: 0.175057\n",
"[636]\tvalid_0's rmse: 0.175015\n",
"[637]\tvalid_0's rmse: 0.17498\n",
"[638]\tvalid_0's rmse: 0.174913\n",
"[639]\tvalid_0's rmse: 0.174846\n",
"[640]\tvalid_0's rmse: 0.17478\n",
"[641]\tvalid_0's rmse: 0.174767\n",
"[642]\tvalid_0's rmse: 0.174759\n",
"[643]\tvalid_0's rmse: 0.174728\n",
"[644]\tvalid_0's rmse: 0.174717\n",
"[645]\tvalid_0's rmse: 0.174683\n",
"[646]\tvalid_0's rmse: 0.174639\n",
"[647]\tvalid_0's rmse: 0.174593\n",
"[648]\tvalid_0's rmse: 0.174549\n",
"[649]\tvalid_0's rmse: 0.174504\n",
"[650]\tvalid_0's rmse: 0.174467\n",
"[651]\tvalid_0's rmse: 0.174448\n",
"[652]\tvalid_0's rmse: 0.174436\n",
"[653]\tvalid_0's rmse: 0.174418\n",
"[654]\tvalid_0's rmse: 0.174407\n",
"[655]\tvalid_0's rmse: 0.174398\n",
"[656]\tvalid_0's rmse: 0.17439\n",
"[657]\tvalid_0's rmse: 0.174388\n",
"[658]\tvalid_0's rmse: 0.174385\n",
"[659]\tvalid_0's rmse: 0.174383\n",
"[660]\tvalid_0's rmse: 0.17438\n",
"[661]\tvalid_0's rmse: 0.174326\n",
"[662]\tvalid_0's rmse: 0.174275\n",
"[663]\tvalid_0's rmse: 0.174235\n",
"[664]\tvalid_0's rmse: 0.174184\n",
"[665]\tvalid_0's rmse: 0.174133\n",
"[666]\tvalid_0's rmse: 0.174126\n",
"[667]\tvalid_0's rmse: 0.174119\n",
"[668]\tvalid_0's rmse: 0.174113\n",
"[669]\tvalid_0's rmse: 0.174106\n",
"[670]\tvalid_0's rmse: 0.1741\n",
"[671]\tvalid_0's rmse: 0.174096\n",
"[672]\tvalid_0's rmse: 0.174092\n",
"[673]\tvalid_0's rmse: 0.174088\n",
"[674]\tvalid_0's rmse: 0.174093\n",
"[675]\tvalid_0's rmse: 0.174089\n",
"[676]\tvalid_0's rmse: 0.174081\n",
"[677]\tvalid_0's rmse: 0.174074\n",
"[678]\tvalid_0's rmse: 0.174073\n",
"[679]\tvalid_0's rmse: 0.174073\n",
"[680]\tvalid_0's rmse: 0.17407\n",
"[681]\tvalid_0's rmse: 0.174034\n",
"[682]\tvalid_0's rmse: 0.174001\n",
"[683]\tvalid_0's rmse: 0.173979\n",
"[684]\tvalid_0's rmse: 0.173947\n",
"[685]\tvalid_0's rmse: 0.173912\n",
"[686]\tvalid_0's rmse: 0.173919\n",
"[687]\tvalid_0's rmse: 0.1739\n",
"[688]\tvalid_0's rmse: 0.17388\n",
"[689]\tvalid_0's rmse: 0.173887\n",
"[690]\tvalid_0's rmse: 0.173868\n",
"[691]\tvalid_0's rmse: 0.17387\n",
"[692]\tvalid_0's rmse: 0.173858\n",
"[693]\tvalid_0's rmse: 0.173871\n",
"[694]\tvalid_0's rmse: 0.173859\n",
"[695]\tvalid_0's rmse: 0.173847\n",
"[696]\tvalid_0's rmse: 0.173822\n",
"[697]\tvalid_0's rmse: 0.173767\n",
"[698]\tvalid_0's rmse: 0.173713\n",
"[699]\tvalid_0's rmse: 0.173658\n",
"[700]\tvalid_0's rmse: 0.173605\n",
"[701]\tvalid_0's rmse: 0.173558\n",
"[702]\tvalid_0's rmse: 0.173508\n",
"[703]\tvalid_0's rmse: 0.173459\n",
"[704]\tvalid_0's rmse: 0.17341\n",
"[705]\tvalid_0's rmse: 0.173361\n",
"[706]\tvalid_0's rmse: 0.173354\n",
"[707]\tvalid_0's rmse: 0.173345\n",
"[708]\tvalid_0's rmse: 0.173335\n",
"[709]\tvalid_0's rmse: 0.173318\n",
"[710]\tvalid_0's rmse: 0.173302\n",
"[711]\tvalid_0's rmse: 0.173276\n",
"[712]\tvalid_0's rmse: 0.173251\n",
"[713]\tvalid_0's rmse: 0.173227\n",
"[714]\tvalid_0's rmse: 0.17321\n",
"[715]\tvalid_0's rmse: 0.173195\n",
"[716]\tvalid_0's rmse: 0.173191\n",
"[717]\tvalid_0's rmse: 0.173187\n",
"[718]\tvalid_0's rmse: 0.173184\n",
"[719]\tvalid_0's rmse: 0.173172\n",
"[720]\tvalid_0's rmse: 0.173168\n",
"[721]\tvalid_0's rmse: 0.173171\n",
"[722]\tvalid_0's rmse: 0.173175\n",
"[723]\tvalid_0's rmse: 0.173176\n",
"[724]\tvalid_0's rmse: 0.173186\n",
"[725]\tvalid_0's rmse: 0.17319\n",
"[726]\tvalid_0's rmse: 0.173191\n",
"[727]\tvalid_0's rmse: 0.173189\n",
"[728]\tvalid_0's rmse: 0.173187\n",
"[729]\tvalid_0's rmse: 0.173189\n",
"[730]\tvalid_0's rmse: 0.173188\n",
"[731]\tvalid_0's rmse: 0.173186\n",
"[732]\tvalid_0's rmse: 0.173184\n",
"[733]\tvalid_0's rmse: 0.173182\n",
"[734]\tvalid_0's rmse: 0.173181\n",
"[735]\tvalid_0's rmse: 0.173179\n",
"[736]\tvalid_0's rmse: 0.17316\n",
"[737]\tvalid_0's rmse: 0.17314\n",
"[738]\tvalid_0's rmse: 0.173128\n",
"[739]\tvalid_0's rmse: 0.173108\n",
"[740]\tvalid_0's rmse: 0.173089\n",
"[741]\tvalid_0's rmse: 0.173075\n",
"[742]\tvalid_0's rmse: 0.173044\n",
"[743]\tvalid_0's rmse: 0.173013\n",
"[744]\tvalid_0's rmse: 0.172983\n",
"[745]\tvalid_0's rmse: 0.172947\n",
"[746]\tvalid_0's rmse: 0.172904\n",
"[747]\tvalid_0's rmse: 0.17289\n",
"[748]\tvalid_0's rmse: 0.172847\n",
"[749]\tvalid_0's rmse: 0.172804\n",
"[750]\tvalid_0's rmse: 0.172767\n",
"[751]\tvalid_0's rmse: 0.172718\n",
"[752]\tvalid_0's rmse: 0.172669\n",
"[753]\tvalid_0's rmse: 0.172621\n",
"[754]\tvalid_0's rmse: 0.172573\n",
"[755]\tvalid_0's rmse: 0.172527\n",
"[756]\tvalid_0's rmse: 0.172532\n",
"[757]\tvalid_0's rmse: 0.172538\n",
"[758]\tvalid_0's rmse: 0.172546\n",
"[759]\tvalid_0's rmse: 0.172552\n",
"[760]\tvalid_0's rmse: 0.172558\n",
"[761]\tvalid_0's rmse: 0.172547\n",
"[762]\tvalid_0's rmse: 0.172541\n",
"[763]\tvalid_0's rmse: 0.172538\n",
"[764]\tvalid_0's rmse: 0.172532\n",
"[765]\tvalid_0's rmse: 0.172527\n",
"[766]\tvalid_0's rmse: 0.172521\n",
"[767]\tvalid_0's rmse: 0.172514\n",
"[768]\tvalid_0's rmse: 0.172508\n",
"[769]\tvalid_0's rmse: 0.172496\n",
"[770]\tvalid_0's rmse: 0.172489\n",
"[771]\tvalid_0's rmse: 0.17249\n",
"[772]\tvalid_0's rmse: 0.172492\n",
"[773]\tvalid_0's rmse: 0.172501\n",
"[774]\tvalid_0's rmse: 0.172503\n",
"[775]\tvalid_0's rmse: 0.172506\n",
"[776]\tvalid_0's rmse: 0.172503\n",
"[777]\tvalid_0's rmse: 0.172498\n",
"[778]\tvalid_0's rmse: 0.172493\n",
"[779]\tvalid_0's rmse: 0.172484\n",
"[780]\tvalid_0's rmse: 0.172479\n",
"[781]\tvalid_0's rmse: 0.172469\n",
"[782]\tvalid_0's rmse: 0.172441\n",
"[783]\tvalid_0's rmse: 0.172412\n",
"[784]\tvalid_0's rmse: 0.172385\n",
"[785]\tvalid_0's rmse: 0.172372\n",
"[786]\tvalid_0's rmse: 0.172371\n",
"[787]\tvalid_0's rmse: 0.172372\n",
"[788]\tvalid_0's rmse: 0.172371\n",
"[789]\tvalid_0's rmse: 0.17237\n",
"[790]\tvalid_0's rmse: 0.172375\n",
"[791]\tvalid_0's rmse: 0.172382\n",
"[792]\tvalid_0's rmse: 0.172389\n",
"[793]\tvalid_0's rmse: 0.172395\n",
"[794]\tvalid_0's rmse: 0.172408\n",
"[795]\tvalid_0's rmse: 0.172415\n",
"[796]\tvalid_0's rmse: 0.172422\n",
"[797]\tvalid_0's rmse: 0.172427\n",
"[798]\tvalid_0's rmse: 0.172433\n",
"[799]\tvalid_0's rmse: 0.172436\n",
"[800]\tvalid_0's rmse: 0.172442\n",
"[801]\tvalid_0's rmse: 0.172432\n",
"[802]\tvalid_0's rmse: 0.172437\n",
"[803]\tvalid_0's rmse: 0.172442\n",
"[804]\tvalid_0's rmse: 0.172446\n",
"[805]\tvalid_0's rmse: 0.17245\n",
"[806]\tvalid_0's rmse: 0.172449\n",
"[807]\tvalid_0's rmse: 0.17245\n",
"[808]\tvalid_0's rmse: 0.172451\n",
"[809]\tvalid_0's rmse: 0.172449\n",
"[810]\tvalid_0's rmse: 0.17245\n",
"[811]\tvalid_0's rmse: 0.172442\n",
"[812]\tvalid_0's rmse: 0.172434\n",
"[813]\tvalid_0's rmse: 0.172401\n",
"[814]\tvalid_0's rmse: 0.172394\n",
"[815]\tvalid_0's rmse: 0.172388\n",
"[816]\tvalid_0's rmse: 0.172367\n",
"[817]\tvalid_0's rmse: 0.172347\n",
"[818]\tvalid_0's rmse: 0.172333\n",
"[819]\tvalid_0's rmse: 0.172315\n",
"[820]\tvalid_0's rmse: 0.172295\n",
"[821]\tvalid_0's rmse: 0.172302\n",
"[822]\tvalid_0's rmse: 0.172308\n",
"[823]\tvalid_0's rmse: 0.172314\n",
"[824]\tvalid_0's rmse: 0.172321\n",
"[825]\tvalid_0's rmse: 0.172321\n",
"[826]\tvalid_0's rmse: 0.172317\n",
"[827]\tvalid_0's rmse: 0.172315\n",
"[828]\tvalid_0's rmse: 0.172311\n",
"[829]\tvalid_0's rmse: 0.172309\n",
"[830]\tvalid_0's rmse: 0.172306\n",
"[831]\tvalid_0's rmse: 0.172287\n",
"[832]\tvalid_0's rmse: 0.172269\n",
"[833]\tvalid_0's rmse: 0.172251\n",
"[834]\tvalid_0's rmse: 0.172234\n",
"[835]\tvalid_0's rmse: 0.172216\n",
"[836]\tvalid_0's rmse: 0.172223\n",
"[837]\tvalid_0's rmse: 0.17223\n",
"[838]\tvalid_0's rmse: 0.172238\n",
"[839]\tvalid_0's rmse: 0.172239\n",
"[840]\tvalid_0's rmse: 0.172247\n",
"[841]\tvalid_0's rmse: 0.172248\n",
"[842]\tvalid_0's rmse: 0.172249\n",
"[843]\tvalid_0's rmse: 0.17225\n",
"[844]\tvalid_0's rmse: 0.172251\n",
"[845]\tvalid_0's rmse: 0.172253\n",
"[846]\tvalid_0's rmse: 0.172225\n",
"[847]\tvalid_0's rmse: 0.1722\n",
"[848]\tvalid_0's rmse: 0.172176\n",
"[849]\tvalid_0's rmse: 0.172152\n",
"[850]\tvalid_0's rmse: 0.172129\n",
"[851]\tvalid_0's rmse: 0.172132\n",
"[852]\tvalid_0's rmse: 0.172137\n",
"[853]\tvalid_0's rmse: 0.17214\n",
"[854]\tvalid_0's rmse: 0.172144\n",
"[855]\tvalid_0's rmse: 0.172161\n",
"[856]\tvalid_0's rmse: 0.17216\n",
"[857]\tvalid_0's rmse: 0.172175\n",
"[858]\tvalid_0's rmse: 0.172174\n",
"[859]\tvalid_0's rmse: 0.172188\n",
"[860]\tvalid_0's rmse: 0.172188\n",
"[861]\tvalid_0's rmse: 0.172185\n",
"[862]\tvalid_0's rmse: 0.172182\n",
"[863]\tvalid_0's rmse: 0.172179\n",
"[864]\tvalid_0's rmse: 0.172187\n",
"[865]\tvalid_0's rmse: 0.172184\n",
"[866]\tvalid_0's rmse: 0.172192\n",
"[867]\tvalid_0's rmse: 0.172202\n",
"[868]\tvalid_0's rmse: 0.172205\n",
"[869]\tvalid_0's rmse: 0.172205\n",
"[870]\tvalid_0's rmse: 0.172206\n",
"[871]\tvalid_0's rmse: 0.17221\n",
"[872]\tvalid_0's rmse: 0.172214\n",
"[873]\tvalid_0's rmse: 0.17222\n",
"[874]\tvalid_0's rmse: 0.172224\n",
"[875]\tvalid_0's rmse: 0.172226\n",
"[876]\tvalid_0's rmse: 0.17222\n",
"[877]\tvalid_0's rmse: 0.172217\n",
"[878]\tvalid_0's rmse: 0.172218\n",
"[879]\tvalid_0's rmse: 0.172214\n",
"[880]\tvalid_0's rmse: 0.172213\n",
"[881]\tvalid_0's rmse: 0.172201\n",
"[882]\tvalid_0's rmse: 0.172189\n",
"[883]\tvalid_0's rmse: 0.172177\n",
"[884]\tvalid_0's rmse: 0.172166\n",
"[885]\tvalid_0's rmse: 0.172154\n",
"[886]\tvalid_0's rmse: 0.172136\n",
"[887]\tvalid_0's rmse: 0.172118\n",
"[888]\tvalid_0's rmse: 0.172101\n",
"[889]\tvalid_0's rmse: 0.172113\n",
"[890]\tvalid_0's rmse: 0.172094\n",
"[891]\tvalid_0's rmse: 0.172103\n",
"[892]\tvalid_0's rmse: 0.17211\n",
"[893]\tvalid_0's rmse: 0.172114\n",
"[894]\tvalid_0's rmse: 0.172117\n",
"[895]\tvalid_0's rmse: 0.172121\n",
"[896]\tvalid_0's rmse: 0.172117\n",
"[897]\tvalid_0's rmse: 0.172118\n",
"[898]\tvalid_0's rmse: 0.172114\n",
"[899]\tvalid_0's rmse: 0.172115\n",
"[900]\tvalid_0's rmse: 0.172115\n",
"[901]\tvalid_0's rmse: 0.172125\n",
"[902]\tvalid_0's rmse: 0.172136\n",
"[903]\tvalid_0's rmse: 0.172145\n",
"[904]\tvalid_0's rmse: 0.172155\n",
"[905]\tvalid_0's rmse: 0.172164\n",
"[906]\tvalid_0's rmse: 0.172175\n",
"[907]\tvalid_0's rmse: 0.172183\n",
"[908]\tvalid_0's rmse: 0.172203\n",
"[909]\tvalid_0's rmse: 0.172223\n",
"[910]\tvalid_0's rmse: 0.172242\n",
"[911]\tvalid_0's rmse: 0.172244\n",
"[912]\tvalid_0's rmse: 0.172246\n",
"[913]\tvalid_0's rmse: 0.172248\n",
"[914]\tvalid_0's rmse: 0.17225\n",
"[915]\tvalid_0's rmse: 0.172252\n",
"[916]\tvalid_0's rmse: 0.17223\n",
"[917]\tvalid_0's rmse: 0.172238\n",
"[918]\tvalid_0's rmse: 0.172218\n",
"[919]\tvalid_0's rmse: 0.17222\n",
"[920]\tvalid_0's rmse: 0.172222\n",
"[921]\tvalid_0's rmse: 0.172208\n",
"[922]\tvalid_0's rmse: 0.172212\n",
"[923]\tvalid_0's rmse: 0.172215\n",
"[924]\tvalid_0's rmse: 0.172219\n",
"[925]\tvalid_0's rmse: 0.172222\n",
"[926]\tvalid_0's rmse: 0.172237\n",
"[927]\tvalid_0's rmse: 0.172245\n",
"[928]\tvalid_0's rmse: 0.172253\n",
"[929]\tvalid_0's rmse: 0.172269\n",
"[930]\tvalid_0's rmse: 0.172277\n",
"[931]\tvalid_0's rmse: 0.172285\n",
"[932]\tvalid_0's rmse: 0.172285\n",
"[933]\tvalid_0's rmse: 0.172294\n",
"[934]\tvalid_0's rmse: 0.172303\n",
"[935]\tvalid_0's rmse: 0.172312\n",
"[936]\tvalid_0's rmse: 0.172293\n",
"[937]\tvalid_0's rmse: 0.172275\n",
"[938]\tvalid_0's rmse: 0.172279\n",
"[939]\tvalid_0's rmse: 0.172261\n",
"[940]\tvalid_0's rmse: 0.172249\n",
"[941]\tvalid_0's rmse: 0.172226\n",
"[942]\tvalid_0's rmse: 0.172204\n",
"[943]\tvalid_0's rmse: 0.172202\n",
"[944]\tvalid_0's rmse: 0.172179\n",
"[945]\tvalid_0's rmse: 0.172157\n",
"[946]\tvalid_0's rmse: 0.172133\n",
"[947]\tvalid_0's rmse: 0.172109\n",
"[948]\tvalid_0's rmse: 0.172086\n",
"[949]\tvalid_0's rmse: 0.172063\n",
"[950]\tvalid_0's rmse: 0.17204\n",
"[951]\tvalid_0's rmse: 0.172046\n",
"[952]\tvalid_0's rmse: 0.172052\n",
"[953]\tvalid_0's rmse: 0.172065\n",
"[954]\tvalid_0's rmse: 0.172076\n",
"[955]\tvalid_0's rmse: 0.172089\n",
"[956]\tvalid_0's rmse: 0.172094\n",
"[957]\tvalid_0's rmse: 0.1721\n",
"[958]\tvalid_0's rmse: 0.172108\n",
"[959]\tvalid_0's rmse: 0.172116\n",
"[960]\tvalid_0's rmse: 0.172122\n",
"[961]\tvalid_0's rmse: 0.172133\n",
"[962]\tvalid_0's rmse: 0.172144\n",
"[963]\tvalid_0's rmse: 0.172155\n",
"[964]\tvalid_0's rmse: 0.172166\n",
"[965]\tvalid_0's rmse: 0.172184\n",
"[966]\tvalid_0's rmse: 0.172178\n",
"[967]\tvalid_0's rmse: 0.172172\n",
"[968]\tvalid_0's rmse: 0.172163\n",
"[969]\tvalid_0's rmse: 0.172142\n",
"[970]\tvalid_0's rmse: 0.172136\n",
"[971]\tvalid_0's rmse: 0.172154\n",
"[972]\tvalid_0's rmse: 0.172166\n",
"[973]\tvalid_0's rmse: 0.17217\n",
"[974]\tvalid_0's rmse: 0.172172\n",
"[975]\tvalid_0's rmse: 0.172192\n",
"[976]\tvalid_0's rmse: 0.172204\n",
"[977]\tvalid_0's rmse: 0.172215\n",
"[978]\tvalid_0's rmse: 0.172226\n",
"[979]\tvalid_0's rmse: 0.172237\n",
"[980]\tvalid_0's rmse: 0.172241\n",
"[981]\tvalid_0's rmse: 0.17225\n",
"[982]\tvalid_0's rmse: 0.17226\n",
"[983]\tvalid_0's rmse: 0.172271\n",
"[984]\tvalid_0's rmse: 0.172281\n",
"[985]\tvalid_0's rmse: 0.172291\n",
"[986]\tvalid_0's rmse: 0.172293\n",
"[987]\tvalid_0's rmse: 0.172296\n",
"[988]\tvalid_0's rmse: 0.172301\n",
"[989]\tvalid_0's rmse: 0.172305\n",
"[990]\tvalid_0's rmse: 0.172307\n",
"[991]\tvalid_0's rmse: 0.172316\n",
"[992]\tvalid_0's rmse: 0.172331\n",
"[993]\tvalid_0's rmse: 0.172346\n",
"[994]\tvalid_0's rmse: 0.172361\n",
"[995]\tvalid_0's rmse: 0.172377\n",
"[996]\tvalid_0's rmse: 0.172377\n",
"[997]\tvalid_0's rmse: 0.172377\n",
"[998]\tvalid_0's rmse: 0.172381\n",
"[999]\tvalid_0's rmse: 0.172393\n",
"[1000]\tvalid_0's rmse: 0.172393\n",
"[1001]\tvalid_0's rmse: 0.172408\n",
"[1002]\tvalid_0's rmse: 0.172416\n",
"[1003]\tvalid_0's rmse: 0.172425\n",
"[1004]\tvalid_0's rmse: 0.172433\n",
"[1005]\tvalid_0's rmse: 0.172443\n",
"[1006]\tvalid_0's rmse: 0.172443\n",
"[1007]\tvalid_0's rmse: 0.172448\n",
"[1008]\tvalid_0's rmse: 0.17245\n",
"[1009]\tvalid_0's rmse: 0.172459\n",
"[1010]\tvalid_0's rmse: 0.172469\n",
"[1011]\tvalid_0's rmse: 0.172487\n",
"[1012]\tvalid_0's rmse: 0.172504\n",
"[1013]\tvalid_0's rmse: 0.172522\n",
"[1014]\tvalid_0's rmse: 0.172538\n",
"[1015]\tvalid_0's rmse: 0.172551\n",
"[1016]\tvalid_0's rmse: 0.172556\n",
"[1017]\tvalid_0's rmse: 0.172568\n",
"[1018]\tvalid_0's rmse: 0.17258\n",
"[1019]\tvalid_0's rmse: 0.172584\n",
"[1020]\tvalid_0's rmse: 0.172597\n",
"[1021]\tvalid_0's rmse: 0.172598\n",
"[1022]\tvalid_0's rmse: 0.172599\n",
"[1023]\tvalid_0's rmse: 0.1726\n",
"[1024]\tvalid_0's rmse: 0.172602\n",
"[1025]\tvalid_0's rmse: 0.172599\n",
"[1026]\tvalid_0's rmse: 0.172605\n",
"[1027]\tvalid_0's rmse: 0.17261\n",
"[1028]\tvalid_0's rmse: 0.172616\n",
"[1029]\tvalid_0's rmse: 0.172605\n",
"[1030]\tvalid_0's rmse: 0.172596\n",
"[1031]\tvalid_0's rmse: 0.172588\n",
"[1032]\tvalid_0's rmse: 0.17258\n",
"[1033]\tvalid_0's rmse: 0.172572\n",
"[1034]\tvalid_0's rmse: 0.172564\n",
"[1035]\tvalid_0's rmse: 0.172573\n",
"[1036]\tvalid_0's rmse: 0.17257\n",
"[1037]\tvalid_0's rmse: 0.172569\n",
"[1038]\tvalid_0's rmse: 0.172567\n",
"[1039]\tvalid_0's rmse: 0.172565\n",
"[1040]\tvalid_0's rmse: 0.172563\n",
"[1041]\tvalid_0's rmse: 0.172568\n",
"[1042]\tvalid_0's rmse: 0.172567\n",
"[1043]\tvalid_0's rmse: 0.172568\n",
"[1044]\tvalid_0's rmse: 0.172572\n",
"[1045]\tvalid_0's rmse: 0.172576\n",
"[1046]\tvalid_0's rmse: 0.172579\n",
"[1047]\tvalid_0's rmse: 0.17258\n",
"[1048]\tvalid_0's rmse: 0.172581\n",
"[1049]\tvalid_0's rmse: 0.172585\n",
"[1050]\tvalid_0's rmse: 0.172595\n",
"Early stopping, best iteration is:\n",
"[950]\tvalid_0's rmse: 0.17204\n"
]
}
],
"source": [
"gbm = lgb.train(params, lgb_train, num_boost_round=2000, valid_sets=lgb_eval, early_stopping_rounds=100)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 19,
"outputs": [],
"source": [
"y_pred = np.expm1(gbm.predict(X_test))\n",
"y_true = np.expm1(Y_test)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 20,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"MSE: 6.60E+04\n",
"RMSE: 256.8979\n",
"MAE: 105.2196\n",
"MAPE: 3.81%\n",
"R_2: 0.9877\n",
"NMB: -0.0226\n",
"NME: 0.0639\n",
"MFB: -0.008\n",
"MFE: 0.0384\n"
]
}
],
"source": [
"MSE = mean_squared_error(y_true, y_pred)\n",
"RMSE = np.sqrt(mean_squared_error(y_true, y_pred))\n",
"MAE = mean_absolute_error(y_true, y_pred)\n",
"MAPE = mean_absolute_percentage_error(y_true, y_pred)\n",
"R_2 = r2_score(y_true, y_pred)\n",
"NMB = sum(y_pred - y_true) / sum(y_true)\n",
"NME = sum(abs(y_true-y_pred)) / sum(y_true)\n",
"MFB = sum((y_pred - y_true)/((y_pred+y_true)/2))/len(y_true)\n",
"MFE = sum(abs((y_pred - y_true))/((y_pred+y_true)/2))/len(y_true)\n",
"print(f\"MSE: {format(MSE, '.2E')}\")\n",
"print(f'RMSE: {round(RMSE, 4)}')\n",
"print(f'MAE: {round(MAE, 4)}')\n",
"print(f'MAPE: {round(MAPE*100, 2)}%')\n",
"print(f'R_2: {round(R_2, 4)}')\n",
"print(f'NMB: {round(NMB, 4)}')\n",
"print(f'NME: {round(NME, 4)}')\n",
"print(f'MFB: {round(MFB, 4)}')\n",
"print(f'MFE: {round(MFE, 4)}')"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 21,
"outputs": [],
"source": [
"test_rst = pd.DataFrame(np.array([y_pred, y_true]).T, columns=['y_pred', 'y_true'])"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 22,
"outputs": [
{
"data": {
"text/plain": "<Figure size 2200x900 with 1 Axes>",
"image/png": "iVBORw0KGgoAAAANSUhEUgAABuIAAAL0CAYAAAD5tSE7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeXhU5fnG8XvWJJMNQggEgoKo2CLu9me1qKBW1Loh2ip1q9ZSF7BitbhUrdSq1YpL3W1VUEER0bbWDVGwVhQslrbiyk5kyUYyyWS28/vjzJklmYSELLPk+7kursy858zMO0MyyZn7PM9rMwzDEAAAAAAAAAAAAIBuZU/1BAAAAAAAAAAAAIBsRBAHAAAAAAAAAAAA9ACCOAAAAAAAAAAAAKAHEMQBAAAAAAAAAAAAPYAgDgAAAAAAAAAAAOgBBHEAAAAAAAAAAABADyCIAwAAAAAAAAAAAHoAQRwAAAAAAAAAAADQAwjiAAAAAAAAAAAAgB5AEAcAAACkQH19vb766qtdvv1bb72lbdu2Ra8//PDD+vzzzxP2efHFF7VkyZI276OhoUF+v3+X5xCvurpaF1xwgT755JNuub90FAgEVF1dLcMwEsY3bNjQ5v9lIBDQ9ddfr9WrV/fGFDukpqYm6XhDQ4Oam5tbjdfX1+vdd9/Vjh07enpqSQUCgS7d/tprr9W8efO6aTa9q6GhoUu3v/nmm7Vw4cKEsdraWj355JOqrq7u0n13RFvfawAAAEBf4kz1BAAAAIC+6J133tGvfvUrvfXWWyovL2+1vbGxUR9//LH+8Y9/6Be/+IXcbnfC9iuuuEK///3vdfjhh8vr9eqhhx5SSUmJioqKovvMmzdP++23n0aMGKFBgwa1uo9JkyZp0qRJuvjii5PO0TAM/eMf/5Ddbtfhhx++0+f0z3/+Uz/72c868vQlSV9//XWrUKst4XBYTU1NGjFihAoLC9vcr7m5WT6fT263W3Z74nmHVqBTUFAgSZoxY4bKy8t12WWXyefzadOmTa3ub9iwYcrLy5MkffTRR7rwwgu1atWqhNdy9uzZmjdvnt544w0NGjQo4fYOh0Pz58/XiSee2O7z+/a3vy3DMGSz2aJjoVBIDocjet0wDA0YMEDvvfdeu/fVnk8//VQXXXSRHnvsMY0ePTph21/+8hfNmjVLf//731VSUhIdr62t1SWXXKIXXnhB++23X5v3/dxzz+nmm2/u8Fyef/557b///gljfr9fb775psaPH6+8vDzV19fr+OOP129+8xsde+yxuuGGGzRy5EhdeOGFHX6c//73v0l/xtqydetWnX766SopKWn1PRSvqqpKd911lw477LAO33dnfPHFF/rhD3+omTNn6sQTT9TatWt15513atasWXK73ZozZ47q6up02WWXtXkflZWVGjFiRMKY3W7X7373Ox100EEJ/8/J3H777XrzzTejPzPJ+Hw+7b777nr00UcTxpuamnTyySfr2muv1cknn9yBZwwAAABkJ4I4AAAAIAWWLFmio446SuXl5brrrrvU3Nys2tpabdu2TRs3btSmTZuUm5ur3XbbTd/73vd0xBFHJNze4XCosLBQr732ml555RUFAgHNnj1bf/nLX6L7rF+/Xtu3b9d//vMf/e53v9OIESNUW1ur+vp6uVwu2Ww2+Xw+bdiwQcFgUMXFxfr666/1+eef65NPPtE///lPbd26Vd/97nd3GsRZgVF7wUVLZ555ZqcrfubNm6cDDjhA1157rd5+++3o85CkwYMH68c//rFuvPFGuVwuhcNhNTc3R0MEv9+vww8/XA8//LAkaezYsbr++uu1cuVKXXDBBZoyZYoGDx4cfaxNmzZpwYIF0cDKCt/iQ7jGxka98sor+vnPfx4N4fx+vxwOhxwOh+x2u2w2W/T1CYfD0e0ulyt6P263W7/+9a81ceJESWZgdtppp+mjjz5Sfn6+JGnBggV64IEHOvV6xfv666914YUXavr06a1COEl69913tf/++yscDquyslJOp3m4aFXChUKhaBVmMBiUYRgaMmRI9PZOp1NDhgzRa6+9Fh177rnn9NRTTyWMbdiwQSeddJJycnJazeGzzz7TVVddpblz5+rAAw/Ul19+qaqqKu2zzz6SpMMPP1xXX321ysvLNWHChA49b7vdnhBo7ozT6dT27dv14osvJnw/tHTIIYckBKfd7e2335bf79fBBx8syQy8Fi1aFP2++de//qW6urpWtzMMQ83NzdEw2m63y+/3y263q6GhIVoJ5/V6tXr1ajU1NenAAw9MOge/36/DDjtMv/3tb9uc55NPPqlFixa1Gs/Ly9P999+vyy67TC6Xq8P/XwAAAEC2IYgDAAAAellDQ4PeeustzZw5U5I0Z84cnXLKKTrggANUVFSk3//+9/rtb38bDWWScTgcysnJ0dlnn61zzjlHhxxyiK666iqNGzcuus/UqVO111576YorroiOvfTSS7rvvvvkdrtVX1+vxx9/XI8//rhycnJ00kkn6eWXX1ZZWZmqq6t19913a7/99kuospOkV155Rb/85S+Tzuu8885rNfarX/0qaQVT//79df7552vq1Kntv2AyA6xAIBANh6655hpdeeWVcrvd+vrrr3XJJZfo7LPP1umnn67TTz9dkvm6vvDCC3r55ZeT3ueJJ56oUaNGafXq1fJ4PBo8eLDefvvt6PZRo0bJ5XLpyiuvVElJSdKqtqefflqFhYX6yU9+onXr1snr9erpp5/WSy+9lLDf+eefn3B95syZOvPMM6PXOxpgdibojOf3+3XVVVdpypQpCY9r2bBhg959913dfffdeuCBB7Rw4UI5HA7ZbLZo1eJFF10ku90uwzDk9/s1evRozZ07N3ofTqdTNpstIWBLNmYFSdb/ZbyPPvpIY8aMiQZDq1at0h577KGKigpJ5v/ZqlWrdM8992j8+PEJoeiWLVt05JFHJn3+n332WasQc9y4cdFQNp71Gp977rntBnher7dTAV9nhMNhLVy4UN///vejAa81Lyv8c7lc8ng8rW67fft2fe9734teX7x4sWbOnKl7771Xd911V/T/8ze/+Y2CwaC8Xq/ef//9pPOw2+16/fXXtWLFijbnumPHDu21115Jtx144IF64IEH9POf/1yjR4/WsGHDOvDsAQAAgOxCEAcAAAD0spdfflmNjY3RD6+dTqdOOeUUHXLIIZKkRx99NKFaymIYhiZMmKAZM2ZEq17OO++8aKB36aWXJlTohMPhVh+Qn3feefrRj34kl8ulM844Q5MmTdJZZ50lm82mUCik66+/Xn/961917733JnyYH8+a27x586IVQw0NDTrppJM0a9ashOqaSZMmtWqJacnPz1coFOrQa2a32xPCnAEDBmjBggX65ptv9Je//EVXXnmlJk2alHCbtWvX6lvf+lab92kYhkaOHKmRI0dq+fLlkqS6ujpde+21uuqqq6L75eTkJH0OX331lR588EHdfffdcrvduvvuu/XBBx/o+eef1zXXXCO32y2bzaZDDz1UDz30kA455JDo/1vLAMVut+vGG2/UTTfdFJ2bpIS2h+FwOKECrTOef/559evXTxdccEHS7X/+858VDodVVlamm2++OaHF5DfffKOjjjpKr7zySjQQS6az1WEt99+xY4deeOEFHXfccdE19/75z39qzz33TFiD77TTTtMxxxyjtWvXKi8vLxruWN+XM2bMSKi+uuiii/S9730vIQyeOXNmm6Gm1cJ08uTJrULoeLfcckuX169ry2uvvaavv/5a06dPV0NDg2pra1VVVSXJ/P+QzNaPPp9P33zzjZqbm1VeXi63263S0lL9+9//ltvt1mWXXabDDz9cZ599tiRpwoQJqq6u1ne/+13NmzdPb775pp5++uk25+H3+7XPPvu0e1LAP/7xD1VWVra5/aCDDtLkyZN1zz336A9/+MOuvBwAAABARiOIAwAAAHqR3+/XE0880e4+eXl58vl8rcZramq0du1aeTweGYahG264QQMHDoyGWQ8++GCririWa7AtX748oWpt5syZmjlzpqZNm6aLL75
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(22, 9))\n",
"smaller_rst = test_rst[test_rst.y_true <= 2000].reset_index(drop=True)\n",
"plt.plot(smaller_rst.y_pred, 'o-', color='b', label='预测值')\n",
"plt.plot(smaller_rst.y_true, '*-', color='r', label='真实值')\n",
"# for index in range(smaller_rst.shape[0]):\n",
"# tmp_y = smaller_rst.iloc[index].y_true\n",
"# tmp_yhat = smaller_rst.iloc[index].y_pred\n",
"# plt.plot([index, index], [tmp_yhat, tmp_y], color='grey')\n",
"# # print(f\"从({index}, {tmp_y}) 到 ({index},{tmp_yhat})\")\n",
"plt.legend(loc='best')\n",
"plt.title('低煤耗电厂预测结果(使用发电量、供热量)')\n",
"plt.savefig('./figure/smaller_1.png')"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 23,
"outputs": [
{
"data": {
"text/plain": "<Figure size 2200x900 with 1 Axes>",
"image/png": "iVBORw0KGgoAAAANSUhEUgAABukAAAL0CAYAAAABVdrMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeXhU5fnG8XtmkslCICxhDxIWBYWwKFiLooIbSt0QEESoVmupWrFq9UerVSu11rrgUndrFZRVwKXuoIiiKCiKC0tYwhbWQCAJySQz8/vjzZmFTJKZZLLO93NdXOfkzJwzb0JyMjn3eZ7X5vV6vQIAAAAAAAAAAABQZ+z1PQAAAAAAAAAAAAAg1hDSAQAAAAAAAAAAAHWMkA4AAAAAAAAAAACoY4R0AAAAAAAAAAAAQB0jpAMAAAAAAAAAAADqGCEdAAAAAAAAAAAAUMcI6QAAAAAAAAAAAIA6RkgHAAAAAAAAAAAA1DFCOgAAAAAAAAAAAKCOEdIBAAAADdj777+vF154Ieznf/TRR9q7d6/v42eeeUbr168Pes7rr7+uTz/9tMJj5Ofny+VyRT7YEHJzc3XVVVfpu+++i8rxGqKSkhLl5ubK6/UGbd+2bZs2btxY4T5/+ctftHbt2roYYlgOHDgQcnt+fr6Ki4vLbT98+LCWLl2qQ4cO1fbQQiopKanR/nfccYfmzJkTpdHUrfz8/Brtf88992jRokVB2w4ePKj//ve/ys3NrdGxw1HR9xoAAAAQa+LqewAAAAAApCNHjsjpdMrhcARt/+GHH/TSSy9p7NixatGiRdBjVpDmdDp92/7whz/oX//6l4YMGaKCggI9/fTTat26ddC+c+bMUb9+/dStWze1b98+aH9JGj16tEaPHq1rr7025Fi9Xq8+//xz2e12DRkypMrP7YsvvtDvfve7Kp9n2bRpU7nAqyIej0dHjhxRt27d1Lx58wqfV1xcrKKiIjmdTtntwfcqWmFPSkqKJGnq1Knq2LGjbrjhBhUVFWnHjh3ljtelSxclJSVJkr7++mtdffXVWrNmTdDXcsaMGZozZ44++OADtW/fPmh/h8Oh+fPn64ILLqj08zvhhBPk9Xpls9l829xud9D3idfrVZs2bfTZZ59VeqzK/Pzzz7rmmmv0/PPPq0+fPkGPvfXWW5o+fbreffddtW7d2rf94MGDuu666zRv3jz169evwmPPmjVL99xzT9hjmTt3rvr37x+0zeVy6cMPP9Tw4cOVlJSkw4cP67zzztPf/vY3nX322brzzjvVo0cPXX311WG/zo8//qiOHTuG/fw9e/bo0ksvVevWrct9DwXav3+/HnroIZ1yyilhHzsSGzZs0OWXX65p06bpggsu0JYtW/Tggw9q+vTpcjqdmjlzpvLy8nTDDTdUeIycnBx169YtaJvdbtc//vEPnXjiiUH/z6E88MAD+vDDD30/M6EUFRWpa9eueu6554K2HzlyRBdeeKHuuOMOXXjhhWF8xgAAAEDTRUgHAAAANAAjR44MGQZZBg8eHHL7hAkT9Ne//tX3scPhUPPmzfXee+/pzTffVElJiWbMmKG33nrL95ytW7dq3759+uGHH/SPf/xD3bp108GDB3X48GHFx8fLZrOpqKhI27ZtU2lpqVJTU7Vp0yatX79e3333nb744gvt2bNHv/zlL6sM6awwqbJQ42hjxoyJuFJozpw5GjBggO644w4tWbLE93lIUocOHXTllVfqrrvuUnx8vDwej4qLi30Bg8vl0pAhQ/TMM89IkoYOHaq//OUvWr16ta666ipNnjxZHTp08L3Wjh07tGDBAl+YZQVzgQFdYWGh3nzzTf3+97/3BXQul0sOh0MOh0N2u102m8339fF4PL7H4+PjfcdxOp3661//qlGjRkkyYdoll1yir7/+Ws2aNZMkLViwQE8++WREX69AmzZt0tVXX61bb721XEAnSUuXLlX//v3l8XiUk5OjuDjzZ6RVQed2u33Vm6WlpfJ6verUqZNv/7i4OHXq1Envvfeeb9usWbP08ssvB23btm2bRo4cqYSEhHJjWLdunW655RbNnj1bAwcOVFZWlvbv36/evXtLkoYMGaLbbrtNHTt21IgRI8L6vO12e7lQvDJxcXHat2+fXn/99aDvh6MNGjQoKFSNtiVLlsjlcumkk06SZMKwxYsX+75vvv32W+Xl5ZXbz+v1qri42BdU2+12uVwu2e125efn+yroCgoKtHbtWh05ckQDBw4MOQaXy6VTTjlFf//73ysc53//+18tXry43PakpCQ98cQTuuGGGxQfHx/2/xcAAADQFBHSAQAAAA3A/PnzfQFOVa0m7Xa74uLiylVUSSYUS0hI0Pjx43XFFVdo0KBBuuWWWzRs2DDfc2666SYde+yx+sMf/uDbtnDhQj3++ONyOp06fPiwXnjhBb3wwgtKSEjQyJEj9cYbb6hdu3bKzc3Vww8/rH79+pWr7HvzzTf1pz/9KeSYJ02aVG7b//3f/4WsfGrVqpV+/etf66abbqr06yCZcKukpMQXHN1+++26+eab5XQ6tWnTJl133XUaP368Lr30Ul166aWSpJkzZ2revHl64403Qh7zggsuUK9evbR27VolJyerQ4cOWrJkie/xXr16KT4+XjfffLNat24dshrulVdeUfPmzfWb3/xG2dnZKigo0CuvvKKFCxcGPe/Xv/510MfTpk3TmDFjfB+HG25GEoIGcrlcuuWWWzR58uSg17Vs27ZNS5cu1cMPP6wnn3xSixYtksPhkM1m81U7XnPNNbLb7fJ6vXK5XOrTp49mz57tO0ZcXJxsNltQ+BZqmxUyWf+Xgb7++mtlZmb6QqM1a9aoe/fuSk9Pl2T+z9asWaNHH31Uw4cPDwpMd+/erdNPPz3k579u3bpyAeewYcN8gW0g62s8ceLESsO9goKCiMK/SHg8Hi1atEjnnnuuL/y1xmUFg/Hx8UpOTi637759+3Taaaf5Pv744481bdo0PfbYY3rooYd8/59/+9vfVFpaqoKCAi1fvjzkOOx2u95//32tWrWqwrEeOnRIxx57bMjHBg4cqCeffFK///3v1adPH3Xp0iWMzx4AAABoegjpAAAAgAbAai/30Ucf6YYbblBaWlrI5xUVFalTp05BlXFer1cjRozQ1KlTfdUykyZN0rRp0yRJ119/fVBlj8fjKXfxfNKkSRo3bpzi4+N12WWXafTo0Ro7dqxsNpvcbrf+8pe/6O2339Zjjz0WdKE/kBWyzJkzx1dplJ+fr5EjR2r69OlBVTmjR48u12bT0qxZM7nd7kq/Xha73R4U9LRp00YLFizQrl279NZbb+nmm2/W6NGjg/bZsmWLjj/++AqP6fV61aNHD/Xo0UMrV66UJOXl5emOO+7QLbfc4nteQkJCyM9h48aNeuqpp/Twww/L6XTq4Ycf1pdffqm5c+fq9ttvl9PplM1m0+DBg/X0009r0KBBvv+3o8MVu92uu+66S3fffbdvbJKCWil6PJ6gyrVIzJ07Vy1bttRVV10V8vGXXnpJHo9H7dq10z333BPUtnLXrl0644wz9Oabb/rCslAirSo7+vmHDh3SvHnzdM455/jm+Pviiy/Us2fPoDn/LrnkEp111lnasmWLkpKSfMGP9X05derUoKqta665RqeddlpQUDxt2rQKA0+rLeqECRPKBdSB7r333hrPl1eR9957T5s2bdKtt96q/Px8HTx4UPv375dk/j8k006yqKhIu3btUnFxsTp27Cin06m0tDR9//33cjqduuGGGzRkyBCNHz9ekjRixAjl5ubql7/8pebMmaMPP/xQr7zySoXjcLlc6t27t6/CM5TPP/9cOTk5FT5+4oknasKECXr00Uf1yCOPVOfLAQAAADR6hHQAAABAA5KYmCin06nPP/885OPz5s3TnDlzgrYdOHBAW7ZsUXJysrxer+688061bdvWF3Q99dRT5Srpjp7zbeXKlUHVbtOmTdO0adM0ZcoUXXvttdq5c6c2b96sgoIC/fvf/9bWrVu1efNmPfHEE+UqetLS0nwhndUSsXXr1kEtAq12j6HExcX
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(22, 9))\n",
"larger_rst = test_rst[test_rst.y_true > 2000].reset_index(drop=True)\n",
"plt.plot(larger_rst.y_pred, 'o-', color='b', label='预测值')\n",
"plt.plot(larger_rst.y_true, '*-', color='r', label='真实值')\n",
"# for index in range(larger_rst.shape[0]):\n",
"# tmp_y = larger_rst.iloc[index].y_true\n",
"# tmp_yhat = larger_rst.iloc[index].y_pred\n",
"# plt.plot([index, index], [tmp_yhat, tmp_y], color='grey')\n",
"# # print(f\"从({index}, {tmp_y}) 到 ({index},{tmp_yhat})\")\n",
"plt.legend(loc='best')\n",
"plt.title('高煤耗电厂预测结果(使用发电量、供热量)')\n",
"plt.savefig('./figure/larger_1.png')"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 24,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"MSE: 2.92E+05\n",
"RMSE: 540.1489742426004\n",
"MAE: 414.12677797198677\n",
"MAPE: 0.07910283246319393\n",
"R_2: 0.9557298796435275\n"
]
}
],
"source": [
"y_pred_l = test_rst[test_rst.y_true > 2000].y_pred\n",
"y_true_l = test_rst[test_rst.y_true > 2000].y_true\n",
"MSE_l = mean_squared_error(y_true_l, y_pred_l)\n",
"RMSE_l = np.sqrt(mean_squared_error(y_true_l, y_pred_l))\n",
"MAE_l = mean_absolute_error(y_true_l, y_pred_l)\n",
"MAPE_l = mean_absolute_percentage_error(y_true_l, y_pred_l)\n",
"R_2_l = r2_score(y_true_l, y_pred_l)\n",
"print('MSE:', format(MSE_l, '.2E'))\n",
"print('RMSE:', RMSE_l)\n",
"print('MAE:', MAE_l)\n",
"print('MAPE:', MAPE_l)\n",
"print('R_2:', R_2_l)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 25,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"MSE: 5.25E+02\n",
"RMSE: 22.90970315255905\n",
"MAE: 15.636471401761884\n",
"MAPE: 0.026197783962765748\n",
"R_2: 0.9611485658308001\n"
]
}
],
"source": [
"y_pred_s = test_rst[test_rst.y_true <= 2000].y_pred\n",
"y_true_s = test_rst[test_rst.y_true <= 2000].y_true\n",
"MSE_s = mean_squared_error(y_true_s, y_pred_s)\n",
"RMSE_s = np.sqrt(mean_squared_error(y_true_s, y_pred_s))\n",
"MAE_s = mean_absolute_error(y_true_s, y_pred_s)\n",
"MAPE_s = mean_absolute_percentage_error(y_true_s, y_pred_s)\n",
"R_2_s = r2_score(y_true_s, y_pred_s)\n",
"print('MSE:', format(MSE_s, '.2E'))\n",
"print('RMSE:', RMSE_s)\n",
"print('MAE:', MAE_s)\n",
"print('MAPE:', MAPE_s)\n",
"print('R_2:', R_2_s)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 26,
"outputs": [],
"source": [
"import seaborn as sns"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 27,
"outputs": [],
"source": [
"import matplotlib.ticker as ticker"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 30,
"outputs": [
{
"data": {
"text/plain": "<Figure size 2800x1600 with 1 Axes>",
"image/png": "iVBORw0KGgoAAAANSUhEUgAACt8AAAY2CAYAAADGzSHYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzde7TVZYH/8c+5IoicRA28pmmDaeQlyabULpKDTimUl4zRtKsaOqb0MxEvDGZSVJqZCdqQoWbiJXJskVlmzEJHLbzllTJREkURBIFzzj779weLPWzPQR80A53Xay1WZz/Pd3/3833O5h/Xu4eGarVaDQAAAAAAAAAAAADwihrX9QIAAAAAAAAAAAAA4I1CfAsAAAAAAAAAAAAAhcS3AAAAAAAAAAAAAFBIfAsAAAAAAAAAAAAAhcS3AAAAAAAAAAAAAFBIfAsAAAAAAAAAAAAAhcS3AAAAAAAAAAAAAFBIfAsAAAAAAAAAAAAAhcS3AAAAAPAPMn/+/Oy222655557us1NmjQpRxxxxMu+/6abbsqsWbNer+UlSZ5//vmsWLGibqyrqysLFy7M0qVLs2LFiqI/y5Yty6JFi7rdq6OjIy+++OLr+gwvfZ6ePPvssz2Oz549O3/6059exxWtWUdHR93rarW6Vu+fNWtWjjrqqG57/kawZMmS1/T+Bx54IIcffni38f/6r//K//zP/7yme5dob2//h36vAQAAAIB1q3ldLwAAAAAA/q9oaWnJiy++mL59+yZJKpVKurq60tLSktbW1lps2dXVlRUrVqRXr15pbFz5/59/4YUXMm7cuGyyySa56qqrsmjRorr51VWr1bS3t6etrS2tra1JkoULF2bu3Lm1MHbJkiVZuHBhnn/++TzzzDOZN29e/vKXv2Tu3Lk58sgjM2bMmNr9nn322ey1115paWlJS0tLbY3Lly9Pnz59kqyMDxsaGmrzlUolHR0dOffcc3PQQQfV7nX11Vfn/PPPz+23397jHu2zzz4544wzMnTo0Ne0111dXTnrrLPyzDPP5KKLLuo2f9BBB+XQQw/NCSecUDd+xRVXZOHChZk8efLL3v8DH/hAFixYULSWvffeO5dcckm38TvuuCP9+/fP9ttvnyT59re/nYcffjg/+tGP8vDDD2fMmDGZNGlS+vfvX/Q5ixYtyqxZs9LcXP6ffc8999zcdNNNte9kT5YvX563ve1tmTRpUvF919aYMWOyYMGCTJkyJa2trbnwwguz5ZZbZvjw4Xnqqady3nnn5eijj86gQYN6fH9nZ2ceffTRbuOzZ8/OY489lve+970v+/lPP/10RowYkf79+/f4d2qVZ599NhMnTsz73ve+uvEf//jHufnmmzN58uRstNFGBU8MAAAAALyRiW8BAAAA4HV27bXX5o477sipp56aJLVg9c4778yRRx5Zd+3qceGvfvWrvO1tb0uSnHnmmeno6MgPfvCDNDc3Z5999nnFz73qqquy6667Jkmee+65nHjiiWlra0u/fv3S1taWJJkxY0aOOOKIfPjDH86hhx6aTTfdNJtsskndfTbbbLM89NBDdWOzZ8/OYYcdljvuuCPNzc0ZPXp0Bg4cmNGjR9dd99LTW1cPeFf51Kc+lS9/+cvZe++988ILL7zic5UYN25cHnjggVx88cXd5u6///4888wz2XvvvfP444/XRcyVSiUbbLBBnnnmmSQrI9729vZssskmtd9bkjQ3N2f8+PF1YfE+++yTk08+uW5szJgxWb58eY9rvOSSS9LZ2ZlLL700SfLII49kwIABSZKtt9461Wo1xxxzTC677LJssMEGr/jMTU1Ndf9bor29Pe973/vy9a9/fY3XTJkyJTfffHPxPddWe3t7Zs6cmeHDh9di8QceeCCVSiXJyvj3uuuu6/Fk2/b29jQ2Ntb+rPp9NTY2ZvHixVm+fHlaWloyZ86cvPjii9lkk02yxRZbdLtPc3NzFixYkGuuuSYDBw5c41r32GOPNDQ0dBs/6qij8uc//zlHH310rrjiitpzAAAAAABvTuJbAAAAAHidPfjgg3nuuee6je+222657bbb0tramp/97Ge56aabMnny5NrJtf369UuSTJw4MTNmzMgll1ySLbfcMkly2223pVevXmlqasqTTz6Z/fffP5deemmGDBmSrq6udHR0pHfv3kmSJ598Ms3NzbnsssvqPn/evHmZMWNG9t1332y99dZ1c48//ngqlUq222672tjy5cvrgsgkWbZsWRobG1OpVNLZ2ZmlS5fWru/du3dd1FqpVGqn/E6fPj177rlnWlpa8sc//jFbbbVVkpXh6Kp4tLOzM11dXWsdMt544435/e9/n+uvv762h6ubOnVqtt9++2y99db50Ic+lNbW1to6Vz3XrFmzamtob2/PxRdfnL333rt2j6ampjQ3N6dXr151937pWENDQ48n0VYqlfzhD3/IxIkTk6yMlO+7776ceeaZtb274IILMmLEiNx44435xCc+Uff+sWPH5uqrr+7x+Xs6Hfbaa6/Nzjvv3G28sbExM2bMyF133dXjvZJk8eLFecc73rHG+ddqxowZWbp0af7t3/6tbl2rItdV+7fq+7y6s88+O1dddVUaGhpSrVaz0047ZYcddsjIkSPzgx/8oPb7/OpXv5pHH300X/va1/LpT3+6231W/f6POOKIl42Xly5d2uN8S0tLzjnnnHzpS1/KhAkTcvrpp6/FDgAAAAAAbzTiWwAAAAB4nc2ZMydLlizJpEmTkqw88XTzzTfP5z73uVpY2tLSkqampmy44YZ1750yZUomT56cs846K4MHD86kSZPy2c9+NhtvvHHtmtXvsSr8XD1UPOecc3LnnXd2i0BXhbRf+cpXugWFlUolbW1tmTFjRm3syCOPzN1331133R577FH3+j//8z9rP99www21aPP+++/PEUcckXHjxiVJfv3rX+fRRx/Ne9/73iTJsGHDau875phjaj+PGDEi5557bkp1dHTknHPOyXnnnddjeDt//vzccMMNec973pNNN9009913X938aaedlkql8oqfuSrWLNHTtavC2S222CJz5szJU089leeffz79+/fPnDlzatedd955eetb35oHHngg2223Xe0E3JaWlgwcODBXXXVV7drf//73GTt2bH73u9/Vxp544omMHDlyjQFze3t7dtxxx25x7+r++7//O3/729+Kn3dtVKvVXHzxxXnnO9+Zt7/97XnyySfT2NiY5cuXZ8mSJXnqqaeyYMGCJMmzzz5bC8lXnRA8duzYnH766Xn00Udz1FFH5fbbb097e3taW1tz+OGH5z/+4z/S1NSU0047LR/+8Ifz1re+tcd1dHR0JElGjhzZ4/dmlXHjxtWufamGhoZMmDAhw4YNy6c//elsv/32r2VrAAAAAID1mPgWAAAAAF5nDzzwQNra2jJz5swkye23355tttkmI0aMSENDQ1pbW9PR0ZFKpVI7ObarqyvLli3LoYcempaWlhx++OH57ne/m8mTJ2e33XbLkCFDij//wgsv7HH8r3/9a/bbb79cfvnlRaFgr169MmrUqBx//PGZPXt2DjvssNx///1pbm7O6NGjM3DgwIwePTpPPPFE9t1337oTYJ944olsscUWtdNMDzzwwIwfPz4rVqzIvvvuW4tyhw0bljPOOCPvf//7U6lUejw19uXcdNNNGThwYLcoeJXvfe97dTHsD3/4w3zve9+rve7q6kqSTJ8+vTZ29NFH56tf/WrdfRoaGnL66afXTqpNVoasLx3r7OysC4tX+c///M8sXrw4I0aMSEtLSzo6OtLc3JxRo0Z1u7ZarWbFihW57rrrajFzY2NjmpqaMnDgwNp1q4Ls1cdWrFhRu351y5YtS69evXLwwQdn7ty53T5zdR/5yEfylre8pbaOVQHw38OVV16ZRx55pBZhf+lLX8ojjzySJPnd736XKVOm1K496qijkiQHHHBAvvvd7yZJXVRcrVYza9aszJ07N+9+97uzcOHCLFiwILvuumuSlb/bl8btHR0dqVar6du3b77zne+84nrPOeecbL/99rUAt6W
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"feature_importance = pd.DataFrame()\n",
"feature_importance['fea_name'] = feature_cols\n",
"feature_importance['fea_imp'] = gbm.feature_importance(importance_type='split')\n",
"feature_importance = feature_importance.sort_values('fea_imp', ascending=False)\n",
"\n",
"plt.figure(figsize=[28, 16])\n",
"ax = sns.barplot(x=feature_importance['fea_name'], y=feature_importance['fea_imp'])\n",
"ax.set_xticklabels(labels=feature_importance['fea_name'], rotation=45, fontsize=14)\n",
"ax.yaxis.set_major_locator(ticker.MultipleLocator(1000))\n",
"plt.title('特征重要性(使用发电量、供热量)')\n",
"plt.xlabel('fea_name', fontsize=18)\n",
"plt.ylabel('fea_imp', fontsize=18)\n",
"plt.tight_layout()\n",
"plt.savefig('./figure/电厂建模特征重要性1.png')"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 29,
"outputs": [
{
"data": {
"text/plain": " fea_name fea_imp\n28 发电量(万千瓦时) 5672\n27 供热量(吉焦) 5377\n30 week_of_years 3692\n31 c_SO2 2660\n17 c_NO2 2447\n8 flow 2336\n24 c_smoke 2320\n2 燃料类型_褐煤 387\n6 压力参数_高压 321\n9 num_workers 151\n5 day_of_week_1 133\n0 day_of_week_5 62\n7 day_of_week_4 59\n10 额定蒸发量 58\n4 day_of_week_7 26\n20 day_of_week_6 23\n16 day_of_week_3 22\n26 day_of_week_2 20\n12 冷却方式_水冷-闭式循环 4\n3 燃料类型_低挥发分烟煤 3\n11 低位发热量GJ/t 2\n19 压力参数_超临界 0\n18 压力参数_超超临界 0\n21 压力参数_亚临界 0\n13 汽轮机类型_抽凝式 0\n23 冷却方式_空冷-直接空冷 0\n25 生产设备类型_煤粉锅炉 0\n1 燃料类型_一般烟煤 0\n15 燃料类型_中高挥发分烟煤 0\n14 汽轮机类型_背压式 0\n29 总容量 0\n22 生产设备类型_高温高压循环流化床锅炉 0",
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>fea_name</th>\n <th>fea_imp</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>28</th>\n <td>发电量(万千瓦时)</td>\n <td>5672</td>\n </tr>\n <tr>\n <th>27</th>\n <td>供热量(吉焦)</td>\n <td>5377</td>\n </tr>\n <tr>\n <th>30</th>\n <td>week_of_years</td>\n <td>3692</td>\n </tr>\n <tr>\n <th>31</th>\n <td>c_SO2</td>\n <td>2660</td>\n </tr>\n <tr>\n <th>17</th>\n <td>c_NO2</td>\n <td>2447</td>\n </tr>\n <tr>\n <th>8</th>\n <td>flow</td>\n <td>2336</td>\n </tr>\n <tr>\n <th>24</th>\n <td>c_smoke</td>\n <td>2320</td>\n </tr>\n <tr>\n <th>2</th>\n <td>燃料类型_褐煤</td>\n <td>387</td>\n </tr>\n <tr>\n <th>6</th>\n <td>压力参数_高压</td>\n <td>321</td>\n </tr>\n <tr>\n <th>9</th>\n <td>num_workers</td>\n <td>151</td>\n </tr>\n <tr>\n <th>5</th>\n <td>day_of_week_1</td>\n <td>133</td>\n </tr>\n <tr>\n <th>0</th>\n <td>day_of_week_5</td>\n <td>62</td>\n </tr>\n <tr>\n <th>7</th>\n <td>day_of_week_4</td>\n <td>59</td>\n </tr>\n <tr>\n <th>10</th>\n <td>额定蒸发量</td>\n <td>58</td>\n </tr>\n <tr>\n <th>4</th>\n <td>day_of_week_7</td>\n <td>26</td>\n </tr>\n <tr>\n <th>20</th>\n <td>day_of_week_6</td>\n <td>23</td>\n </tr>\n <tr>\n <th>16</th>\n <td>day_of_week_3</td>\n <td>22</td>\n </tr>\n <tr>\n <th>26</th>\n <td>day_of_week_2</td>\n <td>20</td>\n </tr>\n <tr>\n <th>12</th>\n <td>冷却方式_水冷-闭式循环</td>\n <td>4</td>\n </tr>\n <tr>\n <th>3</th>\n <td>燃料类型_低挥发分烟煤</td>\n <td>3</td>\n </tr>\n <tr>\n <th>11</th>\n <td>低位发热量GJ/t</td>\n <td>2</td>\n </tr>\n <tr>\n <th>19</th>\n <td>压力参数_超临界</td>\n <td>0</td>\n </tr>\n <tr>\n <th>18</th>\n <td>压力参数_超超临界</td>\n <td>0</td>\n </tr>\n <tr>\n <th>21</th>\n <td>压力参数_亚临界</td>\n <td>0</td>\n </tr>\n <tr>\n <th>13</th>\n <td>汽轮机类型_抽凝式</td>\n <td>0</td>\n </tr>\n <tr>\n <th>23</th>\n <td>冷却方式_空冷-直接空冷</td>\n <td>0</td>\n </tr>\n <tr>\n <th>25</th>\n <td>生产设备类型_煤粉锅炉</td>\n <td>0</td>\n </tr>\n <tr>\n <th>1</th>\n <td>燃料类型_一般烟煤</td>\n <td>0</td>\n </tr>\n <tr>\n <th>15</th>\n <td>燃料类型_中高挥发分烟煤</td>\n <td>0</td>\n </tr>\n <tr>\n <th>14</th>\n <td>汽轮机类型_背压式</td>\n <td>0</td>\n </tr>\n <tr>\n <th>29</th>\n <td>总容量</td>\n <td>0</td>\n </tr>\n <tr>\n <th>22</th>\n <td>生产设备类型_高温高压循环流化床锅炉</td>\n <td>0</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"feature_importance"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 29,
2022-10-25 15:11:12 +08:00
"outputs": [],
"source": [],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 0
}