资金流入流出预测—模型训练

模型训练与验证

  • 训练及预测流程
    在这里插入图片描述

  • 数据集的划分

    • 无时序的数据集:简单划分、交叉验证划分
    • 有时序的数据集:需考虑时序,nested交叉验证划分
       
      在这里插入图片描述
  • 模型选择

    • 依据在验证集上的效果选择
    • 除了关注效果的均值,还要关注稳健性
    • 还需考虑线上效果,可将线上效果视为一折数据
  • 多元回归
    Y = f ( X 1 , X 2 , . . . , X n ) + ε Y = f(X_1,X_2,...,X_n)+\varepsilon Y=f(X1,X2,...,Xn)+ε

  • 常用的回归模型

    • 线性回归
      • Y = β 0 + β 1 X 1 + β 2 X 2 + . . . + β n X n + ε Y = \beta_0+\beta_1X_1+\beta_2X_2+...+\beta_nX_n+\varepsilon Y=β0+β1X1+β2X2+...+βnXn+ε
      • 可采用最小二乘或梯度下降等方法估计
      • 当变量较多时,建议考虑添加 LASSO (L1 正则化) 等惩罚项
      • 使用 sklearn 调用线性回归
        #从sklearn算法库中导入线性回归模型算法
        from sklearn.linear_model import LinearRegression, Lasso
        from sklearn.datasets import load_diabetes
        from sklearn.metrics import mean_squared_error
        data = load_diabetes()
        clf_lr = LinearRegression()
        clf_lr.fit(data['data'][:300],data['target'][:300])
        clf_lr.coef_
        pred_lr = clf_lr.predict(data['data'][300:])
        mse_lr = mean_squared_error(data['target'][300:],pred_lr)
        clf_lasso = Lasso(alpha=0.1)
        clf_lasso.fit(data['data'][:300],data['target'][:300])
        clf_lasso.coef_
        pred_lasso = clf_lasso.predict(data['data'][300:])
        mse_lasso = mean_squared_error(data['target'][300:],pred_lasso)
        
    • 决策树
      • 为每个变量选择切分点,将变量作为节点分裂
      • 在分裂后,依据相应分支内所有样本的因变量均值作为估计,并评估拟合误差
        在这里插入图片描述
      • 使用sklearn调用决策树回归
        #从sklearn算法库中导入决策树回归
        from sklearn.tree import DecisionTreeRegressor
        from sklearn.datasets import load_diabetes
        from sklearn.metrics import mean_squared_error
        data = load_diabetes()
        clf_dt = DecisionTreeRegressor()
        clf_dt.fit(data['data'][:300],data['target'][:300])
        pred_dt = clf_dt.predict(data['data'][300:])
        mse_dt = mean_squared_error(data['target'][300:],pred_dt)
        
    • 随机森林
    • 梯度提升树:Gradient Boosting Tree、Xgboost、LightGBM、Catboost
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值