diff --git a/handler.py b/handler.py index 75d9e86..243cbc0 100644 --- a/handler.py +++ b/handler.py @@ -24,7 +24,8 @@ '规模以上工业企业单位数6','规模以上工业企业单位数7','规模以上工业企业单位数8','规模以上工业企业单位数9','规模以上工业企业单位数10'] df = df[conf_str] + # 将columns转变为list [0,1,2,...,59] + df.columns = pd.Series(list(range(len(conf_str)))) model = joblib.load('xgboost_model.model') result = model.predict(df) - return {'res': result.tolist()[0]} - \ No newline at end of file + return {'res': result.tolist()[0]} \ No newline at end of file diff --git a/撤县设区.ipynb b/撤县设区.ipynb index c044bc5..cea72d7 100644 --- a/撤县设区.ipynb +++ b/撤县设区.ipynb @@ -909,7 +909,7 @@ "\n", "`SVM` 支持向量积\n", "\n", - "`xgboost` XGBoost" + "`xgboost` XGBoost本质上还是一个GBDT,但是力争把速度和效率发挥到极致,所以叫X (Extreme) GBoosted" ] }, { @@ -1232,313 +1232,14 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - " 行政区域面积1:\n", - " name: 行政区域面积1\n", - " value_type: float\n", - " description: 县(市)改区前1年行政区域面积(平方公里)\n", - " default: 123\n", - " 行政区域面积2:\n", - " name: 行政区域面积2\n", - " value_type: float\n", - " description: 县(市)改区前2年行政区域面积(平方公里)\n", - " default: 123\n", - " 行政区域面积3:\n", - " name: 行政区域面积3\n", - " value_type: float\n", - " description: 县(市)改区前3年行政区域面积(平方公里)\n", - " default: 123\n", - " 行政区域面积4:\n", - " name: 行政区域面积4\n", - " value_type: float\n", - " description: 县(市)改区前4年行政区域面积(平方公里)\n", - " default: 123\n", - " 行政区域面积5:\n", - " name: 行政区域面积5\n", - " value_type: float\n", - " description: 县(市)改区前5年行政区域面积(平方公里)\n", - " default: 123\n", - " 行政区域面积6:\n", - " name: 行政区域面积6\n", - " value_type: float\n", - " description: 县(市)改区前6年行政区域面积(平方公里)\n", - " default: 123\n", - " 行政区域面积7:\n", - " name: 行政区域面积7\n", - " value_type: float\n", - " description: 县(市)改区前7年行政区域面积(平方公里)\n", - " default: 123\n", - " 行政区域面积8:\n", - " name: 行政区域面积8\n", - " value_type: float\n", - " description: 县(市)改区前8年行政区域面积(平方公里)\n", - " default: 123\n", - " 行政区域面积9:\n", - " name: 行政区域面积9\n", - " value_type: float\n", - " description: 县(市)改区前9年行政区域面积(平方公里)\n", - " default: 123\n", - " 行政区域面积10:\n", - " name: 行政区域面积10\n", - " value_type: float\n", - " description: 县(市)改区前10年行政区域面积(平方公里)\n", - " default: 123\n", - " 第一产业增加值1:\n", - " name: 第一产业增加值1\n", - " value_type: float\n", - " description: 县(市)改区前1年第一产业增加值(万元)\n", - " default: 123\n", - " 第一产业增加值2:\n", - " name: 第一产业增加值2\n", - " value_type: float\n", - " description: 县(市)改区前2年第一产业增加值(万元)\n", - " default: 123\n", - " 第一产业增加值3:\n", - " name: 第一产业增加值3\n", - " value_type: float\n", - " description: 县(市)改区前3年第一产业增加值(万元)\n", - " default: 123\n", - " 第一产业增加值4:\n", - " name: 第一产业增加值4\n", - " value_type: float\n", - " description: 县(市)改区前4年第一产业增加值(万元)\n", - " default: 123\n", - " 第一产业增加值5:\n", - " name: 第一产业增加值5\n", - " value_type: float\n", - " description: 县(市)改区前5年第一产业增加值(万元)\n", - " default: 123\n", - " 第一产业增加值6:\n", - " name: 第一产业增加值6\n", - " value_type: float\n", - " description: 县(市)改区前6年第一产业增加值(万元)\n", - " default: 123\n", - " 第一产业增加值7:\n", - " name: 第一产业增加值7\n", - " value_type: float\n", - " description: 县(市)改区前7年第一产业增加值(万元)\n", - " default: 123\n", - " 第一产业增加值8:\n", - " name: 第一产业增加值8\n", - " value_type: float\n", - " description: 县(市)改区前8年第一产业增加值(万元)\n", - " default: 123\n", - " 第一产业增加值9:\n", - " name: 第一产业增加值9\n", - " value_type: float\n", - " description: 县(市)改区前9年第一产业增加值(万元)\n", - " default: 123\n", - " 第一产业增加值10:\n", - " name: 第一产业增加值10\n", - " value_type: float\n", - " description: 县(市)改区前10年第一产业增加值(万元)\n", - " default: 123\n", - " 第二产业增加值1:\n", - " name: 第二产业增加值1\n", - " value_type: float\n", - " description: 县(市)改区前1年第二产业增加值(万元)\n", - " default: 123\n", - " 第二产业增加值2:\n", - " name: 第二产业增加值2\n", - " value_type: float\n", - " description: 县(市)改区前2年第二产业增加值(万元)\n", - " default: 123\n", - " 第二产业增加值3:\n", - " name: 第二产业增加值3\n", - " value_type: float\n", - " description: 县(市)改区前3年第二产业增加值(万元)\n", - " default: 123\n", - " 第二产业增加值4:\n", - " name: 第二产业增加值4\n", - " value_type: float\n", - " description: 县(市)改区前4年第二产业增加值(万元)\n", - " default: 123\n", - " 第二产业增加值5:\n", - " name: 第二产业增加值5\n", - " value_type: float\n", - " description: 县(市)改区前5年第二产业增加值(万元)\n", - " default: 123\n", - " 第二产业增加值6:\n", - " name: 第二产业增加值6\n", - " value_type: float\n", - " description: 县(市)改区前6年第二产业增加值(万元)\n", - " default: 123\n", - " 第二产业增加值7:\n", - " name: 第二产业增加值7\n", - " value_type: float\n", - " description: 县(市)改区前7年第二产业增加值(万元)\n", - " default: 123\n", - " 第二产业增加值8:\n", - " name: 第二产业增加值8\n", - " value_type: float\n", - " description: 县(市)改区前8年第二产业增加值(万元)\n", - " default: 123\n", - " 第二产业增加值9:\n", - " name: 第二产业增加值9\n", - " value_type: float\n", - " description: 县(市)改区前9年第二产业增加值(万元)\n", - " default: 123\n", - " 第二产业增加值10:\n", - " name: 第二产业增加值10\n", - " value_type: float\n", - " description: 县(市)改区前10年第二产业增加值(万元)\n", - " default: 123\n", - " 居民储蓄存款余额1:\n", - " name: 居民储蓄存款余额1\n", - " value_type: float\n", - " description: 县(市)改区前1年居民储蓄存款余额(万元)\n", - " default: 123\n", - " 居民储蓄存款余额2:\n", - " name: 居民储蓄存款余额2\n", - " value_type: float\n", - " description: 县(市)改区前2年居民储蓄存款余额(万元)\n", - " default: 123\n", - " 居民储蓄存款余额3:\n", - " name: 居民储蓄存款余额3\n", - " value_type: float\n", - " description: 县(市)改区前3年居民储蓄存款余额(万元)\n", - " default: 123\n", - " 居民储蓄存款余额4:\n", - " name: 居民储蓄存款余额4\n", - " value_type: float\n", - " description: 县(市)改区前4年居民储蓄存款余额(万元)\n", - " default: 123\n", - " 居民储蓄存款余额5:\n", - " name: 居民储蓄存款余额5\n", - " value_type: float\n", - " description: 县(市)改区前5年居民储蓄存款余额(万元)\n", - " default: 123\n", - " 居民储蓄存款余额6:\n", - " name: 居民储蓄存款余额6\n", - " value_type: float\n", - " description: 县(市)改区前6年居民储蓄存款余额(万元)\n", - " default: 123\n", - " 居民储蓄存款余额7:\n", - " name: 居民储蓄存款余额7\n", - " value_type: float\n", - " description: 县(市)改区前7年居民储蓄存款余额(万元)\n", - " default: 123\n", - " 居民储蓄存款余额8:\n", - " name: 居民储蓄存款余额8\n", - " value_type: float\n", - " description: 县(市)改区前8年居民储蓄存款余额(万元)\n", - " default: 123\n", - " 居民储蓄存款余额9:\n", - " name: 居民储蓄存款余额9\n", - " value_type: float\n", - " description: 县(市)改区前9年居民储蓄存款余额(万元)\n", - " default: 123\n", - " 居民储蓄存款余额10:\n", - " name: 居民储蓄存款余额10\n", - " value_type: float\n", - " description: 县(市)改区前10年居民储蓄存款余额(万元)\n", - " default: 123\n", - " 年末金融机构各项贷款余额1:\n", - " name: 年末金融机构各项贷款余额1\n", - " value_type: float\n", - " description: 县(市)改区前1年年末金融机构各项贷款余额(万元)\n", - " default: 123\n", - " 年末金融机构各项贷款余额2:\n", - " name: 年末金融机构各项贷款余额2\n", - " value_type: float\n", - " description: 县(市)改区前2年年末金融机构各项贷款余额(万元)\n", - " default: 123\n", - " 年末金融机构各项贷款余额3:\n", - " name: 年末金融机构各项贷款余额3\n", - " value_type: float\n", - " description: 县(市)改区前3年年末金融机构各项贷款余额(万元)\n", - " default: 123\n", - " 年末金融机构各项贷款余额4:\n", - " name: 年末金融机构各项贷款余额4\n", - " value_type: float\n", - " description: 县(市)改区前4年年末金融机构各项贷款余额(万元)\n", - " default: 123\n", - " 年末金融机构各项贷款余额5:\n", - " name: 年末金融机构各项贷款余额5\n", - " value_type: float\n", - " description: 县(市)改区前5年年末金融机构各项贷款余额(万元)\n", - " default: 123\n", - " 年末金融机构各项贷款余额6:\n", - " name: 年末金融机构各项贷款余额6\n", - " value_type: float\n", - " description: 县(市)改区前6年年末金融机构各项贷款余额(万元)\n", - " default: 123\n", - " 年末金融机构各项贷款余额7:\n", - " name: 年末金融机构各项贷款余额7\n", - " value_type: float\n", - " description: 县(市)改区前7年年末金融机构各项贷款余额(万元)\n", - " default: 123\n", - " 年末金融机构各项贷款余额8:\n", - " name: 年末金融机构各项贷款余额8\n", - " value_type: float\n", - " description: 县(市)改区前8年年末金融机构各项贷款余额(万元)\n", - " default: 123\n", - " 年末金融机构各项贷款余额9:\n", - " name: 年末金融机构各项贷款余额9\n", - " value_type: float\n", - " description: 县(市)改区前9年年末金融机构各项贷款余额(万元)\n", - " default: 123\n", - " 年末金融机构各项贷款余额10:\n", - " name: 年末金融机构各项贷款余额10\n", - " value_type: float\n", - " description: 县(市)改区前10年年末金融机构各项贷款余额(万元)\n", - " default: 123\n", - " 规模以上工业企业单位数1:\n", - " name: 规模以上工业企业单位数1\n", - " value_type: float\n", - " description: 县(市)改区前1年规模以上工业企业单位数(个)\n", - " default: 123\n", - " 规模以上工业企业单位数2:\n", - " name: 规模以上工业企业单位数2\n", - " value_type: float\n", - " description: 县(市)改区前2年规模以上工业企业单位数(个)\n", - " default: 123\n", - " 规模以上工业企业单位数3:\n", - " name: 规模以上工业企业单位数3\n", - " value_type: float\n", - " description: 县(市)改区前3年规模以上工业企业单位数(个)\n", - " default: 123\n", - " 规模以上工业企业单位数4:\n", - " name: 规模以上工业企业单位数4\n", - " value_type: float\n", - " description: 县(市)改区前4年规模以上工业企业单位数(个)\n", - " default: 123\n", - " 规模以上工业企业单位数5:\n", - " name: 规模以上工业企业单位数5\n", - " value_type: float\n", - " description: 县(市)改区前5年规模以上工业企业单位数(个)\n", - " default: 123\n", - " 规模以上工业企业单位数6:\n", - " name: 规模以上工业企业单位数6\n", - " value_type: float\n", - " description: 县(市)改区前6年规模以上工业企业单位数(个)\n", - " default: 123\n", - " 规模以上工业企业单位数7:\n", - " name: 规模以上工业企业单位数7\n", - " value_type: float\n", - " description: 县(市)改区前7年规模以上工业企业单位数(个)\n", - " default: 123\n", - " 规模以上工业企业单位数8:\n", - " name: 规模以上工业企业单位数8\n", - " value_type: float\n", - " description: 县(市)改区前8年规模以上工业企业单位数(个)\n", - " default: 123\n", - " 规模以上工业企业单位数9:\n", - " name: 规模以上工业企业单位数9\n", - " value_type: float\n", - " description: 县(市)改区前9年规模以上工业企业单位数(个)\n", - " default: 123\n", - " 规模以上工业企业单位数10:\n", - " name: 规模以上工业企业单位数10\n", - " value_type: float\n", - " description: 县(市)改区前10年规模以上工业企业单位数(个)\n", - " default: 123\n" + "'行政区域面积1':123,'行政区域面积2':123,'行政区域面积3':123,'行政区域面积4':123,'行政区域面积5':123,'行政区域面积6':123,'行政区域面积7':123,'行政区域面积8':123,'行政区域面积9':123,'行政区域面积10':123,'第一产业增加值1':123,'第一产业增加值2':123,'第一产业增加值3':123,'第一产业增加值4':123,'第一产业增加值5':123,'第一产业增加值6':123,'第一产业增加值7':123,'第一产业增加值8':123,'第一产业增加值9':123,'第一产业增加值10':123,'第二产业增加值1':123,'第二产业增加值2':123,'第二产业增加值3':123,'第二产业增加值4':123,'第二产业增加值5':123,'第二产业增加值6':123,'第二产业增加值7':123,'第二产业增加值8':123,'第二产业增加值9':123,'第二产业增加值10':123,'居民储蓄存款余额1':123,'居民储蓄存款余额2':123,'居民储蓄存款余额3':123,'居民储蓄存款余额4':123,'居民储蓄存款余额5':123,'居民储蓄存款余额6':123,'居民储蓄存款余额7':123,'居民储蓄存款余额8':123,'居民储蓄存款余额9':123,'居民储蓄存款余额10':123,'年末金融机构各项贷款余额1':123,'年末金融机构各项贷款余额2':123,'年末金融机构各项贷款余额3':123,'年末金融机构各项贷款余额4':123,'年末金融机构各项贷款余额5':123,'年末金融机构各项贷款余额6':123,'年末金融机构各项贷款余额7':123,'年末金融机构各项贷款余额8':123,'年末金融机构各项贷款余额9':123,'年末金融机构各项贷款余额10':123,'规模以上工业企业单位数1':123,'规模以上工业企业单位数2':123,'规模以上工业企业单位数3':123,'规模以上工业企业单位数4':123,'规模以上工业企业单位数5':123,'规模以上工业企业单位数6':123,'规模以上工业企业单位数7':123,'规模以上工业企业单位数8':123,'规模以上工业企业单位数9':123,'规模以上工业企业单位数10':123," ] } ], @@ -1551,14 +1252,17 @@ " for i in range(total_year):\n", " count += 1\n", " # 打印app_spec.yml参数\n", - " print(' %s%d:'%(str1,i+1))\n", - " print(' name: %s%d'%(str1,i+1))\n", - " print(' value_type: float')\n", - " print(' description: 县(市)改区前%d年%s(%s)'%(i+1,str1,str2))\n", - " print(' default: 123')\n", + " #print(' %s%d:'%(str1,i+1))\n", + " #print(' name: %s%d'%(str1,i+1))\n", + " #print(' value_type: float')\n", + " #print(' description: 县(市)改区前%d年%s(%s)'%(i+1,str1,str2))\n", + " #print(' default: 123')\n", " \n", - " #打印handle函数 参数\n", + " # 打印handle函数 参数\n", " #print('\\'%s%d\\','%(str1,i+1), end='')\n", + " \n", + " # 打印handle测试用输入\n", + " #print('\\'%s%d\\':123,'%(str1,i+1), end='')\n", " return count\n", "\n", "count = printParas('行政区域面积', '平方公里', count)\n", @@ -1571,9 +1275,17 @@ }, { "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'res': 'T'}\n" + ] + } + ], "source": [ "import pandas as pd\n", "import joblib\n", @@ -1601,10 +1313,11 @@ " '规模以上工业企业单位数6','规模以上工业企业单位数7','规模以上工业企业单位数8','规模以上工业企业单位数9','规模以上工业企业单位数10']\n", "\n", " df = df[conf_str]\n", + " # 将columns转变为list [0,1,2,...,59]\n", + " df.columns = pd.Series(list(range(len(conf_str))))\n", " model = joblib.load('xgboost_model.model')\n", " result = model.predict(df)\n", - " return {'res': result.tolist()[0]}\n", - " " + " return {'res': result.tolist()[0]}" ] }, { @@ -1613,7 +1326,194 @@ "source": [ "# Reference\n", "+ pandas https://pandas.pydata.org/pandas-docs/stable/index.html\n", - "+ 采用 Python 机器学习预测足球比赛结果 https://blog.csdn.net/weixin_44015907/article/details/89947334" + "+ 采用 Python 机器学习预测足球比赛结果 https://blog.csdn.net/weixin_44015907/article/details/89947334\n", + "+ 终于有人说清楚了--XGBoost算法 https://www.cnblogs.com/mantch/p/11164221.html" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
HTPATPHM1_DHM1_LHM1_WAM1_DAM1_LAM1_WHM2_DHM2_L...AM2_LAM2_WHM3_DHM3_LHM3_WAM3_DAM3_LAM3_WHTGDATGD
01111111111...1111111111
\n", + "

