绿色计算机大赛

随便写的随机森林,骗了600+分,其实肉眼看了一下,这代码很辣鸡(导致预测结果也很辣鸡。。。

#-*-coding:utf-8-*-  
import pandas as pd
import numpy as np
from numpy import *
from sklearn.ensemble import RandomForestRegressor

# 预测结果文件:src/step1/ground_truth/test_prediction.csv
def getPrediction():
    #********* Begin *********#
    train = pd.read_csv("src/step1/input/train.csv")
    test = pd.read_csv("src/step1/input/test.csv")
    test2 = test
    # 随机版本
    df = test[['ID']]
    
    test2.insert(1, 'TARGET', 0)
    known = train[['TARGET','imp_op_var39_comer_ult3','imp_op_var40_ult1',
                   'imp_op_var41_ult1','ind_var1_0','ind_var5','ind_var12_0','ind_var13_largo_0',
                   'ind_var14_0','ind_var18','ind_var24','ind_var25_0','ind_var27','ind_var31_0',
                   'ind_var33_0','ind_var37_0','ind_var41_0','ind_var46_0','num_var5_0','num_var8',
                   'num_var13_corto','num_var13','num_var18_0','num_var24','num_op_var40_hace2',
                   'num_op_var41_hace3','num_op_var39_ult1','num_var27','num_var31_0','num_var33','num_var37_0',
                   'num_var41_0','num_var44_0','saldo_var5','saldo_var13_largo','saldo_var18','saldo_var28',
                   'saldo_var32','saldo_var41','delta_imp_amort_var18_1y3','delta_imp_compra_var44_1y3',
                   'delta_imp_trasp_var17_out_1y3','delta_num_aport_var17_1y3','delta_num_reemb_var33_1y3',
                   'delta_num_venta_var44_1y3','imp_aport_var13_hace3','imp_aport_var33_ult1','imp_reemb_var13_hace3',
                   'imp_reemb_var33_ult1','imp_trasp_var17_out_hace3','imp_trasp_var33_out_ult1','ind_var10_ult1',
                   'ind_var43_recib_ult1','num_aport_var13_ult1','num_var7_emit_ult1','num_var22_hace2',
                   'num_med_var45_ult3','num_meses_var13_largo_ult3','num_meses_var39_vig_ult3',
                   'num_op_var40_comer_ult3','num_op_var41_efect_ult1','num_reemb_var13_ult1',
                   'num_sal_var16_ult1','num_trasp_var17_in_ult1','num_trasp_var33_out_hace3','num_var45_hace3',
                   'saldo_medio_var5_hace3','saldo_medio_var8_ult1','saldo_medio_var12_ult3','saldo_medio_var13_largo_hace2',
                   'saldo_medio_var13_medio_hace3','saldo_medio_var17_ult1','saldo_medio_var29_ult3','saldo_medio_var44_hace2'
                   ]]
    known2 = test2[['TARGET','imp_op_var39_comer_ult3','imp_op_var40_ult1',
                   'imp_op_var41_ult1','ind_var1_0','ind_var5','ind_var12_0','ind_var13_largo_0',
                   'ind_var14_0','ind_var18','ind_var24','ind_var25_0','ind_var27','ind_var31_0',
                   'ind_var33_0','ind_var37_0','ind_var41_0','ind_var46_0','num_var5_0','num_var8',
                   'num_var13_corto','num_var13','num_var18_0','num_var24','num_op_var40_hace2',
                   'num_op_var41_hace3','num_op_var39_ult1','num_var27','num_var31_0','num_var33','num_var37_0',
                   'num_var41_0','num_var44_0','saldo_var5','saldo_var13_largo','saldo_var18','saldo_var28',
                   'saldo_var32','saldo_var41','delta_imp_amort_var18_1y3','delta_imp_compra_var44_1y3',
                   'delta_imp_trasp_var17_out_1y3','delta_num_aport_var17_1y3','delta_num_reemb_var33_1y3',
                   'delta_num_venta_var44_1y3','imp_aport_var13_hace3','imp_aport_var33_ult1','imp_reemb_var13_hace3',
                   'imp_reemb_var33_ult1','imp_trasp_var17_out_hace3','imp_trasp_var33_out_ult1','ind_var10_ult1',
                   'ind_var43_recib_ult1','num_aport_var13_ult1','num_var7_emit_ult1','num_var22_hace2',
                   'num_med_var45_ult3','num_meses_var13_largo_ult3','num_meses_var39_vig_ult3',
                   'num_op_var40_comer_ult3','num_op_var41_efect_ult1','num_reemb_var13_ult1',
                   'num_sal_var16_ult1','num_trasp_var17_in_ult1','num_trasp_var33_out_hace3','num_var45_hace3',
                   'saldo_medio_var5_hace3','saldo_medio_var8_ult1','saldo_medio_var12_ult3','saldo_medio_var13_largo_hace2',
                   'saldo_medio_var13_medio_hace3','saldo_medio_var17_ult1','saldo_medio_var29_ult3','saldo_medio_var44_hace2'
                    ]]
    #return 0
    known = known.values #把提取出来的内容单独放在一个known中
    known2 = known2.values
    X = known[:, 1:]#通过known推测出的为y
    y = known[:, 0]

    rfr = RandomForestRegressor(random_state=0, n_estimators=3500, n_jobs=-1) 
    rfr.fit(X, y) #从原先的内容建立起随机森林
    predictedAges = rfr.predict(known2[:, 1:])#用已有的随机森林去预测
    df.insert(1, 'TARGET', predictedAges)

    df.to_csv("src/step1/ground_truth/test_prediction.csv", index=False)
    #********* End *********#

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值