threelayer_rf.py 文件源码

python
阅读 29 收藏 0 点赞 0 评论 0

项目:taxi 作者: xuguanggen 项目源码 文件源码
def run(result_csv_path):
    train_x,train_y = load_data(train_csv_path,True)
    test_x = load_data(test_csv_path,False)
    print('load data successfully.........')

    print('layer 1 train..........')
    layer1_rf = RandomForestRegressor(
            n_estimators = 2500,
            max_features = 0.8,
            bootstrap = False,
            max_depth = 15,
            n_jobs = -1
            )
    layer1_rf.fit(train_x,train_y)
    ################# save model##################
    joblib.dump(layer1_rf,'weights/layer1_'+Model_Name+'.m')

    #layer1_rf = joblib.load('weights/layer1_'+Model_Name+'.m')
    tr_pred = layer1_rf.predict(train_x)
    train_x = feature_engineer(layer1_rf,train_x,tr_pred)

    te_pred = layer1_rf.predict(test_x)
    test_x = feature_engineer(layer1_rf,test_x,te_pred)

    print('layer 2 train ............')
    layer2_rf = RandomForestRegressor(
            n_jobs = -1,
            n_estimators = 800, #[600]
            max_features = 'sqrt',
            max_depth = 20,
            bootstrap = False
            )
    layer2_rf.fit(train_x,train_y)
    joblib.dump(layer2_rf,'weights/layer2_'+Model_Name+'.m')

    tr_pred = layer2_rf.predict(train_x)
    train_x = feature_engineer(layer2_rf,train_x,tr_pred)
    te_pred = layer2_rf.predict(test_x)
    test_x = feature_engineer(layer2_rf,test_x,te_pred)

    print('layer 3 train ..............')
    layer3_rf = RandomForestRegressor(
            n_jobs = -1,
            n_estimators = 600, #[500]
            max_features = 'sqrt',
            max_depth = 20,
            bootstrap = False
            )
    layer3_rf.fit(train_x,train_y)
    joblib.dump(layer3_rf,'weights/layer3_'+Model_Name+'.m')
    y_pred = layer3_rf.predict(test_x)
    ############ save_results ########################
    save_results(result_csv_path,y_pred)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号