我应该如何将逻辑回归的系数转换为行动策略?

数据挖掘 机器学习 分类 Python 预测建模 scikit-学习
2022-02-16 10:22:23

我正在尝试分析足球的数据集:

W_OVER_2_5  PREDICTED MATCH_DATE LEAGUE HOME AWAY MATCH_HOME MATCH_DRAW MATCH_AWAY  MATCH_U2_50 MATCH_O2_50
0            0        1105135200    5   260  289    2.05        3.00        4.50        1.65       2.30
0            1        1105308000    16  715  700    2.50        3.30        3.05        1.80       2.14
1            1        1105308000    11  445  479    1.36        5.25       12.00        2.15       1.78
0            1        1105308000    11  453  474    3.00        3.35        2.62        1.75       2.20....

现在,我选择了“最佳估计者”——

LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,
          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,
          penalty='l1', random_state=None, solver='liblinear', tol=0.0001,
          verbose=1, warm_start=False)

用最好的coefs -

1. -2.40477246e-10  
2. -5.57611571e-02  
3. -1.32010761e-04   
4.  1.51666398e-03
5.  7.54521399e-02   
6.  6.38889247e-02  
7. -2.25746953e-01  
8. -3.79313902e-01
9.  3.70514297e-02

现在,我有一个问题——我应该如何从实际策略的角度来理解 coefs?例如,

If `MATCH_HOME` is min among all [`MATCH_HOME`, `MATCH_DRAW`, `MATCH_WAY`] AND `MATCH_O2_50' = 1 
THEN PREDICTED := 1
ELSE PREDICTED := 0

PS。我将非常感谢有关该主题的任何科学论文:)

1个回答

要了解系数,您只需要了解您拟合的逻辑回归模型如何使用系数进行预测。不,它不像决策树那样工作。这是一个线性模型。

实际上,预测是基于系数的点积和一些新实例的值来预测的。这只是他们产品的总和。点积越高,预测越积极。

因此,您可以将其理解为计算类似的东西-2.40477246e-10 * MATCH_HOME + -5.57611571e-02 * MATCH_AWAY + ...(我不知道模型中的哪些系数与哪些特征有关。)

这通常意味着具有较大系数的输入更重要,具有正系数的输入与正预测正相关。这就是您可以在这里解释的大部分内容。

但是,只有当输入已经标准化为相同的规模时,这些结论中的第一个才是真正有效的。我不清楚你是否在这里做到了。如果您打算以这种方式解释系数,通常还应该使用 L1 正则化。