1 rows × 22 columns

\n", + "
" + ], + "text/plain": [ + " HTP ATP HM1_D HM1_L HM1_W AM1_D AM1_L AM1_W HM2_D HM2_L ... \\\n", + "0 1 1 1 1 1 1 1 1 1 1 ... \n", + "\n", + " AM2_L AM2_W HM3_D HM3_L HM3_W AM3_D AM3_L AM3_W HTGD ATGD \n", + "0 1 1 1 1 1 1 1 1 1 1 \n", + "\n", + "[1 rows x 22 columns]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "conf={'HTGD':1, 'ATGD':1, 'HTP':1, 'ATP':1, 'HM1_D':1, 'HM1_L':1, 'HM1_W':1, 'AM1_D':1,\n", + " 'AM1_L':1, 'AM1_W':1, 'HM2_D':1, 'HM2_L':1, 'HM2_W':1, 'AM2_D':1, 'AM2_L':1, 'AM2_W':1,\n", + " 'HM3_D':1, 'HM3_L':1, 'HM3_W':1, 'AM3_D':1, 'AM3_L':1, 'AM3_W':1}\n", + "df = pd.DataFrame(conf, index=[0])\n", + "df=df[[ 'HTP', 'ATP', 'HM1_D', 'HM1_L', 'HM1_W', 'AM1_D',\n", + " 'AM1_L', 'AM1_W', 'HM2_D', 'HM2_L', 'HM2_W', 'AM2_D', 'AM2_L', 'AM2_W',\n", + " 'HM3_D', 'HM3_L', 'HM3_W', 'AM3_D', 'AM3_L', 'AM3_W','HTGD', 'ATGD',]]\n", + "\n", + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[0,\n", + " 1,\n", + " 2,\n", + " 3,\n", + " 4,\n", + " 5,\n", + " 6,\n", + " 7,\n", + " 8,\n", + " 9,\n", + " 10,\n", + " 11,\n", + " 12,\n", + " 13,\n", + " 14,\n", + " 15,\n", + " 16,\n", + " 17,\n", + " 18,\n", + " 19,\n", + " 20,\n", + " 21,\n", + " 22,\n", + " 23,\n", + " 24,\n", + " 25,\n", + " 26,\n", + " 27,\n", + " 28,\n", + " 29,\n", + " 30,\n", + " 31,\n", + " 32,\n", + " 33,\n", + " 34,\n", + " 35,\n", + " 36,\n", + " 37,\n", + " 38,\n", + " 39,\n", + " 40,\n", + " 41,\n", + " 42,\n", + " 43,\n", + " 44,\n", + " 45,\n", + " 46,\n", + " 47,\n", + " 48,\n", + " 49,\n", + " 50,\n", + " 51,\n", + " 52,\n", + " 53,\n", + " 54,\n", + " 55,\n", + " 56,\n", + " 57,\n", + " 58,\n", + " 59]" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list1 = list(range(60))\n", + "list1" ] }, {