在实现逻辑回归模型时包括特征

Posted

技术标签:

【中文标题】在实现逻辑回归模型时包括特征【英文标题】:Including features when implementing a logistic regression model 【发布时间】:2021-03-07 21:21:36 【问题描述】:

在某些情况下,我正在尝试进行一些匹配以查看该公司是否与另一家公司匹配。我已经对名称匹配、地址匹配、域匹配等数据进行了特征工程......

从那里,我还创建了另一个功能,该功能基于一种方法,其中包含名称匹配、地址匹配和域匹配的组合,并根据我认为在确定时更重要的直觉来设置它们的权重一场比赛。让我们将此功能称为“最终得分”。这个分数让我可以粗略估计这些是否匹配。

现在是我实现逻辑回归的部分。我尝试使用我设计的没有“最终分数”和“最终分数”的功能构建逻辑回归,结果非常相似。

注意:我确实检查了功能的重要性,它非常重要。

我的问题是,在训练模型时,将“最终得分”作为逻辑回归模型的特征包含在内是一种好的做法吗?

【问题讨论】:

你考虑过做k-nearest吗? 【参考方案1】:

通常,您不希望线性和逻辑回归类型模型中的高度相关特征。它对性能没有影响,但会影响对模型的解释。

这个问题被称为Multicollinearity,是由于参数(系数)的不稳定(高方差)估计引起的。

您可以查看此answer 以了解其原因。

我可以提供一个直观的例子,它可能会引起麻烦:

Y = P(scoring a goal by football player in a match)
Feature vector = [weight, height] # height and weight are highly correlated

那么学习的模型可能是:

log(P(goal)/P(1-goal)) =  0.55*weight- 0.12*height + bias

# how would you interpret the negative coefficient of height now?

有ways(正则化)来处理这个问题,还有situations 可以安全地使用这些相关特征。

【讨论】:

对,我完全忘记了这个概念。这现在很清楚了。感谢您的帮助!

以上是关于在实现逻辑回归模型时包括特征的主要内容,如果未能解决你的问题,请参考以下文章

逻辑回归模型(Logistic Regression)及Python实现

在 scikit learn 中训练具有不同特征维度的逻辑回归模型

R语言广义线性模型函数GLMglm函数构建逻辑回归模型(Logistic regression)使用卡方检验验证两个逻辑回归模型是否具有显著性(即删除无用特征后的模型和原始模型是否具有明显差异)

使用逻辑回归进行特征选择

如何将从逻辑回归模型获得的系数映射到pyspark中的特征名称

逻辑回归模型